diff options
| author | Sergeanur <s.anureev@yandex.ua> | 2020-06-04 04:31:04 +0300 |
|---|---|---|
| committer | Sergeanur <s.anureev@yandex.ua> | 2020-06-04 04:31:04 +0300 |
| commit | 12717917cc67c7fa854991b606b7ea71499ec602 (patch) | |
| tree | ebfe654165164acaabdab8871dc3ced6bbef144d /src/core/Range3D.cpp | |
| parent | fix accident~ (diff) | |
| download | re3-12717917cc67c7fa854991b606b7ea71499ec602.tar.gz | |
Restore original logic of CPed::WanderRange
Diffstat (limited to 'src/core/Range3D.cpp')
| -rw-r--r-- | src/core/Range3D.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/core/Range3D.cpp b/src/core/Range3D.cpp index 14d2dbd2..7fa28d67 100644 --- a/src/core/Range3D.cpp +++ b/src/core/Range3D.cpp @@ -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); } |
