feat(Core/Misc): change how Position struct is retrieved (#9017)

Update Position::GetPosition() and similar methods signatures to reflect 2a4c9bc changes by return a Position object instead of accepting a Position parameter by reference.

Cherry pick of 2585e799f9
This commit is contained in:
sschepens
2021-11-10 19:43:00 -03:00
committed by GitHub
parent d31d8279ca
commit b7f8083915
36 changed files with 68 additions and 133 deletions

View File

@@ -1684,11 +1684,11 @@ void WorldObject::GetRandomPoint(const Position& pos, float distance, float& ran
UpdateGroundPositionZ(rand_x, rand_y, rand_z); // update to LOS height if available
}
void WorldObject::GetRandomPoint(const Position& srcPos, float distance, Position& pos) const
Position WorldObject::GetRandomPoint(const Position& srcPos, float distance) const
{
float x, y, z;
GetRandomPoint(srcPos, distance, x, y, z);
pos.Relocate(x, y, z, GetOrientation());
return Position(x, y, z, GetOrientation());
}
void WorldObject::UpdateGroundPositionZ(float x, float y, float &z) const
@@ -2797,22 +2797,18 @@ bool WorldObject::GetClosePoint(float& x, float& y, float& z, float size, float
return true;
}
void WorldObject::GetNearPosition(Position& pos, float dist, float angle)
Position WorldObject::GetNearPosition(float dist, float angle)
{
GetPosition(&pos);
Position pos = GetPosition();
MovePosition(pos, dist, angle);
return pos;
}
void WorldObject::GetFirstCollisionPosition(Position& pos, float dist, float angle)
Position WorldObject::GetRandomNearPosition(float radius)
{
GetPosition(&pos);
MovePositionToFirstCollision(pos, dist, angle);
}
void WorldObject::GetRandomNearPosition(Position& pos, float radius)
{
GetPosition(&pos);
Position pos = GetPosition();
MovePosition(pos, radius * (float) rand_norm(), (float) rand_norm() * static_cast<float>(2 * M_PI));
return pos;
}
void WorldObject::GetContactPoint(const WorldObject* obj, float& x, float& y, float& z, float distance2d) const
@@ -2926,7 +2922,7 @@ Position WorldObject::GetFirstCollisionPosition(float destX, float destY, float
Position WorldObject::GetFirstCollisionPosition(float dist, float angle)
{
Position pos = GetPosition();
GetFirstCollisionPosition(pos, dist, angle);
MovePositionToFirstCollision(pos, dist, angle);
return pos;
}