diff --git a/src/openrct2/world/TileElement.cpp b/src/openrct2/world/TileElement.cpp index e2cba7d7f3..c42080c9ab 100644 --- a/src/openrct2/world/TileElement.cpp +++ b/src/openrct2/world/TileElement.cpp @@ -161,6 +161,55 @@ const QuarterTile QuarterTile::Rotate(uint8_t amount) const } } +const SurfaceElement* TileElementBase::AsSurface() const +{ + return as(); +} +SurfaceElement* TileElementBase::AsSurface() +{ + return as(); +} +const PathElement* TileElementBase::AsPath() const +{ + return as(); +} +PathElement* TileElementBase::AsPath() +{ + return as(); +} +const TrackElement* TileElementBase::AsTrack() const +{ + return as(); +} +TrackElement* TileElementBase::AsTrack() +{ + return as(); +} +const SmallSceneryElement* TileElementBase::AsSmallScenery() const +{ + return as(); +} +SmallSceneryElement* TileElementBase::AsSmallScenery() +{ + return as(); +} +const LargeSceneryElement* TileElementBase::AsLargeScenery() const +{ + return as(); +} +LargeSceneryElement* TileElementBase::AsLargeScenery() +{ + return as(); +} +const WallElement* TileElementBase::AsWall() const +{ + return as(); +} +WallElement* TileElementBase::AsWall() +{ + return as(); +} + const EntranceElement* TileElementBase::AsEntrance() const { return as(); @@ -170,3 +219,12 @@ EntranceElement* TileElementBase::AsEntrance() { return as(); } + +const BannerElement* TileElementBase::AsBanner() const +{ + return as(); +} +BannerElement* TileElementBase::AsBanner() +{ + return as(); +} diff --git a/src/openrct2/world/TileElement.h b/src/openrct2/world/TileElement.h index acce7757b0..dd037d49ab 100644 --- a/src/openrct2/world/TileElement.h +++ b/src/openrct2/world/TileElement.h @@ -101,64 +101,22 @@ struct TileElementBase return GetType() == TType::ElementType ? reinterpret_cast(this) : nullptr; } - const SurfaceElement* AsSurface() const - { - return as(); - } - SurfaceElement* AsSurface() - { - return as(); - } - const PathElement* AsPath() const - { - return as(); - } - PathElement* AsPath() - { - return as(); - } - const TrackElement* AsTrack() const - { - return as(); - } - TrackElement* AsTrack() - { - return as(); - } - const SmallSceneryElement* AsSmallScenery() const - { - return as(); - } - SmallSceneryElement* AsSmallScenery() - { - return as(); - } - const LargeSceneryElement* AsLargeScenery() const - { - return as(); - } - LargeSceneryElement* AsLargeScenery() - { - return as(); - } - const WallElement* AsWall() const - { - return as(); - } - WallElement* AsWall() - { - return as(); - } + const SurfaceElement* AsSurface() const; + SurfaceElement* AsSurface(); + const PathElement* AsPath() const; + PathElement* AsPath(); + const TrackElement* AsTrack() const; + TrackElement* AsTrack(); + const SmallSceneryElement* AsSmallScenery() const; + SmallSceneryElement* AsSmallScenery(); + const LargeSceneryElement* AsLargeScenery() const; + LargeSceneryElement* AsLargeScenery(); + const WallElement* AsWall() const; + WallElement* AsWall(); const EntranceElement* AsEntrance() const; EntranceElement* AsEntrance(); - const BannerElement* AsBanner() const - { - return as(); - } - BannerElement* AsBanner() - { - return as(); - } + const BannerElement* AsBanner() const; + BannerElement* AsBanner(); }; /**