mirror of https://github.com/OpenRCT2/OpenRCT2.git
Pass window reference to tool_set (#17625)
This commit is contained in:
parent
a3ce24658c
commit
1a8660d59d
|
@ -307,7 +307,7 @@ public:
|
|||
if (tlbrWindow != nullptr)
|
||||
{
|
||||
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);
|
||||
window = WindowSceneryOpen();
|
||||
|
|
|
@ -268,7 +268,7 @@ namespace OpenRCT2::Scripting
|
|||
// prevents abort from being called.
|
||||
rct_widgetindex widgetIndex = -2;
|
||||
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->Start();
|
||||
}
|
||||
|
|
|
@ -213,7 +213,7 @@ rct_window* WindowFootpathOpen()
|
|||
|
||||
tool_cancel();
|
||||
_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);
|
||||
_footpathErrorOccured = false;
|
||||
WindowFootpathSetEnabledAndPressedWidgets();
|
||||
|
@ -264,7 +264,7 @@ static void WindowFootpathMouseup(rct_window* w, rct_widgetindex widgetIndex)
|
|||
map_invalidate_map_selection_tiles();
|
||||
gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT;
|
||||
_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);
|
||||
_footpathErrorOccured = false;
|
||||
WindowFootpathSetEnabledAndPressedWidgets();
|
||||
|
@ -281,7 +281,7 @@ static void WindowFootpathMouseup(rct_window* w, rct_widgetindex widgetIndex)
|
|||
map_invalidate_map_selection_tiles();
|
||||
gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT;
|
||||
_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);
|
||||
_footpathErrorOccured = false;
|
||||
WindowFootpathSetEnabledAndPressedWidgets();
|
||||
|
|
|
@ -632,7 +632,7 @@ private:
|
|||
rct_window* wind = window_find_by_number(WC_PEEP, peepnum);
|
||||
if (wind != nullptr)
|
||||
{
|
||||
tool_set(wind, WC_PEEP__WIDX_PICKUP, Tool::Picker);
|
||||
tool_set(*wind, WC_PEEP__WIDX_PICKUP, Tool::Picker);
|
||||
}
|
||||
});
|
||||
GameActions::Execute(&pickupAction);
|
||||
|
|
|
@ -67,7 +67,7 @@ public:
|
|||
gLandToolSize = 1;
|
||||
|
||||
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);
|
||||
|
||||
show_land_rights();
|
||||
|
@ -103,7 +103,7 @@ public:
|
|||
case WIDX_BUY_LAND_RIGHTS:
|
||||
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;
|
||||
show_land_rights();
|
||||
Invalidate();
|
||||
|
@ -112,7 +112,7 @@ public:
|
|||
case WIDX_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;
|
||||
show_construction_rights();
|
||||
Invalidate();
|
||||
|
|
|
@ -194,7 +194,7 @@ public:
|
|||
break;
|
||||
case WIDX_SET_LAND_RIGHTS:
|
||||
Invalidate();
|
||||
if (tool_set(this, widgetIndex, Tool::UpArrow))
|
||||
if (tool_set(*this, widgetIndex, Tool::UpArrow))
|
||||
break;
|
||||
_activeTool = 2;
|
||||
// Prevent mountain tool size.
|
||||
|
@ -237,7 +237,7 @@ public:
|
|||
break;
|
||||
case WIDX_BUILD_PARK_ENTRANCE:
|
||||
Invalidate();
|
||||
if (tool_set(this, widgetIndex, Tool::UpArrow))
|
||||
if (tool_set(*this, widgetIndex, Tool::UpArrow))
|
||||
break;
|
||||
|
||||
gParkEntranceGhostExists = false;
|
||||
|
@ -251,7 +251,7 @@ public:
|
|||
gWindowSceneryRotation = (gWindowSceneryRotation + 1) & 3;
|
||||
break;
|
||||
case WIDX_PEOPLE_STARTING_POSITION:
|
||||
if (tool_set(this, widgetIndex, Tool::UpArrow))
|
||||
if (tool_set(*this, widgetIndex, Tool::UpArrow))
|
||||
break;
|
||||
|
||||
show_gridlines();
|
||||
|
|
|
@ -297,7 +297,7 @@ public:
|
|||
private:
|
||||
void WindowMazeConstructionEntranceMouseup(rct_widgetindex widgetIndex)
|
||||
{
|
||||
if (tool_set(this, widgetIndex, Tool::Crosshair))
|
||||
if (tool_set(*this, widgetIndex, Tool::Crosshair))
|
||||
return;
|
||||
|
||||
gRideEntranceExitPlaceType = widgetIndex == WIDX_MAZE_ENTRANCE ? ENTRANCE_TYPE_RIDE_ENTRANCE : ENTRANCE_TYPE_RIDE_EXIT;
|
||||
|
|
|
@ -244,7 +244,7 @@ private:
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!tool_set(this, 0, Tool::WalkDown))
|
||||
if (!tool_set(*this, 0, Tool::WalkDown))
|
||||
{
|
||||
show_gridlines();
|
||||
input_set_flag(INPUT_FLAG_6, true);
|
||||
|
|
|
@ -4316,7 +4316,7 @@ static void WindowRideColourMouseup(rct_window* w, rct_widgetindex widgetIndex)
|
|||
WindowRideSetPage(w, widgetIndex - WIDX_TAB_1);
|
||||
break;
|
||||
case WIDX_PAINT_INDIVIDUAL_AREA:
|
||||
tool_set(w, WIDX_PAINT_INDIVIDUAL_AREA, Tool::PaintDown);
|
||||
tool_set(*w, WIDX_PAINT_INDIVIDUAL_AREA, Tool::PaintDown);
|
||||
break;
|
||||
case WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX:
|
||||
auto ride = get_ride(w->rideId);
|
||||
|
@ -5295,7 +5295,7 @@ static void SetupScenerySelection(rct_window* w)
|
|||
CancelScenerySelection();
|
||||
}
|
||||
|
||||
while (tool_set(w, WIDX_BACKGROUND, Tool::Crosshair))
|
||||
while (tool_set(*w, WIDX_BACKGROUND, Tool::Crosshair))
|
||||
;
|
||||
|
||||
gTrackDesignSaveRideIndex = w->rideId;
|
||||
|
|
|
@ -2392,7 +2392,7 @@ private:
|
|||
|
||||
void EntranceClick()
|
||||
{
|
||||
if (tool_set(this, WIDX_ENTRANCE, Tool::Crosshair))
|
||||
if (tool_set(*this, WIDX_ENTRANCE, Tool::Crosshair))
|
||||
{
|
||||
auto currentRide = get_ride(_currentRideIndex);
|
||||
if (currentRide != nullptr && !ride_try_get_origin_element(currentRide, nullptr))
|
||||
|
@ -2418,7 +2418,7 @@ private:
|
|||
|
||||
void ExitClick()
|
||||
{
|
||||
if (tool_set(this, WIDX_EXIT, Tool::Crosshair))
|
||||
if (tool_set(*this, WIDX_EXIT, Tool::Crosshair))
|
||||
{
|
||||
auto currentRide = get_ride(_currentRideIndex);
|
||||
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);
|
||||
if (w != nullptr)
|
||||
{
|
||||
tool_set(w, WIDX_CONSTRUCT, Tool::Crosshair);
|
||||
tool_set(*w, WIDX_CONSTRUCT, Tool::Crosshair);
|
||||
input_set_flag(INPUT_FLAG_6, true);
|
||||
_trackPlaceCtrlState = false;
|
||||
_trackPlaceShiftState = false;
|
||||
|
|
|
@ -381,7 +381,7 @@ private:
|
|||
rct_window* wind = window_find_by_number(WC_PEEP, peepnum);
|
||||
if (wind != nullptr)
|
||||
{
|
||||
tool_set(wind, WC_STAFF__WIDX_PICKUP, Tool::Picker);
|
||||
tool_set(*wind, WC_STAFF__WIDX_PICKUP, Tool::Picker);
|
||||
}
|
||||
});
|
||||
GameActions::Execute(&pickupAction);
|
||||
|
|
|
@ -139,7 +139,7 @@ public:
|
|||
break;
|
||||
}
|
||||
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();
|
||||
SetPatrolAreaToRender(GetSelectedStaffType());
|
||||
|
|
|
@ -531,7 +531,7 @@ rct_window* WindowTileInspectorOpen()
|
|||
|
||||
windowTileInspectorTileSelected = false;
|
||||
|
||||
tool_set(window, WIDX_BACKGROUND, Tool::Crosshair);
|
||||
tool_set(*window, WIDX_BACKGROUND, Tool::Crosshair);
|
||||
|
||||
return window;
|
||||
}
|
||||
|
|
|
@ -382,7 +382,7 @@ static void WindowTopToolbarMouseup(rct_window* w, rct_widgetindex widgetIndex)
|
|||
ToggleWaterWindow(w, WIDX_WATER);
|
||||
break;
|
||||
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);
|
||||
context_open_window(WC_SCENERY);
|
||||
|
@ -3820,7 +3820,7 @@ static void ToggleLandWindow(rct_window* topToolbar, rct_widgetindex widgetIndex
|
|||
{
|
||||
_landToolBlocked = false;
|
||||
show_gridlines();
|
||||
tool_set(topToolbar, widgetIndex, Tool::DigDown);
|
||||
tool_set(*topToolbar, widgetIndex, Tool::DigDown);
|
||||
input_set_flag(INPUT_FLAG_6, true);
|
||||
context_open_window(WC_LAND);
|
||||
}
|
||||
|
@ -3840,7 +3840,7 @@ static void ToggleClearSceneryWindow(rct_window* topToolbar, rct_widgetindex wid
|
|||
else
|
||||
{
|
||||
show_gridlines();
|
||||
tool_set(topToolbar, widgetIndex, Tool::Crosshair);
|
||||
tool_set(*topToolbar, widgetIndex, Tool::Crosshair);
|
||||
input_set_flag(INPUT_FLAG_6, true);
|
||||
context_open_window(WC_CLEAR_SCENERY);
|
||||
}
|
||||
|
@ -3861,7 +3861,7 @@ static void ToggleWaterWindow(rct_window* topToolbar, rct_widgetindex widgetInde
|
|||
{
|
||||
_landToolBlocked = false;
|
||||
show_gridlines();
|
||||
tool_set(topToolbar, widgetIndex, Tool::WaterDown);
|
||||
tool_set(*topToolbar, widgetIndex, Tool::WaterDown);
|
||||
input_set_flag(INPUT_FLAG_6, true);
|
||||
context_open_window(WC_WATER);
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ public:
|
|||
{
|
||||
widgets = window_track_place_widgets;
|
||||
WindowInitScrollWidgets(this);
|
||||
tool_set(this, WIDX_PRICE, Tool::Crosshair);
|
||||
tool_set(*this, WIDX_PRICE, Tool::Crosshair);
|
||||
input_set_flag(INPUT_FLAG_6, true);
|
||||
window_push_others_right(this);
|
||||
show_gridlines();
|
||||
|
|
|
@ -114,7 +114,7 @@ public:
|
|||
break;
|
||||
case WIDX_CLIP_SELECTOR:
|
||||
// Activate the selection tool
|
||||
tool_set(this, WIDX_BACKGROUND, Tool::Crosshair);
|
||||
tool_set(*this, WIDX_BACKGROUND, Tool::Crosshair);
|
||||
_toolActive = true;
|
||||
_dragging = false;
|
||||
|
||||
|
|
|
@ -1354,11 +1354,11 @@ void window_set_resize(rct_window* w, int32_t minWidth, int32_t minHeight, int32
|
|||
* @param widgetIndex (dx)
|
||||
* @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 (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)
|
||||
{
|
||||
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_6, false);
|
||||
gCurrentToolId = tool;
|
||||
gCurrentToolWidget.window_classification = w->classification;
|
||||
gCurrentToolWidget.window_number = w->number;
|
||||
gCurrentToolWidget.window_classification = w.classification;
|
||||
gCurrentToolWidget.window_number = w.number;
|
||||
gCurrentToolWidget.widget_index = widgetIndex;
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -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_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 window_close_construction_windows();
|
||||
|
|
|
@ -909,7 +909,7 @@ static bool ride_modify_entrance_or_exit(const CoordsXYE& tileElement)
|
|||
{
|
||||
// Replace entrance / exit
|
||||
tool_set(
|
||||
constructionWindow,
|
||||
*constructionWindow,
|
||||
entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT,
|
||||
Tool::Crosshair);
|
||||
gRideEntranceExitPlaceType = entranceType;
|
||||
|
@ -1099,7 +1099,7 @@ int32_t ride_initialise_construction_window(Ride* ride)
|
|||
|
||||
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);
|
||||
|
||||
ride = get_ride(_currentRideIndex);
|
||||
|
|
Loading…
Reference in New Issue