diff options
author | aap <aap@papnet.eu> | 2020-12-28 21:58:21 +0100 |
---|---|---|
committer | aap <aap@papnet.eu> | 2020-12-28 21:58:21 +0100 |
commit | c93fb5e443f9afe082abf708918fcd3db807596d (patch) | |
tree | 5c53034b5581a63aee7d9e2e48f461590e2a8051 | |
parent | multiple instances sema fix (diff) | |
download | re3-c93fb5e443f9afe082abf708918fcd3db807596d.tar re3-c93fb5e443f9afe082abf708918fcd3db807596d.tar.gz re3-c93fb5e443f9afe082abf708918fcd3db807596d.tar.bz2 re3-c93fb5e443f9afe082abf708918fcd3db807596d.tar.lz re3-c93fb5e443f9afe082abf708918fcd3db807596d.tar.xz re3-c93fb5e443f9afe082abf708918fcd3db807596d.tar.zst re3-c93fb5e443f9afe082abf708918fcd3db807596d.zip |
-rw-r--r-- | src/extras/screendroplets.cpp | 4 | ||||
-rw-r--r-- | src/vehicles/Vehicle.cpp | 12 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/extras/screendroplets.cpp b/src/extras/screendroplets.cpp index 9ac60d4f..6ea72f09 100644 --- a/src/extras/screendroplets.cpp +++ b/src/extras/screendroplets.cpp @@ -12,6 +12,7 @@ #include "RwHelper.h" #include "Timer.h" #include "Camera.h" +#include "World.h" #include "ZoneCull.h" #include "Weather.h" #include "ParticleObject.h" @@ -416,7 +417,8 @@ ScreenDroplets::ProcessCameraMovement(void) uint16 mode = TheCamera.Cams[TheCamera.ActiveCam].Mode; bool isTopDown = mode == CCam::MODE_TOPDOWN || mode == CCam::MODE_GTACLASSIC || mode == CCam::MODE_TOP_DOWN_PED; - bool isLookingInDirection = CPad::GetPad(0)->GetLookBehindForCar() || CPad::GetPad(0)->GetLookLeft() || CPad::GetPad(0)->GetLookRight(); + bool isLookingInDirection = FindPlayerVehicle() && mode == CCam::MODE_1STPERSON && + (CPad::GetPad(0)->GetLookBehindForCar() || CPad::GetPad(0)->GetLookLeft() || CPad::GetPad(0)->GetLookRight()); ms_enabled = !isTopDown && !isLookingInDirection; ms_movingEnabled = !isTopDown && !isLookingInDirection; diff --git a/src/vehicles/Vehicle.cpp b/src/vehicles/Vehicle.cpp index 56de3562..3beacad5 100644 --- a/src/vehicles/Vehicle.cpp +++ b/src/vehicles/Vehicle.cpp @@ -877,6 +877,7 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon } if(fwd != 0.0f || right != 0.0f){ +#if 1 CVector totalSpeed = fwd*wheelFwd + right*wheelRight; CVector turnDirection = totalSpeed; @@ -910,6 +911,17 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon ApplyMoveForce(impulse * direction); ApplyTurnForce(turnImpulse * direction, wheelContactPoint); +#else + CVector direction = fwd*wheelFwd + right*wheelRight; + float speed = direction.Magnitude(); + direction.Normalise(); + + float impulse = speed*m_fMass; + float turnImpulse = speed*GetMass(wheelContactPoint, direction); + + ApplyMoveForce(impulse * direction); + ApplyTurnForce(turnImpulse * direction, wheelContactPoint); +#endif } } |