From 4ab6a3721d80129d61faacdd7a6c10eacf43a129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 28 Oct 2021 23:51:28 +0300 Subject: [PATCH] Use TrackDesignGetZPlacement over place_virtual_track --- src/openrct2-ui/windows/TrackDesignPlace.cpp | 4 +--- src/openrct2/ride/TrackDesign.cpp | 6 ++++++ src/openrct2/ride/TrackDesign.h | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/openrct2-ui/windows/TrackDesignPlace.cpp b/src/openrct2-ui/windows/TrackDesignPlace.cpp index 0449ebc999..0c3735357b 100644 --- a/src/openrct2-ui/windows/TrackDesignPlace.cpp +++ b/src/openrct2-ui/windows/TrackDesignPlace.cpp @@ -471,9 +471,7 @@ static int32_t window_track_place_get_base_z(const CoordsXY& loc) if (surfaceElement->GetWaterHeight() > 0) z = std::max(z, surfaceElement->GetWaterHeight()); - return z - + place_virtual_track( - _trackDesign.get(), PTD_OPERATION_GET_PLACE_Z, true, GetOrAllocateRide(PreviewRideId), { loc, z }); + return z + TrackDesignGetZPlacement(_trackDesign.get(), GetOrAllocateRide(PreviewRideId), { loc, z }); } /** diff --git a/src/openrct2/ride/TrackDesign.cpp b/src/openrct2/ride/TrackDesign.cpp index c6bc9d40c1..e2c47ec7f2 100644 --- a/src/openrct2/ride/TrackDesign.cpp +++ b/src/openrct2/ride/TrackDesign.cpp @@ -1965,6 +1965,12 @@ money32 place_virtual_track(TrackDesign* td6, uint8_t ptdOperation, bool placeSc return place_virtual_track(tds, td6, ptdOperation, placeScenery, ride, coords); } +int32_t TrackDesignGetZPlacement(TrackDesign* td6, Ride* ride, const CoordsXYZ& coords) +{ + TrackDesignState tds{}; + return place_virtual_track(tds, td6, PTD_OPERATION_GET_PLACE_Z, true, ride, coords); +} + static money32 TrackDesignCreateRide(int32_t type, int32_t subType, int32_t flags, ride_id_t* outRideIndex) { // Don't set colours as will be set correctly later. diff --git a/src/openrct2/ride/TrackDesign.h b/src/openrct2/ride/TrackDesign.h index 28dbaf2aa7..1481e45603 100644 --- a/src/openrct2/ride/TrackDesign.h +++ b/src/openrct2/ride/TrackDesign.h @@ -225,6 +225,7 @@ extern ride_id_t gTrackDesignSaveRideIndex; void TrackDesignMirror(TrackDesign* td6); money32 place_virtual_track(TrackDesign* td6, uint8_t ptdOperation, bool placeScenery, Ride* ride, const CoordsXYZ& coords); +int32_t TrackDesignGetZPlacement(TrackDesign* td6, Ride* ride, const CoordsXYZ& coords); /////////////////////////////////////////////////////////////////////////////// // Track design preview