diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index fd3f8158ad..e589669915 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -4202,7 +4202,7 @@ static int32_t WindowRideHasTrackColour(Ride* ride, int32_t trackColour) auto stationObjFlags = 0; if (!ride->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_IS_SHOP)) { - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); if (stationObj != nullptr) { stationObjFlags = stationObj->Flags; @@ -4679,7 +4679,7 @@ static void WindowRideColourInvalidate(rct_window* w) window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WindowWidgetType::Button; auto stringId = STR_NONE; - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); if (stationObj != nullptr) { stringId = stationObj->NameStringId; @@ -4877,7 +4877,7 @@ static void WindowRideColourPaint(rct_window* w, rct_drawpixelinfo* dpi) { gfx_clear(&clippedDpi, PALETTE_INDEX_12); - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); if (stationObj != nullptr && stationObj->BaseImageId != ImageIndexUndefined) { auto imageTemplate = ImageId(trackColour.main, trackColour.additional); diff --git a/src/openrct2/paint/tile_element/Paint.Entrance.cpp b/src/openrct2/paint/tile_element/Paint.Entrance.cpp index 649fc61238..7fc2e8e18f 100644 --- a/src/openrct2/paint/tile_element/Paint.Entrance.cpp +++ b/src/openrct2/paint/tile_element/Paint.Entrance.cpp @@ -117,7 +117,7 @@ static void PaintRideEntranceExit(paint_session* session, uint8_t direction, int return; } - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); if (stationObj == nullptr || stationObj->BaseImageId == ImageIndexUndefined) { return; diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 74936ff575..37b8e633b0 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -5411,7 +5411,7 @@ bool ride_has_adjacent_station(Ride* ride) bool ride_has_station_shelter(Ride* ride) { - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); return stationObj != nullptr && (stationObj->Flags & STATION_OBJECT_FLAGS::HAS_SHELTER); } @@ -5528,10 +5528,10 @@ int32_t ride_get_entry_index(int32_t rideType, int32_t rideSubType) return subType; } -StationObject* ride_get_station_object(const Ride* ride) +StationObject* Ride::GetStationObject() const { auto& objManager = GetContext()->GetObjectManager(); - return static_cast(objManager.GetLoadedObject(ObjectType::Station, ride->entrance_style)); + return static_cast(objManager.GetLoadedObject(ObjectType::Station, entrance_style)); } // Normally, a station has at most one entrance and one exit, which are at the same height diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index d50de54453..cda1efff88 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -381,6 +381,8 @@ public: int32_t GetTotalLength() const; int32_t GetTotalTime() const; + + StationObject* GetStationObject() const; }; #pragma pack(push, 1) @@ -1144,7 +1146,6 @@ void fix_invalid_vehicle_sprite_sizes(); bool ride_entry_has_category(const rct_ride_entry* rideEntry, uint8_t category); int32_t ride_get_entry_index(int32_t rideType, int32_t rideSubType); -StationObject* ride_get_station_object(const Ride* ride); void ride_action_modify(Ride* ride, int32_t modifyType, int32_t flags); diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index 908021c998..f943a092ca 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -233,7 +233,7 @@ enum bool track_paint_util_has_fence( enum edge_t edge, const CoordsXY& position, const TrackElement& trackElement, const Ride* ride, uint8_t rotation) { - const auto* stationObject = ride_get_station_object(ride); + const auto* stationObject = ride->GetStationObject(); if (stationObject != nullptr && stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS) return false; @@ -364,7 +364,7 @@ static void track_paint_util_draw_station_impl( return; CoordsXY position = session->MapPosition; - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); const bool hasGreenLight = trackElement.HasGreenLight(); if (stationObj != nullptr && stationObj->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS) @@ -574,7 +574,7 @@ void track_paint_util_draw_station_inverted( return; CoordsXY position = session->MapPosition; - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); const bool hasGreenLight = trackElement.HasGreenLight(); if (stationObj != nullptr && stationObj->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS) @@ -856,7 +856,7 @@ void track_paint_util_draw_narrow_station_platform( const TrackElement& trackElement) { CoordsXY position = session->MapPosition; - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); if (stationObj != nullptr && stationObj->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS) return; diff --git a/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp b/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp index c20a381911..fa4aba6129 100644 --- a/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp @@ -147,7 +147,7 @@ static void multi_dimension_rc_track_station( if (ride != nullptr) { - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); bool hasFence; if (direction == 0 || direction == 2) { diff --git a/src/openrct2/ride/gentle/Circus.cpp b/src/openrct2/ride/gentle/Circus.cpp index de3aa15d34..156690779a 100644 --- a/src/openrct2/ride/gentle/Circus.cpp +++ b/src/openrct2/ride/gentle/Circus.cpp @@ -61,7 +61,7 @@ static void PaintCircus( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/gentle/CrookedHouse.cpp b/src/openrct2/ride/gentle/CrookedHouse.cpp index 628c863ddf..fbb68173f4 100644 --- a/src/openrct2/ride/gentle/CrookedHouse.cpp +++ b/src/openrct2/ride/gentle/CrookedHouse.cpp @@ -92,7 +92,7 @@ static void PaintCrookedHouse( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/gentle/Dodgems.cpp b/src/openrct2/ride/gentle/Dodgems.cpp index c2a039e875..032aba4f65 100644 --- a/src/openrct2/ride/gentle/Dodgems.cpp +++ b/src/openrct2/ride/gentle/Dodgems.cpp @@ -55,7 +55,7 @@ static void paint_dodgems( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS)) { diff --git a/src/openrct2/ride/gentle/FerrisWheel.cpp b/src/openrct2/ride/gentle/FerrisWheel.cpp index 9bcec24247..f136005b3c 100644 --- a/src/openrct2/ride/gentle/FerrisWheel.cpp +++ b/src/openrct2/ride/gentle/FerrisWheel.cpp @@ -129,7 +129,7 @@ static void PaintFerrisWheel( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/gentle/FlyingSaucers.cpp b/src/openrct2/ride/gentle/FlyingSaucers.cpp index 96960eaafe..20965f21b0 100644 --- a/src/openrct2/ride/gentle/FlyingSaucers.cpp +++ b/src/openrct2/ride/gentle/FlyingSaucers.cpp @@ -46,7 +46,7 @@ static void paint_flying_saucers( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS)) { diff --git a/src/openrct2/ride/gentle/HauntedHouse.cpp b/src/openrct2/ride/gentle/HauntedHouse.cpp index c2d4cf511a..a01709d0f8 100644 --- a/src/openrct2/ride/gentle/HauntedHouse.cpp +++ b/src/openrct2/ride/gentle/HauntedHouse.cpp @@ -82,7 +82,7 @@ static void PaintHauntedHouse( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/gentle/MerryGoRound.cpp b/src/openrct2/ride/gentle/MerryGoRound.cpp index c9b713627c..bb043d8bf1 100644 --- a/src/openrct2/ride/gentle/MerryGoRound.cpp +++ b/src/openrct2/ride/gentle/MerryGoRound.cpp @@ -112,7 +112,7 @@ static void PaintMerryGoRound( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/gentle/MiniGolf.cpp b/src/openrct2/ride/gentle/MiniGolf.cpp index 6f9b5d97fa..17b3798b5f 100644 --- a/src/openrct2/ride/gentle/MiniGolf.cpp +++ b/src/openrct2/ride/gentle/MiniGolf.cpp @@ -678,7 +678,7 @@ static void paint_mini_golf_station( if (ride == nullptr) return; - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); uint32_t imageId; bool hasFence; diff --git a/src/openrct2/ride/gentle/ObservationTower.cpp b/src/openrct2/ride/gentle/ObservationTower.cpp index b72e8f58a8..87f70cce43 100644 --- a/src/openrct2/ride/gentle/ObservationTower.cpp +++ b/src/openrct2/ride/gentle/ObservationTower.cpp @@ -95,7 +95,7 @@ static void paint_observation_tower_base( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor( session, edges, session->TrackColours[SCHEME_SUPPORTS], height, floorSpritesMetalB, stationObject); diff --git a/src/openrct2/ride/gentle/SpaceRings.cpp b/src/openrct2/ride/gentle/SpaceRings.cpp index 313bc517e6..ebf3c6026a 100644 --- a/src/openrct2/ride/gentle/SpaceRings.cpp +++ b/src/openrct2/ride/gentle/SpaceRings.cpp @@ -103,7 +103,7 @@ static void paint_space_rings( wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); - StationObject* stationObject = ride_get_station_object(ride); + StationObject* stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); switch (trackSequence) diff --git a/src/openrct2/ride/gentle/SpiralSlide.cpp b/src/openrct2/ride/gentle/SpiralSlide.cpp index fdc29354ee..778421011e 100644 --- a/src/openrct2/ride/gentle/SpiralSlide.cpp +++ b/src/openrct2/ride/gentle/SpiralSlide.cpp @@ -205,7 +205,7 @@ static void paint_spiral_slide( // Base StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS)) { diff --git a/src/openrct2/ride/thrill/3dCinema.cpp b/src/openrct2/ride/thrill/3dCinema.cpp index badff18581..7ed859d531 100644 --- a/src/openrct2/ride/thrill/3dCinema.cpp +++ b/src/openrct2/ride/thrill/3dCinema.cpp @@ -64,7 +64,7 @@ static void Paint3dCinema( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/thrill/Enterprise.cpp b/src/openrct2/ride/thrill/Enterprise.cpp index 9da6f8c7e7..8ccc4ff913 100644 --- a/src/openrct2/ride/thrill/Enterprise.cpp +++ b/src/openrct2/ride/thrill/Enterprise.cpp @@ -101,7 +101,7 @@ static void PaintEnterprise( wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); - StationObject* stationObject = ride_get_station_object(ride); + StationObject* stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); track_paint_util_paint_fences( diff --git a/src/openrct2/ride/thrill/GoKarts.cpp b/src/openrct2/ride/thrill/GoKarts.cpp index 61ff1a5042..9843aac770 100644 --- a/src/openrct2/ride/thrill/GoKarts.cpp +++ b/src/openrct2/ride/thrill/GoKarts.cpp @@ -351,7 +351,7 @@ static void paint_go_karts_station( if (ride == nullptr) return; - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); bool hasFence; uint32_t imageId; diff --git a/src/openrct2/ride/thrill/LaunchedFreefall.cpp b/src/openrct2/ride/thrill/LaunchedFreefall.cpp index e11b2c13f0..881103f277 100644 --- a/src/openrct2/ride/thrill/LaunchedFreefall.cpp +++ b/src/openrct2/ride/thrill/LaunchedFreefall.cpp @@ -96,7 +96,7 @@ static void paint_launched_freefall_base( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor( session, edges, session->TrackColours[SCHEME_SUPPORTS], height, floorSpritesMetal, stationObject); diff --git a/src/openrct2/ride/thrill/MagicCarpet.cpp b/src/openrct2/ride/thrill/MagicCarpet.cpp index 53c8aa3b75..b5ece379a7 100644 --- a/src/openrct2/ride/thrill/MagicCarpet.cpp +++ b/src/openrct2/ride/thrill/MagicCarpet.cpp @@ -253,7 +253,7 @@ static void PaintMagicCarpet( } StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); if (stationObject != nullptr && !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS)) { diff --git a/src/openrct2/ride/thrill/MotionSimulator.cpp b/src/openrct2/ride/thrill/MotionSimulator.cpp index d3ed8a4fa1..76e4d4a7fc 100644 --- a/src/openrct2/ride/thrill/MotionSimulator.cpp +++ b/src/openrct2/ride/thrill/MotionSimulator.cpp @@ -113,7 +113,7 @@ static void PaintMotionSimulator( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/thrill/RotoDrop.cpp b/src/openrct2/ride/thrill/RotoDrop.cpp index 5638adb120..68465b46a6 100644 --- a/src/openrct2/ride/thrill/RotoDrop.cpp +++ b/src/openrct2/ride/thrill/RotoDrop.cpp @@ -109,7 +109,7 @@ static void paint_roto_drop_base( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor( session, edges, session->TrackColours[SCHEME_SUPPORTS], height, floorSpritesMetalB, stationObject); diff --git a/src/openrct2/ride/thrill/SwingingInverterShip.cpp b/src/openrct2/ride/thrill/SwingingInverterShip.cpp index e535affd08..729a8aa46e 100644 --- a/src/openrct2/ride/thrill/SwingingInverterShip.cpp +++ b/src/openrct2/ride/thrill/SwingingInverterShip.cpp @@ -143,7 +143,7 @@ static void PaintSwingingInverterShip( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); if (relativeTrackSequence != 1 && relativeTrackSequence != 3) { diff --git a/src/openrct2/ride/thrill/SwingingShip.cpp b/src/openrct2/ride/thrill/SwingingShip.cpp index a20e6153da..6018cc000f 100644 --- a/src/openrct2/ride/thrill/SwingingShip.cpp +++ b/src/openrct2/ride/thrill/SwingingShip.cpp @@ -175,7 +175,7 @@ static void PaintSwingingShip( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); if (relativeTrackSequence == 1 || relativeTrackSequence == 4) { diff --git a/src/openrct2/ride/thrill/TopSpin.cpp b/src/openrct2/ride/thrill/TopSpin.cpp index 43caef75a0..9fe4a13787 100644 --- a/src/openrct2/ride/thrill/TopSpin.cpp +++ b/src/openrct2/ride/thrill/TopSpin.cpp @@ -197,7 +197,7 @@ static void PaintTopSpin( StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/thrill/Twist.cpp b/src/openrct2/ride/thrill/Twist.cpp index 6f89c8f835..2360ae17ff 100644 --- a/src/openrct2/ride/thrill/Twist.cpp +++ b/src/openrct2/ride/thrill/Twist.cpp @@ -95,7 +95,7 @@ static void paint_twist( wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); - StationObject* stationObject = ride_get_station_object(ride); + StationObject* stationObject = ride->GetStationObject(); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_MISC], height, floorSpritesCork, stationObject); switch (trackSequence) diff --git a/src/openrct2/ride/transport/Chairlift.cpp b/src/openrct2/ride/transport/Chairlift.cpp index fac81d3903..5b26bca832 100644 --- a/src/openrct2/ride/transport/Chairlift.cpp +++ b/src/openrct2/ride/transport/Chairlift.cpp @@ -189,7 +189,7 @@ static void chairlift_paint_station_ne_sw( bool isStart = chairlift_paint_util_is_first_track(ride, trackElement, pos, trackType); bool isEnd = chairlift_paint_util_is_last_track(ride, trackElement, pos, trackType); - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_MISC]); @@ -282,7 +282,7 @@ static void chairlift_paint_station_se_nw( bool isStart = chairlift_paint_util_is_first_track(ride, trackElement, pos, trackType); bool isEnd = chairlift_paint_util_is_last_track(ride, trackElement, pos, trackType); - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_MISC]); diff --git a/src/openrct2/ride/transport/Monorail.cpp b/src/openrct2/ride/transport/Monorail.cpp index 6cc63a6a11..8133829339 100644 --- a/src/openrct2/ride/transport/Monorail.cpp +++ b/src/openrct2/ride/transport/Monorail.cpp @@ -478,7 +478,7 @@ static void paint_monorail_station( const StationObject* stationObject = nullptr; if (ride != nullptr) - stationObject = ride_get_station_object(ride); + stationObject = ride->GetStationObject(); if (stationObject == nullptr || !(stationObject->Flags & STATION_OBJECT_FLAGS::NO_PLATFORMS)) { diff --git a/src/openrct2/ride/water/BoatHire.cpp b/src/openrct2/ride/water/BoatHire.cpp index 11cda3a256..49a4bebe63 100644 --- a/src/openrct2/ride/water/BoatHire.cpp +++ b/src/openrct2/ride/water/BoatHire.cpp @@ -68,7 +68,7 @@ static void paint_boat_hire_station( if (ride == nullptr) return; - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); if (direction & 1) { diff --git a/src/openrct2/ride/water/SubmarineRide.cpp b/src/openrct2/ride/water/SubmarineRide.cpp index 8352e17ab0..05d19aa6c7 100644 --- a/src/openrct2/ride/water/SubmarineRide.cpp +++ b/src/openrct2/ride/water/SubmarineRide.cpp @@ -82,7 +82,7 @@ static void submarine_ride_paint_track_station( if (ride == nullptr) return; - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); int32_t heightLower = height - 16; uint32_t imageId; diff --git a/src/openrct2/world/MapAnimation.cpp b/src/openrct2/world/MapAnimation.cpp index e391e3f19c..bc564fc0d8 100644 --- a/src/openrct2/world/MapAnimation.cpp +++ b/src/openrct2/world/MapAnimation.cpp @@ -106,7 +106,7 @@ static bool map_animation_invalidate_ride_entrance(const CoordsXYZ& loc) auto ride = get_ride(tileElement->AsEntrance()->GetRideIndex()); if (ride != nullptr) { - auto stationObj = ride_get_station_object(ride); + auto stationObj = ride->GetStationObject(); if (stationObj != nullptr) { int32_t height = loc.z + stationObj->Height + 8;