1) got rid of evey class having it's own gravity
2) rigidshape inheritance simplifications
3) gravitymod from physicszones taking buoyancy into account natively (we still track raw bouyancy to cancel it out for player)
4) disableMove used throughout
5) items can now also be influenced by the appliedforce from physicszones
Makes vehicles create a basic physics body when using one of the physics plugins so that they can collide with other physics-enabled objects.
Based on @rextimmy 's work.
cleaned a few, but by no means all redundancies.
DO NOTE THE FOLLOWING:
ShapeBase::processTick(move);
ShapeBase::interpolateTick(dt);
to avoid side effects for now. properly those would be retooled down the line to be more inheritance-friendly.
steeringReturn is the main control for the amount of return in
the steering. Setting it to 0 (the default) disables steering return
completely.
steeringReturnSpeedScale is a multiplier on the amount of effect that
the vehicle's velocity has on its steering return.
powerSteering can be set to eliminate the effect of steering return on
user input. Without this flag set, the user will have a harder time
steering, because the wheels try to return as they steer. If this flag
is set, steering return will not be applied while the user is actually
steering, only when they release.