diff options
Diffstat (limited to 'src/peds')
-rw-r--r-- | src/peds/Ped.cpp | 15 | ||||
-rw-r--r-- | src/peds/Ped.h | 2 |
2 files changed, 5 insertions, 12 deletions
diff --git a/src/peds/Ped.cpp b/src/peds/Ped.cpp index a48fc426..2ba9eaa9 100644 --- a/src/peds/Ped.cpp +++ b/src/peds/Ped.cpp @@ -57,6 +57,7 @@ #include "Timecycle.h" #include "ParticleObject.h" #include "Floater.h" +#include "Range2D.h" #include "Streaming.h" #include "PedAttractor.h" #include "Debug.h" @@ -15607,17 +15608,9 @@ CPed::WanderRange(void) bool arrived = Seek(); if (arrived) { Idle(); - if (((m_randomSeed % 256) + 3 * CTimer::GetFrameCounter()) % 1000 > 997) { - - int xDiff = Abs(m_wanderRangeBounds[1].x - m_wanderRangeBounds[0].x); - int yDiff = Abs(m_wanderRangeBounds[1].y - m_wanderRangeBounds[0].y); - - CVector newCoords( - (CGeneral::GetRandomNumber() % xDiff) + m_wanderRangeBounds[0].x, - (CGeneral::GetRandomNumber() % yDiff) + m_wanderRangeBounds[0].y, - GetPosition().z); - - SetSeek(newCoords, 2.5f); + if ((m_randomSeed + 3 * CTimer::GetFrameCounter()) % 1000 > 997) { + CVector2D newCoords2D = m_wanderRangeBounds->GetRandomPointInRange(); + SetSeek(CVector(newCoords2D.x, newCoords2D.y, GetPosition().z), 2.5f); } } } diff --git a/src/peds/Ped.h b/src/peds/Ped.h index 0ac6f930..4afe1844 100644 --- a/src/peds/Ped.h +++ b/src/peds/Ped.h @@ -570,7 +570,7 @@ public: CEntity *m_pCollidingEntity; uint8 m_stateUnused; uint32 m_timerUnused; - CVector2D *m_wanderRangeBounds; // array with 2 CVector2D (actually unused CRange2D class) - unused + class CRange2D *m_wanderRangeBounds; CWeapon m_weapons[TOTAL_WEAPON_SLOTS]; eWeaponType m_storedWeapon; eWeaponType m_delayedWeapon; |