From d34321fdaa27b83286040e5708580a1fdaaf4049 Mon Sep 17 00:00:00 2001 From: Tulio Leao Date: Mon, 13 Jan 2020 21:19:08 -0300 Subject: [PATCH] Use CoordsXY on ride_entrance_exit_place_ghost() --- src/openrct2-ui/windows/RideConstruction.cpp | 3 +-- src/openrct2/ride/Ride.h | 2 +- src/openrct2/world/Entrance.cpp | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index 1e3e0eafa4..bd70b82642 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -3713,8 +3713,7 @@ void ride_construction_toolupdate_entrance_exit(ScreenCoordsXY screenCoords) if (ride != nullptr) { _currentTrackPrice = ride_entrance_exit_place_ghost( - ride, entranceOrExitCoords.x, entranceOrExitCoords.y, entranceOrExitCoords.direction, - gRideEntranceExitPlaceType, stationNum); + ride, entranceOrExitCoords, entranceOrExitCoords.direction, gRideEntranceExitPlaceType, stationNum); } window_ride_construction_update_active_elements(); } diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index 59b223732d..78cbec6381 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -1222,7 +1222,7 @@ void ride_get_start_of_track(CoordsXYE* output); void window_ride_construction_update_active_elements(); void ride_construction_remove_ghosts(); money32 ride_entrance_exit_place_ghost( - Ride* ride, int32_t x, int32_t y, int32_t direction, int32_t placeType, int32_t stationNum); + Ride* ride, const CoordsXY& entranceExitCoords, int32_t direction, int32_t placeType, int32_t stationNum); CoordsXYZD ride_get_entrance_or_exit_position_from_screen_position(ScreenCoordsXY screenCoords); bool ride_select_backwards_from_front(); diff --git a/src/openrct2/world/Entrance.cpp b/src/openrct2/world/Entrance.cpp index aab195337e..35c5cc7455 100644 --- a/src/openrct2/world/Entrance.cpp +++ b/src/openrct2/world/Entrance.cpp @@ -36,10 +36,10 @@ CoordsXYZD gRideEntranceExitGhostPosition; uint8_t gRideEntranceExitGhostStationIndex; static money32 RideEntranceExitPlaceGhost( - ride_id_t rideIndex, int16_t x, int16_t y, uint8_t direction, uint8_t placeType, uint8_t stationNum) + ride_id_t rideIndex, const CoordsXY& entranceExitCoords, uint8_t direction, uint8_t placeType, uint8_t stationNum) { auto rideEntranceExitPlaceAction = RideEntranceExitPlaceAction( - { x, y }, direction, rideIndex, stationNum, placeType == ENTRANCE_TYPE_RIDE_EXIT); + entranceExitCoords, direction, rideIndex, stationNum, placeType == ENTRANCE_TYPE_RIDE_EXIT); rideEntranceExitPlaceAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_GHOST); auto res = GameActions::Execute(&rideEntranceExitPlaceAction); @@ -85,8 +85,8 @@ void ride_entrance_exit_place_provisional_ghost() if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT) { RideEntranceExitPlaceGhost( - _currentRideIndex, gRideEntranceExitGhostPosition.x, gRideEntranceExitGhostPosition.y, - gRideEntranceExitGhostPosition.direction, gRideEntranceExitPlaceType, gRideEntranceExitGhostStationIndex); + _currentRideIndex, gRideEntranceExitGhostPosition, gRideEntranceExitGhostPosition.direction, + gRideEntranceExitPlaceType, gRideEntranceExitGhostStationIndex); } } @@ -95,8 +95,8 @@ void ride_entrance_exit_remove_ghost() if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT) { auto rideEntranceExitRemove = RideEntranceExitRemoveAction( - { gRideEntranceExitGhostPosition.x, gRideEntranceExitGhostPosition.y }, _currentRideIndex, - gRideEntranceExitGhostStationIndex, gRideEntranceExitPlaceType == ENTRANCE_TYPE_RIDE_EXIT); + gRideEntranceExitGhostPosition, _currentRideIndex, gRideEntranceExitGhostStationIndex, + gRideEntranceExitPlaceType == ENTRANCE_TYPE_RIDE_EXIT); rideEntranceExitRemove.SetFlags(GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED); GameActions::Execute(&rideEntranceExitRemove); @@ -108,16 +108,16 @@ void ride_entrance_exit_remove_ghost() * rct2: 0x006CA28C */ money32 ride_entrance_exit_place_ghost( - Ride* ride, int32_t x, int32_t y, int32_t direction, int32_t placeType, int32_t stationNum) + Ride* ride, const CoordsXY& entranceExitCoords, int32_t direction, int32_t placeType, int32_t stationNum) { ride_construction_remove_ghosts(); - money32 result = RideEntranceExitPlaceGhost(ride->id, x, y, direction, placeType, stationNum); + money32 result = RideEntranceExitPlaceGhost(ride->id, entranceExitCoords, direction, placeType, stationNum); if (result != MONEY32_UNDEFINED) { _currentTrackSelectionFlags |= TRACK_SELECTION_FLAG_ENTRANCE_OR_EXIT; - gRideEntranceExitGhostPosition.x = x; - gRideEntranceExitGhostPosition.y = y; + gRideEntranceExitGhostPosition.x = entranceExitCoords.x; + gRideEntranceExitGhostPosition.y = entranceExitCoords.y; gRideEntranceExitGhostPosition.direction = direction; gRideEntranceExitGhostStationIndex = stationNum & 0xFF; }