Per-map customizable springs
By Ashnal

A level header soc can now include Lua variables listed here to affect the strength of springs on a per map basis
The default values are this, and they are in FRACUNITs, you can put this list at the bottom of your level header (without the -- Lua comment) and change the values to whatever you want
Lua.grehori_vforce = 0
Lua.grehori_hforce = 14
Lua.grediag_vforce = 12
Lua.grediag_hforce = 12
Lua.gresprg_vforce = 12
Lua.gresprg_hforce = 0
Lua.yelhori_vforce = 0
Lua.yelhori_hforce = 23
Lua.yeldiag_vforce = 20
Lua.yeldiag_hforce = 20
Lua.yelsprg_vforce = 20
Lua.yelsprg_hforce = 0
Lua.redhori_vforce = 0
Lua.redhori_hforce = 36
Lua.reddiag_vforce = 32
Lua.reddiag_hforce = 32
Lua.redsprg_vforce = 32
Lua.redsprg_hforce = 0
Lua.bluhori_vforce = 0
Lua.bluhori_hforce = 56
Lua.bludiag_vforce = 42
Lua.bludiag_hforce = 42
Lua.blusprg_vforce = 42
Lua.blusprg_hforce = 0

Springs now reduce player friction for a short time after being hit, which makes karts retain more of the momentum for longer after hitting it

Marking a spring with the Ambush flag will have it force the colliding things angle int eh springs direction (including verticals' angles)
Marking a spring with the Special flag will have it cancel momentum not in its direction ... 
  so for verticals it causes a straight up bounce,
  and for horizontals it causes falling or rising momentum to be reset to 0 