From eedc93ac52ba7e9181234e1bb0e60010aecf1d0d Mon Sep 17 00:00:00 2001 From: mix Date: Sat, 14 Jun 2025 03:26:44 +0100 Subject: [PATCH] Move Vehicle::UpdateLandscapeDoorA function --- src/openrct2/ride/Vehicle.cpp | 38 +++++++++++++++++------------------ src/openrct2/ride/Vehicle.h | 2 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 417c042add..f3c9776a63 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -6371,6 +6371,25 @@ static void AnimateLandscapeDoor(const CoordsXYZ& doorLocation, TrackElement& tr } } +void Vehicle::UpdateLandscapeDoorA(const int32_t previousTrackHeight) const +{ + const auto* currentRide = GetRide(); + if (currentRide == nullptr || !currentRide->getRideTypeDescriptor().HasFlag(RtdFlag::hasLandscapeDoors)) + { + return; + } + + const CoordsXYZ previousTrackLocation = CoordsXYZ(x, y, previousTrackHeight).ToTileStart(); + if (MapGetTrackElementAtBeforeSurfaceFromRide(previousTrackLocation, ride) != nullptr) + return; + + auto* const tileElement = MapGetTrackElementAtBeforeSurfaceFromRide(TrackLocation, ride); + if (tileElement != nullptr) + { + AnimateLandscapeDoor(TrackLocation, *tileElement->AsTrack(), next_vehicle_on_train.IsNull()); + } +} + void Vehicle::UpdateLandscapeDoorB(const int32_t previousTrackHeight) const { const auto* currentRide = GetRide(); @@ -6435,25 +6454,6 @@ void Vehicle::UpdateSceneryDoorBackwards() const AnimateSceneryDoor({ wallCoords, static_cast(direction) }, TrackLocation, next_vehicle_on_train.IsNull()); } -void Vehicle::UpdateLandscapeDoorA(const int32_t previousTrackHeight) const -{ - const auto* currentRide = GetRide(); - if (currentRide == nullptr || !currentRide->getRideTypeDescriptor().HasFlag(RtdFlag::hasLandscapeDoors)) - { - return; - } - - const CoordsXYZ previousTrackLocation = CoordsXYZ(x, y, previousTrackHeight).ToTileStart(); - if (MapGetTrackElementAtBeforeSurfaceFromRide(previousTrackLocation, ride) != nullptr) - return; - - auto* const tileElement = MapGetTrackElementAtBeforeSurfaceFromRide(TrackLocation, ride); - if (tileElement != nullptr) - { - AnimateLandscapeDoor(TrackLocation, *tileElement->AsTrack(), next_vehicle_on_train.IsNull()); - } -} - static void vehicle_update_play_water_splash_sound() { if (_vehicleVelocityF64E08 <= kBlockBrakeBaseSpeed) diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index aeb24fe5b5..21c6707552 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -377,8 +377,8 @@ private: void UpdateGoKartAttemptSwitchLanes(); void UpdateSceneryDoor() const; void UpdateSceneryDoorBackwards() const; - void UpdateLandscapeDoorB(const int32_t previousTrackHeight) const; void UpdateLandscapeDoorA(const int32_t previousTrackHeight) const; + void UpdateLandscapeDoorB(const int32_t previousTrackHeight) const; int32_t CalculateRiderBraking() const; uint8_t ChooseBrakeSpeed() const; void PopulateBrakeSpeed(const CoordsXYZ& vehicleTrackLocation, TrackElement& brake);