Core/Entities: Fixed GameObject::FindNearestX for objects with the same coordinates.
closes #4581
This commit is contained in:
1 parent
158a86cf11
commit
7dbc20626e
1 file changed
+5
@@ -1707,6 +1707,11 @@ bool GameObject::IsInRange(float x, float y, float z, float radius) const
|
||||
float dy = y - GetPositionY();
|
||||
float dz = z - GetPositionZ();
|
||||
float dist = sqrt(dx*dx + dy*dy);
|
||||
//! Check if the distance between the 2 objects is 0, can happen if both objects are on the same position.
|
||||
//! The code below this check wont crash if dist is 0 because 0/0 in float operations is valid, and returns infinite
|
||||
if (G3D::fuzzyEq(dist, 0.0f))
|
||||
return true;
|
||||
|
||||
float sinB = dx / dist;
|
||||
float cosB = dy / dist;
|
||||
dx = dist * (cosA * cosB + sinA * sinB);
|
||||
|
||||
Reference in new issue
Block a user