Return PathElement instead of TileElement on MapGetFootpathElement

This commit is contained in:
ζeh Matt 2023-08-05 17:54:44 +03:00
parent 8f491eb0e4
commit ad2b1959c8
No known key found for this signature in database
GPG Key ID: 18CE582C71A225B0
2 changed files with 4 additions and 3 deletions

View File

@ -119,7 +119,7 @@ static bool entrance_has_direction(const EntranceElement& entranceElement, int32
return entranceElement.GetDirections() & (1 << (direction & 3));
}
TileElement* MapGetFootpathElement(const CoordsXYZ& coords)
PathElement* MapGetFootpathElement(const CoordsXYZ& coords)
{
TileElement* tileElement = MapGetFirstElementAt(coords);
do
@ -127,7 +127,7 @@ TileElement* MapGetFootpathElement(const CoordsXYZ& coords)
if (tileElement == nullptr)
break;
if (tileElement->GetType() == TileElementType::Path && tileElement->GetBaseZ() == coords.z)
return tileElement;
return tileElement->AsPath();
} while (!(tileElement++)->IsLastForTile());
return nullptr;

View File

@ -17,6 +17,7 @@
class FootpathObject;
class FootpathSurfaceObject;
class FootpathRailingsObject;
struct PathElement;
enum
{
@ -184,7 +185,7 @@ extern const std::array<CoordsXY, NumOrthogonalDirections> DirectionOffsets;
extern const std::array<CoordsXY, NumOrthogonalDirections> BinUseOffsets;
extern const std::array<CoordsXY, NumOrthogonalDirections * 2> BenchUseOffsets;
TileElement* MapGetFootpathElement(const CoordsXYZ& coords);
PathElement* MapGetFootpathElement(const CoordsXYZ& coords);
void FootpathInterruptPeeps(const CoordsXYZ& footpathPos);
money64 FootpathProvisionalSet(
ObjectEntryIndex type, ObjectEntryIndex railingsType, const CoordsXYZ& footpathLoc, int32_t slope,