mirror of
https://github.com/GTAmodding/re3.git
synced 2021-02-19 17:49:54 +01:00
Restore original logic of CPed::WanderRange
This commit is contained in:
parent
04de93796b
commit
12717917cc
@ -18,5 +18,11 @@ CRange2D::DebugShowRange(float, int)
|
||||
CVector2D
|
||||
CRange2D::GetRandomPointInRange()
|
||||
{
|
||||
return CVector2D(CGeneral::GetRandomNumberInRange(min.x, max.x), CGeneral::GetRandomNumberInRange(min.y, max.y));
|
||||
int distX = Abs(max.x - min.x);
|
||||
int distY = Abs(max.y - min.y);
|
||||
|
||||
float outX = CGeneral::GetRandomNumber() % distX + min.x;
|
||||
float outY = CGeneral::GetRandomNumber() % distY + min.y;
|
||||
|
||||
return CVector2D(outX, outY);
|
||||
}
|
||||
|
@ -18,6 +18,13 @@ CRange3D::DebugShowRange(float, int)
|
||||
CVector
|
||||
CRange3D::GetRandomPointInRange()
|
||||
{
|
||||
return CVector(CGeneral::GetRandomNumberInRange(min.x, max.x), CGeneral::GetRandomNumberInRange(min.y, max.y),
|
||||
CGeneral::GetRandomNumberInRange(min.z, max.z));
|
||||
int distX = Abs(max.x - min.x);
|
||||
int distY = Abs(max.y - min.y);
|
||||
int distZ = Abs(max.z - min.z);
|
||||
|
||||
float outX = CGeneral::GetRandomNumber() % distX + min.x;
|
||||
float outY = CGeneral::GetRandomNumber() % distY + min.y;
|
||||
float outZ = CGeneral::GetRandomNumber() % distZ + min.z;
|
||||
|
||||
return CVector(outX, outY, outZ);
|
||||
}
|
||||
|
@ -57,6 +57,7 @@
|
||||
#include "Timecycle.h"
|
||||
#include "ParticleObject.h"
|
||||
#include "Floater.h"
|
||||
#include "Range2D.h"
|
||||
|
||||
#define CAN_SEE_ENTITY_ANGLE_THRESHOLD DEGTORAD(60.0f)
|
||||
|
||||
@ -14927,17 +14928,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -468,7 +468,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[WEAPONTYPE_TOTAL_INVENTORY_WEAPONS];
|
||||
eWeaponType m_storedWeapon;
|
||||
uint8 m_currentWeapon; // eWeaponType
|
||||
|
Loading…
Reference in New Issue
Block a user