diff --git a/src/openrct2-ui/windows/TrackDesignPlace.cpp b/src/openrct2-ui/windows/TrackDesignPlace.cpp index 9aadb84da3..467fc52731 100644 --- a/src/openrct2-ui/windows/TrackDesignPlace.cpp +++ b/src/openrct2-ui/windows/TrackDesignPlace.cpp @@ -413,7 +413,7 @@ static void window_track_place_clear_provisional() auto ride = get_ride(_window_track_place_ride_index); if (ride != nullptr) { - place_virtual_track(_trackDesign.get(), PTD_OPERATION_REMOVE_GHOST, true, ride, _windowTrackPlaceLastValid); + TrackDesignPreviewRemoveGhosts(_trackDesign.get(), ride, _windowTrackPlaceLastValid); _window_track_place_last_was_valid = false; } } @@ -426,7 +426,7 @@ void TrackPlaceClearProvisionalTemporarily() auto ride = get_ride(_window_track_place_ride_index); if (ride != nullptr) { - place_virtual_track(_trackDesign.get(), PTD_OPERATION_REMOVE_GHOST, true, ride, _windowTrackPlaceLastValid); + TrackDesignPreviewRemoveGhosts(_trackDesign.get(), ride, _windowTrackPlaceLastValid); } } } diff --git a/src/openrct2/ride/TrackDesign.cpp b/src/openrct2/ride/TrackDesign.cpp index 8238f1e765..db8b67037f 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); } +void TrackDesignPreviewRemoveGhosts(TrackDesign* td6, Ride* ride, const CoordsXYZ& coords) +{ + TrackDesignState tds{}; + place_virtual_track(tds, td6, PTD_OPERATION_REMOVE_GHOST, true, ride, coords); +} + void TrackDesignPreviewDrawOutlines(TrackDesign* td6, Ride* ride, const CoordsXYZ& coords) { TrackDesignState tds{}; diff --git a/src/openrct2/ride/TrackDesign.h b/src/openrct2/ride/TrackDesign.h index 8bc6789319..780b3f5362 100644 --- a/src/openrct2/ride/TrackDesign.h +++ b/src/openrct2/ride/TrackDesign.h @@ -226,6 +226,7 @@ void TrackDesignMirror(TrackDesign* td6); money32 place_virtual_track(TrackDesign* td6, uint8_t ptdOperation, bool placeScenery, Ride* ride, const CoordsXYZ& coords); +void TrackDesignPreviewRemoveGhosts(TrackDesign* td6, Ride* ride, const CoordsXYZ& coords); void TrackDesignPreviewDrawOutlines(TrackDesign* td6, Ride* ride, const CoordsXYZ& coords); int32_t TrackDesignGetZPlacement(TrackDesign* td6, Ride* ride, const CoordsXYZ& coords);