Pass window reference to tool_set (#17625)

This commit is contained in:
Michael Steenbeek 2022-07-28 03:22:22 +02:00 committed by GitHub
parent a3ce24658c
commit 1a8660d59d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 35 additions and 35 deletions

View File

@ -307,7 +307,7 @@ public:
if (tlbrWindow != nullptr) if (tlbrWindow != nullptr)
{ {
tlbrWindow->Invalidate(); tlbrWindow->Invalidate();
if (!tool_set(tlbrWindow, WC_TOP_TOOLBAR__WIDX_SCENERY, Tool::Arrow)) if (!tool_set(*tlbrWindow, WC_TOP_TOOLBAR__WIDX_SCENERY, Tool::Arrow))
{ {
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
window = WindowSceneryOpen(); window = WindowSceneryOpen();

View File

@ -268,7 +268,7 @@ namespace OpenRCT2::Scripting
// prevents abort from being called. // prevents abort from being called.
rct_widgetindex widgetIndex = -2; rct_widgetindex widgetIndex = -2;
tool_cancel(); tool_cancel();
tool_set(toolbarWindow, widgetIndex, static_cast<Tool>(customTool.Cursor)); tool_set(*toolbarWindow, widgetIndex, static_cast<Tool>(customTool.Cursor));
ActiveCustomTool = std::move(customTool); ActiveCustomTool = std::move(customTool);
ActiveCustomTool->Start(); ActiveCustomTool->Start();
} }

View File

@ -213,7 +213,7 @@ rct_window* WindowFootpathOpen()
tool_cancel(); tool_cancel();
_footpathConstructionMode = PATH_CONSTRUCTION_MODE_LAND; _footpathConstructionMode = PATH_CONSTRUCTION_MODE_LAND;
tool_set(window, WIDX_CONSTRUCT_ON_LAND, Tool::PathDown); tool_set(*window, WIDX_CONSTRUCT_ON_LAND, Tool::PathDown);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
_footpathErrorOccured = false; _footpathErrorOccured = false;
WindowFootpathSetEnabledAndPressedWidgets(); WindowFootpathSetEnabledAndPressedWidgets();
@ -264,7 +264,7 @@ static void WindowFootpathMouseup(rct_window* w, rct_widgetindex widgetIndex)
map_invalidate_map_selection_tiles(); map_invalidate_map_selection_tiles();
gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT;
_footpathConstructionMode = PATH_CONSTRUCTION_MODE_LAND; _footpathConstructionMode = PATH_CONSTRUCTION_MODE_LAND;
tool_set(w, WIDX_CONSTRUCT_ON_LAND, Tool::PathDown); tool_set(*w, WIDX_CONSTRUCT_ON_LAND, Tool::PathDown);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
_footpathErrorOccured = false; _footpathErrorOccured = false;
WindowFootpathSetEnabledAndPressedWidgets(); WindowFootpathSetEnabledAndPressedWidgets();
@ -281,7 +281,7 @@ static void WindowFootpathMouseup(rct_window* w, rct_widgetindex widgetIndex)
map_invalidate_map_selection_tiles(); map_invalidate_map_selection_tiles();
gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT; gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT;
_footpathConstructionMode = PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL; _footpathConstructionMode = PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL;
tool_set(w, WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL, Tool::Crosshair); tool_set(*w, WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL, Tool::Crosshair);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
_footpathErrorOccured = false; _footpathErrorOccured = false;
WindowFootpathSetEnabledAndPressedWidgets(); WindowFootpathSetEnabledAndPressedWidgets();

View File

@ -632,7 +632,7 @@ private:
rct_window* wind = window_find_by_number(WC_PEEP, peepnum); rct_window* wind = window_find_by_number(WC_PEEP, peepnum);
if (wind != nullptr) if (wind != nullptr)
{ {
tool_set(wind, WC_PEEP__WIDX_PICKUP, Tool::Picker); tool_set(*wind, WC_PEEP__WIDX_PICKUP, Tool::Picker);
} }
}); });
GameActions::Execute(&pickupAction); GameActions::Execute(&pickupAction);

View File

@ -67,7 +67,7 @@ public:
gLandToolSize = 1; gLandToolSize = 1;
show_gridlines(); show_gridlines();
tool_set(this, WIDX_BUY_LAND_RIGHTS, Tool::UpArrow); tool_set(*this, WIDX_BUY_LAND_RIGHTS, Tool::UpArrow);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
show_land_rights(); show_land_rights();
@ -103,7 +103,7 @@ public:
case WIDX_BUY_LAND_RIGHTS: case WIDX_BUY_LAND_RIGHTS:
if (_landRightsMode != LAND_RIGHTS_MODE_BUY_LAND) if (_landRightsMode != LAND_RIGHTS_MODE_BUY_LAND)
{ {
tool_set(this, WIDX_BUY_LAND_RIGHTS, Tool::UpArrow); tool_set(*this, WIDX_BUY_LAND_RIGHTS, Tool::UpArrow);
_landRightsMode = LAND_RIGHTS_MODE_BUY_LAND; _landRightsMode = LAND_RIGHTS_MODE_BUY_LAND;
show_land_rights(); show_land_rights();
Invalidate(); Invalidate();
@ -112,7 +112,7 @@ public:
case WIDX_BUY_CONSTRUCTION_RIGHTS: case WIDX_BUY_CONSTRUCTION_RIGHTS:
if (_landRightsMode != LAND_RIGHTS_MODE_BUY_CONSTRUCTION_RIGHTS) if (_landRightsMode != LAND_RIGHTS_MODE_BUY_CONSTRUCTION_RIGHTS)
{ {
tool_set(this, WIDX_BUY_CONSTRUCTION_RIGHTS, Tool::UpArrow); tool_set(*this, WIDX_BUY_CONSTRUCTION_RIGHTS, Tool::UpArrow);
_landRightsMode = LAND_RIGHTS_MODE_BUY_CONSTRUCTION_RIGHTS; _landRightsMode = LAND_RIGHTS_MODE_BUY_CONSTRUCTION_RIGHTS;
show_construction_rights(); show_construction_rights();
Invalidate(); Invalidate();

View File

@ -194,7 +194,7 @@ public:
break; break;
case WIDX_SET_LAND_RIGHTS: case WIDX_SET_LAND_RIGHTS:
Invalidate(); Invalidate();
if (tool_set(this, widgetIndex, Tool::UpArrow)) if (tool_set(*this, widgetIndex, Tool::UpArrow))
break; break;
_activeTool = 2; _activeTool = 2;
// Prevent mountain tool size. // Prevent mountain tool size.
@ -237,7 +237,7 @@ public:
break; break;
case WIDX_BUILD_PARK_ENTRANCE: case WIDX_BUILD_PARK_ENTRANCE:
Invalidate(); Invalidate();
if (tool_set(this, widgetIndex, Tool::UpArrow)) if (tool_set(*this, widgetIndex, Tool::UpArrow))
break; break;
gParkEntranceGhostExists = false; gParkEntranceGhostExists = false;
@ -251,7 +251,7 @@ public:
gWindowSceneryRotation = (gWindowSceneryRotation + 1) & 3; gWindowSceneryRotation = (gWindowSceneryRotation + 1) & 3;
break; break;
case WIDX_PEOPLE_STARTING_POSITION: case WIDX_PEOPLE_STARTING_POSITION:
if (tool_set(this, widgetIndex, Tool::UpArrow)) if (tool_set(*this, widgetIndex, Tool::UpArrow))
break; break;
show_gridlines(); show_gridlines();

View File

@ -297,7 +297,7 @@ public:
private: private:
void WindowMazeConstructionEntranceMouseup(rct_widgetindex widgetIndex) void WindowMazeConstructionEntranceMouseup(rct_widgetindex widgetIndex)
{ {
if (tool_set(this, widgetIndex, Tool::Crosshair)) if (tool_set(*this, widgetIndex, Tool::Crosshair))
return; return;
gRideEntranceExitPlaceType = widgetIndex == WIDX_MAZE_ENTRANCE ? ENTRANCE_TYPE_RIDE_ENTRANCE : ENTRANCE_TYPE_RIDE_EXIT; gRideEntranceExitPlaceType = widgetIndex == WIDX_MAZE_ENTRANCE ? ENTRANCE_TYPE_RIDE_ENTRANCE : ENTRANCE_TYPE_RIDE_EXIT;

View File

@ -244,7 +244,7 @@ private:
} }
else else
{ {
if (!tool_set(this, 0, Tool::WalkDown)) if (!tool_set(*this, 0, Tool::WalkDown))
{ {
show_gridlines(); show_gridlines();
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);

View File

@ -4316,7 +4316,7 @@ static void WindowRideColourMouseup(rct_window* w, rct_widgetindex widgetIndex)
WindowRideSetPage(w, widgetIndex - WIDX_TAB_1); WindowRideSetPage(w, widgetIndex - WIDX_TAB_1);
break; break;
case WIDX_PAINT_INDIVIDUAL_AREA: case WIDX_PAINT_INDIVIDUAL_AREA:
tool_set(w, WIDX_PAINT_INDIVIDUAL_AREA, Tool::PaintDown); tool_set(*w, WIDX_PAINT_INDIVIDUAL_AREA, Tool::PaintDown);
break; break;
case WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX: case WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX:
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
@ -5295,7 +5295,7 @@ static void SetupScenerySelection(rct_window* w)
CancelScenerySelection(); CancelScenerySelection();
} }
while (tool_set(w, WIDX_BACKGROUND, Tool::Crosshair)) while (tool_set(*w, WIDX_BACKGROUND, Tool::Crosshair))
; ;
gTrackDesignSaveRideIndex = w->rideId; gTrackDesignSaveRideIndex = w->rideId;

View File

@ -2392,7 +2392,7 @@ private:
void EntranceClick() void EntranceClick()
{ {
if (tool_set(this, WIDX_ENTRANCE, Tool::Crosshair)) if (tool_set(*this, WIDX_ENTRANCE, Tool::Crosshair))
{ {
auto currentRide = get_ride(_currentRideIndex); auto currentRide = get_ride(_currentRideIndex);
if (currentRide != nullptr && !ride_try_get_origin_element(currentRide, nullptr)) if (currentRide != nullptr && !ride_try_get_origin_element(currentRide, nullptr))
@ -2418,7 +2418,7 @@ private:
void ExitClick() void ExitClick()
{ {
if (tool_set(this, WIDX_EXIT, Tool::Crosshair)) if (tool_set(*this, WIDX_EXIT, Tool::Crosshair))
{ {
auto currentRide = get_ride(_currentRideIndex); auto currentRide = get_ride(_currentRideIndex);
if (!ride_try_get_origin_element(currentRide, nullptr)) if (!ride_try_get_origin_element(currentRide, nullptr))
@ -3488,7 +3488,7 @@ void ride_construction_tooldown_construct(const ScreenCoordsXY& screenCoords)
w = window_find_by_class(WC_RIDE_CONSTRUCTION); w = window_find_by_class(WC_RIDE_CONSTRUCTION);
if (w != nullptr) if (w != nullptr)
{ {
tool_set(w, WIDX_CONSTRUCT, Tool::Crosshair); tool_set(*w, WIDX_CONSTRUCT, Tool::Crosshair);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
_trackPlaceCtrlState = false; _trackPlaceCtrlState = false;
_trackPlaceShiftState = false; _trackPlaceShiftState = false;

View File

@ -381,7 +381,7 @@ private:
rct_window* wind = window_find_by_number(WC_PEEP, peepnum); rct_window* wind = window_find_by_number(WC_PEEP, peepnum);
if (wind != nullptr) if (wind != nullptr)
{ {
tool_set(wind, WC_STAFF__WIDX_PICKUP, Tool::Picker); tool_set(*wind, WC_STAFF__WIDX_PICKUP, Tool::Picker);
} }
}); });
GameActions::Execute(&pickupAction); GameActions::Execute(&pickupAction);

View File

@ -139,7 +139,7 @@ public:
break; break;
} }
case WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON: case WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON:
if (!tool_set(this, WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON, Tool::Crosshair)) if (!tool_set(*this, WIDX_STAFF_LIST_SHOW_PATROL_AREA_BUTTON, Tool::Crosshair))
{ {
show_gridlines(); show_gridlines();
SetPatrolAreaToRender(GetSelectedStaffType()); SetPatrolAreaToRender(GetSelectedStaffType());

View File

@ -531,7 +531,7 @@ rct_window* WindowTileInspectorOpen()
windowTileInspectorTileSelected = false; windowTileInspectorTileSelected = false;
tool_set(window, WIDX_BACKGROUND, Tool::Crosshair); tool_set(*window, WIDX_BACKGROUND, Tool::Crosshair);
return window; return window;
} }

View File

@ -382,7 +382,7 @@ static void WindowTopToolbarMouseup(rct_window* w, rct_widgetindex widgetIndex)
ToggleWaterWindow(w, WIDX_WATER); ToggleWaterWindow(w, WIDX_WATER);
break; break;
case WIDX_SCENERY: case WIDX_SCENERY:
if (!tool_set(w, WIDX_SCENERY, Tool::Arrow)) if (!tool_set(*w, WIDX_SCENERY, Tool::Arrow))
{ {
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
context_open_window(WC_SCENERY); context_open_window(WC_SCENERY);
@ -3820,7 +3820,7 @@ static void ToggleLandWindow(rct_window* topToolbar, rct_widgetindex widgetIndex
{ {
_landToolBlocked = false; _landToolBlocked = false;
show_gridlines(); show_gridlines();
tool_set(topToolbar, widgetIndex, Tool::DigDown); tool_set(*topToolbar, widgetIndex, Tool::DigDown);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
context_open_window(WC_LAND); context_open_window(WC_LAND);
} }
@ -3840,7 +3840,7 @@ static void ToggleClearSceneryWindow(rct_window* topToolbar, rct_widgetindex wid
else else
{ {
show_gridlines(); show_gridlines();
tool_set(topToolbar, widgetIndex, Tool::Crosshair); tool_set(*topToolbar, widgetIndex, Tool::Crosshair);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
context_open_window(WC_CLEAR_SCENERY); context_open_window(WC_CLEAR_SCENERY);
} }
@ -3861,7 +3861,7 @@ static void ToggleWaterWindow(rct_window* topToolbar, rct_widgetindex widgetInde
{ {
_landToolBlocked = false; _landToolBlocked = false;
show_gridlines(); show_gridlines();
tool_set(topToolbar, widgetIndex, Tool::WaterDown); tool_set(*topToolbar, widgetIndex, Tool::WaterDown);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
context_open_window(WC_WATER); context_open_window(WC_WATER);
} }

View File

@ -79,7 +79,7 @@ public:
{ {
widgets = window_track_place_widgets; widgets = window_track_place_widgets;
WindowInitScrollWidgets(this); WindowInitScrollWidgets(this);
tool_set(this, WIDX_PRICE, Tool::Crosshair); tool_set(*this, WIDX_PRICE, Tool::Crosshair);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
window_push_others_right(this); window_push_others_right(this);
show_gridlines(); show_gridlines();

View File

@ -114,7 +114,7 @@ public:
break; break;
case WIDX_CLIP_SELECTOR: case WIDX_CLIP_SELECTOR:
// Activate the selection tool // Activate the selection tool
tool_set(this, WIDX_BACKGROUND, Tool::Crosshair); tool_set(*this, WIDX_BACKGROUND, Tool::Crosshair);
_toolActive = true; _toolActive = true;
_dragging = false; _dragging = false;

View File

@ -1354,11 +1354,11 @@ void window_set_resize(rct_window* w, int32_t minWidth, int32_t minHeight, int32
* @param widgetIndex (dx) * @param widgetIndex (dx)
* @param w (esi) * @param w (esi)
*/ */
bool tool_set(rct_window* w, rct_widgetindex widgetIndex, Tool tool) bool tool_set(const rct_window& w, rct_widgetindex widgetIndex, Tool tool)
{ {
if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE))
{ {
if (w->classification == gCurrentToolWidget.window_classification && w->number == gCurrentToolWidget.window_number if (w.classification == gCurrentToolWidget.window_classification && w.number == gCurrentToolWidget.window_number
&& widgetIndex == gCurrentToolWidget.widget_index) && widgetIndex == gCurrentToolWidget.widget_index)
{ {
tool_cancel(); tool_cancel();
@ -1371,8 +1371,8 @@ bool tool_set(rct_window* w, rct_widgetindex widgetIndex, Tool tool)
input_set_flag(INPUT_FLAG_TOOL_ACTIVE, true); input_set_flag(INPUT_FLAG_TOOL_ACTIVE, true);
input_set_flag(INPUT_FLAG_6, false); input_set_flag(INPUT_FLAG_6, false);
gCurrentToolId = tool; gCurrentToolId = tool;
gCurrentToolWidget.window_classification = w->classification; gCurrentToolWidget.window_classification = w.classification;
gCurrentToolWidget.window_number = w->number; gCurrentToolWidget.window_number = w.number;
gCurrentToolWidget.widget_index = widgetIndex; gCurrentToolWidget.widget_index = widgetIndex;
return false; return false;
} }

View File

@ -743,7 +743,7 @@ void window_move_position(rct_window* w, const ScreenCoordsXY& screenCoords);
void window_resize(rct_window* w, int32_t dw, int32_t dh); void window_resize(rct_window* w, int32_t dw, int32_t dh);
void window_set_resize(rct_window* w, int32_t minWidth, int32_t minHeight, int32_t maxWidth, int32_t maxHeight); void window_set_resize(rct_window* w, int32_t minWidth, int32_t minHeight, int32_t maxWidth, int32_t maxHeight);
bool tool_set(rct_window* w, rct_widgetindex widgetIndex, Tool tool); bool tool_set(const rct_window& w, rct_widgetindex widgetIndex, Tool tool);
void tool_cancel(); void tool_cancel();
void window_close_construction_windows(); void window_close_construction_windows();

View File

@ -909,7 +909,7 @@ static bool ride_modify_entrance_or_exit(const CoordsXYE& tileElement)
{ {
// Replace entrance / exit // Replace entrance / exit
tool_set( tool_set(
constructionWindow, *constructionWindow,
entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT, entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT,
Tool::Crosshair); Tool::Crosshair);
gRideEntranceExitPlaceType = entranceType; gRideEntranceExitPlaceType = entranceType;
@ -1099,7 +1099,7 @@ int32_t ride_initialise_construction_window(Ride* ride)
w = ride_create_or_find_construction_window(ride->id); w = ride_create_or_find_construction_window(ride->id);
tool_set(w, WC_RIDE_CONSTRUCTION__WIDX_CONSTRUCT, Tool::Crosshair); tool_set(*w, WC_RIDE_CONSTRUCTION__WIDX_CONSTRUCT, Tool::Crosshair);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
ride = get_ride(_currentRideIndex); ride = get_ride(_currentRideIndex);