From 0fc6da2443e024c0ae780a8f5fda948df0d52234 Mon Sep 17 00:00:00 2001 From: Tulio Leao Date: Wed, 13 Nov 2019 02:54:55 -0800 Subject: [PATCH] Use ScreenCoordsXY for MazeConstruction (#10222) --- src/openrct2-ui/windows/MazeConstruction.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/openrct2-ui/windows/MazeConstruction.cpp b/src/openrct2-ui/windows/MazeConstruction.cpp index 175495141d..4a19d860a8 100644 --- a/src/openrct2-ui/windows/MazeConstruction.cpp +++ b/src/openrct2-ui/windows/MazeConstruction.cpp @@ -353,7 +353,7 @@ static void window_maze_construction_toolupdate(rct_window* w, rct_widgetindex w * * rct2: 0x006C825F */ -static void window_maze_construction_entrance_tooldown(int32_t x, int32_t y, rct_window* w) +static void window_maze_construction_entrance_tooldown(ScreenCoordsXY screenCoords, rct_window* w) { ride_construction_invalidate_current_track(); @@ -363,7 +363,11 @@ static void window_maze_construction_entrance_tooldown(int32_t x, int32_t y, rct gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_ARROW; int32_t direction = 0; - ride_get_entrance_or_exit_position_from_screen_position(x, y, &x, &y, &direction); + CoordsXY entranceOrExitCoords; + ride_get_entrance_or_exit_position_from_screen_position( + screenCoords.x, screenCoords.y, &entranceOrExitCoords.x, &entranceOrExitCoords.y, &direction); + if (entranceOrExitCoords.x == LOCATION_NULL) + return; if (gRideEntranceExitPlaceDirection == 0xFF) return; @@ -371,7 +375,7 @@ static void window_maze_construction_entrance_tooldown(int32_t x, int32_t y, rct ride_id_t rideIndex = gRideEntranceExitPlaceRideIndex; auto rideEntranceExitPlaceAction = RideEntranceExitPlaceAction( - { x, y }, direction_reverse(direction), rideIndex, gRideEntranceExitPlaceStationIndex, + entranceOrExitCoords, direction_reverse(direction), rideIndex, gRideEntranceExitPlaceStationIndex, gRideEntranceExitPlaceType == ENTRANCE_TYPE_RIDE_EXIT); rideEntranceExitPlaceAction.SetCallback([=](const GameAction* ga, const GameActionResult* result) { @@ -410,7 +414,7 @@ static void window_maze_construction_tooldown(rct_window* w, rct_widgetindex wid break; case WIDX_MAZE_ENTRANCE: case WIDX_MAZE_EXIT: - window_maze_construction_entrance_tooldown(screenCoords.x, screenCoords.y, w); + window_maze_construction_entrance_tooldown(screenCoords, w); break; } }