diff options
-rw-r--r-- | src/vehicles/Automobile.cpp | 6 | ||||
-rw-r--r-- | src/vehicles/Vehicle.cpp | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/vehicles/Automobile.cpp b/src/vehicles/Automobile.cpp index 810c1661..e13290c8 100644 --- a/src/vehicles/Automobile.cpp +++ b/src/vehicles/Automobile.cpp @@ -973,8 +973,8 @@ CAutomobile::ProcessControl(void) */ static float magicValue = 4.0f; - float steerRange; if(magicValue > 0.0f){ + float steerRange; // looks like a bug with the wheel ids here, why only left wheels? if(fwdSpeed > 0.01f && (m_aWheelTimer[CARWHEEL_FRONT_LEFT] > 0.0f || m_aWheelTimer[CARWHEEL_REAR_LEFT] > 0.0f) && GetStatus() == STATUS_PLAYER){ CColPoint point; @@ -995,9 +995,9 @@ CAutomobile::ProcessControl(void) }else steerRange = 1.0f; - } - m_fSteerAngle *= steerRange; + m_fSteerAngle *= steerRange; + } brake = m_fBrakePedal * pHandling->fBrakeDeceleration * CTimer::GetTimeStep(); diff --git a/src/vehicles/Vehicle.cpp b/src/vehicles/Vehicle.cpp index 7784bc07..591a9f83 100644 --- a/src/vehicles/Vehicle.cpp +++ b/src/vehicles/Vehicle.cpp @@ -965,7 +965,7 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon turnDirection = direction; float impulse = speed*m_fMass; - float turnImpulse = turnSpeed*GetMass(wheelContactPoint, turnDirection); + float turnImpulse = turnSpeed*GetMass(wheelContactPoint - Multiply3x3(GetMatrix(), m_vecCentreOfMass), turnDirection); ApplyMoveForce(impulse * direction); ApplyTurnForce(turnImpulse * turnDirection, wheelContactPoint); |