Currently functions GetVehicleEngineSetup, GetVehicleGearSetup, GetVehicleAutoBoxSetup, GetVehicleDifferential4WSetup are of type ‘static void’, and I wonder why they are written in such way? It is much better if they are made member function of VehicleMovement class and be made virtual.
Those above functions, once made virtual, will enable a lot easier way for us to customize VehicleMovement such as the abilty to load gear ratios from some other place (such as text file). Now, I have to duplicate a lot of functions (which are just copy&paste with no changes) to achieve that - it just doesnt feel good. Furthermore, the changes are very minimal, with a lot of benefits.