diff options
author | aap <aap@papnet.eu> | 2020-05-25 20:36:18 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2020-05-25 20:36:23 +0200 |
commit | 3c3b1aadc0bfd3b8d58cc9dcc269d83f6a003235 (patch) | |
tree | d1e86b5e9fe98616c3bb83554381e681330b6b6e /src/vehicles/Vehicle.cpp | |
parent | Even more audio cleanups (diff) | |
download | re3-3c3b1aadc0bfd3b8d58cc9dcc269d83f6a003235.tar re3-3c3b1aadc0bfd3b8d58cc9dcc269d83f6a003235.tar.gz re3-3c3b1aadc0bfd3b8d58cc9dcc269d83f6a003235.tar.bz2 re3-3c3b1aadc0bfd3b8d58cc9dcc269d83f6a003235.tar.lz re3-3c3b1aadc0bfd3b8d58cc9dcc269d83f6a003235.tar.xz re3-3c3b1aadc0bfd3b8d58cc9dcc269d83f6a003235.tar.zst re3-3c3b1aadc0bfd3b8d58cc9dcc269d83f6a003235.zip |
Diffstat (limited to 'src/vehicles/Vehicle.cpp')
-rw-r--r-- | src/vehicles/Vehicle.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/vehicles/Vehicle.cpp b/src/vehicles/Vehicle.cpp index d8c7c4c8..e264d7ed 100644 --- a/src/vehicles/Vehicle.cpp +++ b/src/vehicles/Vehicle.cpp @@ -466,6 +466,10 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon static bool bBraking; static bool bDriving; +#ifdef FIX_BUGS + bAlreadySkidding = false; +#endif + // how much force we want to apply in these axes float fwd = 0.0f; float right = 0.0f; @@ -547,7 +551,8 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon } } - if(sq(adhesion) < sq(right) + sq(fwd)){ + float speedSq = sq(right) + sq(fwd); + if(sq(adhesion) < speedSq){ if(*wheelState != WHEEL_STATE_FIXED){ if(bDriving && contactSpeedFwd < 0.2f) *wheelState = WHEEL_STATE_SPINNING; @@ -555,7 +560,7 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon *wheelState = WHEEL_STATE_SKIDDING; } - float l = Sqrt(sq(right) + sq(fwd)); + float l = Sqrt(speedSq); float tractionLoss = bAlreadySkidding ? 1.0f : pHandling->fTractionLoss; right *= adhesion * tractionLoss / l; fwd *= adhesion * tractionLoss / l; |