From c8605a876386ca7b210699eb14870c513539f30c Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sat, 30 Jul 2022 22:21:51 +0200 Subject: [PATCH] Refactor window functions to take references 2 --- src/openrct2-ui/input/MouseInput.cpp | 12 +- src/openrct2-ui/input/Shortcuts.cpp | 22 +- src/openrct2-ui/interface/Widget.cpp | 102 ++++---- src/openrct2-ui/interface/Window.cpp | 14 +- src/openrct2-ui/scripting/CustomWindow.cpp | 6 +- src/openrct2-ui/scripting/ScWidget.hpp | 28 +- src/openrct2-ui/windows/DebugPaint.cpp | 10 +- .../windows/EditorObjectiveOptions.cpp | 2 +- src/openrct2-ui/windows/Footpath.cpp | 22 +- src/openrct2-ui/windows/Guest.cpp | 20 +- src/openrct2-ui/windows/Map.cpp | 6 +- src/openrct2-ui/windows/MapGen.cpp | 72 +++--- src/openrct2-ui/windows/MazeConstruction.cpp | 4 +- src/openrct2-ui/windows/Multiplayer.cpp | 8 +- src/openrct2-ui/windows/NewCampaign.cpp | 4 +- src/openrct2-ui/windows/NewRide.cpp | 4 +- src/openrct2-ui/windows/NewsOptions.cpp | 2 +- src/openrct2-ui/windows/ObjectLoadError.cpp | 2 +- src/openrct2-ui/windows/Options.cpp | 10 +- src/openrct2-ui/windows/Park.cpp | 18 +- src/openrct2-ui/windows/Player.cpp | 6 +- src/openrct2-ui/windows/Research.cpp | 2 +- src/openrct2-ui/windows/Ride.cpp | 20 +- src/openrct2-ui/windows/RideConstruction.cpp | 240 +++++++++--------- src/openrct2-ui/windows/RideList.cpp | 4 +- src/openrct2-ui/windows/ServerStart.cpp | 2 +- src/openrct2-ui/windows/ShortcutKeys.cpp | 2 +- src/openrct2-ui/windows/Themes.cpp | 8 +- src/openrct2-ui/windows/TileInspector.cpp | 102 ++++---- src/openrct2-ui/windows/TopToolbar.cpp | 18 +- src/openrct2-ui/windows/ViewClipping.cpp | 2 +- src/openrct2/interface/Widget.h | 24 +- 32 files changed, 399 insertions(+), 399 deletions(-) diff --git a/src/openrct2-ui/input/MouseInput.cpp b/src/openrct2-ui/input/MouseInput.cpp index b3c7018472..013d2f852a 100644 --- a/src/openrct2-ui/input/MouseInput.cpp +++ b/src/openrct2-ui/input/MouseInput.cpp @@ -1061,7 +1061,7 @@ static void InputWidgetLeft(const ScreenCoordsXY& screenCoords, rct_window* w, r InputScrollBegin(w, widgetIndex, screenCoords); break; default: - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { OpenRCT2::Audio::Play(OpenRCT2::Audio::SoundId::Click1, 0, w->windowPos.x + widget.midX()); @@ -1207,7 +1207,7 @@ void InputStateWidgetPressed( || widgetIndex != cursor_widgetIndex) break; - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) break; if (_clickRepeatTicks != 0) @@ -1217,7 +1217,7 @@ void InputStateWidgetPressed( // Handle click repeat if (_clickRepeatTicks >= 16 && (_clickRepeatTicks & 3) == 0) { - if (WidgetIsHoldable(w, widgetIndex)) + if (WidgetIsHoldable(*w, widgetIndex)) { window_event_mouse_down_call(w, widgetIndex); } @@ -1334,7 +1334,7 @@ void InputStateWidgetPressed( if (cursor_w_class != w->classification || cursor_w_number != w->number || widgetIndex != cursor_widgetIndex) break; - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) break; widget_invalidate_by_number(cursor_w_class, cursor_w_number, widgetIndex); @@ -1441,7 +1441,7 @@ static void InputUpdateTooltip(rct_window* w, rct_widgetindex widgetIndex, const if (gTooltipCursor == screenCoords) { _tooltipNotShownTicks++; - if (_tooltipNotShownTicks > 50 && w != nullptr && WidgetIsVisible(w, widgetIndex)) + if (_tooltipNotShownTicks > 50 && w != nullptr && WidgetIsVisible(*w, widgetIndex)) { gTooltipTimeout = 0; WindowTooltipOpen(w, widgetIndex, screenCoords); @@ -1457,7 +1457,7 @@ static void InputUpdateTooltip(rct_window* w, rct_widgetindex widgetIndex, const if (w == nullptr || gTooltipWidget.window_classification != w->classification || gTooltipWidget.window_number != w->number || gTooltipWidget.widget_index != widgetIndex - || !WidgetIsVisible(w, widgetIndex)) + || !WidgetIsVisible(*w, widgetIndex)) { WindowTooltipClose(); } diff --git a/src/openrct2-ui/input/Shortcuts.cpp b/src/openrct2-ui/input/Shortcuts.cpp index 0b8c370cd3..b7b70af669 100644 --- a/src/openrct2-ui/input/Shortcuts.cpp +++ b/src/openrct2-ui/input/Shortcuts.cpp @@ -85,7 +85,7 @@ static void ShortcutRotateConstructionObject() // Rotate scenery rct_window* w = window_find_by_class(WC_SCENERY); - if (w != nullptr && !WidgetIsDisabled(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON) + if (w != nullptr && !WidgetIsDisabled(*w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON) && w->widgets[WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type != WindowWidgetType::Empty) { window_event_mouse_up_call(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON); @@ -94,7 +94,7 @@ static void ShortcutRotateConstructionObject() // Rotate construction track piece w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != nullptr && !WidgetIsDisabled(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE) + if (w != nullptr && !WidgetIsDisabled(*w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE) && w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].type != WindowWidgetType::Empty) { // Check if building a maze... @@ -107,7 +107,7 @@ static void ShortcutRotateConstructionObject() // Rotate track design preview w = window_find_by_class(WC_TRACK_DESIGN_LIST); - if (w != nullptr && !WidgetIsDisabled(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE) + if (w != nullptr && !WidgetIsDisabled(*w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE) && w->widgets[WC_TRACK_DESIGN_LIST__WIDX_ROTATE].type != WindowWidgetType::Empty) { window_event_mouse_up_call(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE); @@ -116,7 +116,7 @@ static void ShortcutRotateConstructionObject() // Rotate track design placement w = window_find_by_class(WC_TRACK_DESIGN_PLACE); - if (w != nullptr && !WidgetIsDisabled(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE) + if (w != nullptr && !WidgetIsDisabled(*w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE) && w->widgets[WC_TRACK_DESIGN_PLACE__WIDX_ROTATE].type != WindowWidgetType::Empty) { window_event_mouse_up_call(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE); @@ -125,7 +125,7 @@ static void ShortcutRotateConstructionObject() // Rotate park entrance w = window_find_by_class(WC_MAP); - if (w != nullptr && !WidgetIsDisabled(w, WC_MAP__WIDX_ROTATE_90) + if (w != nullptr && !WidgetIsDisabled(*w, WC_MAP__WIDX_ROTATE_90) && w->widgets[WC_MAP__WIDX_ROTATE_90].type != WindowWidgetType::Empty) { window_event_mouse_up_call(w, WC_MAP__WIDX_ROTATE_90); @@ -134,7 +134,7 @@ static void ShortcutRotateConstructionObject() // Rotate selected element in tile inspector w = window_find_by_class(WC_TILE_INSPECTOR); - if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE) + if (w != nullptr && !WidgetIsDisabled(*w, WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE) && w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE].type != WindowWidgetType::Empty) { window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE); @@ -462,7 +462,7 @@ static void ShortcutOpenSceneryPicker() } window_scenery = window_find_by_class(WC_SCENERY); - if (window_scenery != nullptr && !WidgetIsDisabled(window_scenery, WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON) + if (window_scenery != nullptr && !WidgetIsDisabled(*window_scenery, WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON) && window_scenery->widgets[WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON].type != WindowWidgetType::Empty && !gWindowSceneryEyedropperEnabled) { @@ -494,7 +494,7 @@ static void ShortcutScaleDown() static void TileInspectorMouseUp(rct_widgetindex widgetIndex) { auto w = window_find_by_class(WC_TILE_INSPECTOR); - if (w != nullptr && !WidgetIsDisabled(w, widgetIndex) && w->widgets[widgetIndex].type != WindowWidgetType::Empty) + if (w != nullptr && !WidgetIsDisabled(*w, widgetIndex) && w->widgets[widgetIndex].type != WindowWidgetType::Empty) { window_event_mouse_up_call(w, widgetIndex); } @@ -503,7 +503,7 @@ static void TileInspectorMouseUp(rct_widgetindex widgetIndex) static void TileInspectorMouseDown(rct_widgetindex widgetIndex) { auto w = window_find_by_class(WC_TILE_INSPECTOR); - if (w != nullptr && !WidgetIsDisabled(w, widgetIndex) && w->widgets[widgetIndex].type != WindowWidgetType::Empty) + if (w != nullptr && !WidgetIsDisabled(*w, widgetIndex) && w->widgets[widgetIndex].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, widgetIndex); } @@ -563,7 +563,7 @@ static void ShortcutIncreaseElementHeight() case TileInspectorPage::Default: break; } - if (action != -1 && !WidgetIsDisabled(w, action) && w->widgets[action].type != WindowWidgetType::Empty) + if (action != -1 && !WidgetIsDisabled(*w, action) && w->widgets[action].type != WindowWidgetType::Empty) window_event_mouse_down_call(w, action); return; } @@ -604,7 +604,7 @@ static void ShortcutDecreaseElementHeight() case TileInspectorPage::Default: break; } - if (action != -1 && !WidgetIsDisabled(w, action) && w->widgets[action].type != WindowWidgetType::Empty) + if (action != -1 && !WidgetIsDisabled(*w, action) && w->widgets[action].type != WindowWidgetType::Empty) window_event_mouse_down_call(w, action); return; } diff --git a/src/openrct2-ui/interface/Widget.cpp b/src/openrct2-ui/interface/Widget.cpp index 7893317c63..bac7fbe86d 100644 --- a/src/openrct2-ui/interface/Widget.cpp +++ b/src/openrct2-ui/interface/Widget.cpp @@ -191,7 +191,7 @@ static void WidgetButtonDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetin w->windowPos + ScreenCoordsXY{ widget.right, widget.bottom } }; // Check if the button is pressed down - uint8_t press = WidgetIsPressed(w, widgetIndex) || WidgetIsActiveTool(w, widgetIndex) ? INSET_RECT_FLAG_BORDER_INSET : 0; + uint8_t press = WidgetIsPressed(*w, widgetIndex) || WidgetIsActiveTool(*w, widgetIndex) ? INSET_RECT_FLAG_BORDER_INSET : 0; // Get the colour uint8_t colour = w->colours[widget.colour]; @@ -223,7 +223,7 @@ static void WidgetTabDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex if (widget.type == WindowWidgetType::Tab) { - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) return; if (widget.image == static_cast(SPR_NONE)) @@ -234,7 +234,7 @@ static void WidgetTabDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex } // Draw widgets that aren't explicitly disabled. - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { WidgetDrawImage(dpi, w, widgetIndex); return; @@ -263,7 +263,7 @@ static void WidgetTabDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex */ static void WidgetFlatButtonDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex widgetIndex) { - if (!WidgetIsDisabled(w, widgetIndex) && WidgetIsHighlighted(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex) && WidgetIsHighlighted(*w, widgetIndex)) { WidgetButtonDraw(dpi, w, widgetIndex); return; @@ -280,7 +280,7 @@ static void WidgetFlatButtonDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widg uint8_t colour = w->colours[widget.colour]; // Check if the button is pressed down - if (WidgetIsPressed(w, widgetIndex) || WidgetIsActiveTool(w, widgetIndex)) + if (WidgetIsPressed(*w, widgetIndex) || WidgetIsActiveTool(*w, widgetIndex)) { if (static_cast(widget.image) == -2) { @@ -314,7 +314,7 @@ static void WidgetTextButton(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetin uint8_t colour = w->colours[widget.colour]; // Border - uint8_t press = WidgetIsPressed(w, widgetIndex) || WidgetIsActiveTool(w, widgetIndex) ? INSET_RECT_FLAG_BORDER_INSET : 0; + uint8_t press = WidgetIsPressed(*w, widgetIndex) || WidgetIsActiveTool(*w, widgetIndex) ? INSET_RECT_FLAG_BORDER_INSET : 0; gfx_fill_rect_inset(dpi, rect, colour, press); // Button caption @@ -343,7 +343,7 @@ static void WidgetTextCentred(rct_drawpixelinfo* dpi, rct_window* w, rct_widgeti // Get the colour colour_t colour = w->colours[widget.colour]; colour &= ~(COLOUR_FLAG_TRANSLUCENT); - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) colour |= COLOUR_FLAG_INSET; // Resolve the absolute ltrb @@ -388,7 +388,7 @@ static void WidgetText(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex wi // Get the colour uint8_t colour = w->colours[widget.colour]; - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) colour |= COLOUR_FLAG_INSET; // Resolve the absolute ltrb @@ -482,7 +482,7 @@ static void WidgetGroupboxDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widget if (stringId != STR_NONE) { uint8_t colour = w->colours[widget.colour] & 0x7F; - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) colour |= COLOUR_FLAG_INSET; utf8 buffer[512] = { 0 }; @@ -589,7 +589,7 @@ static void WidgetCloseboxDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widget uint8_t press = 0; if (w->flags & WF_10) press |= INSET_RECT_FLAG_FILL_MID_LIGHT; - if (WidgetIsPressed(w, widgetIndex) || WidgetIsActiveTool(w, widgetIndex)) + if (WidgetIsPressed(*w, widgetIndex) || WidgetIsActiveTool(*w, widgetIndex)) press |= INSET_RECT_FLAG_BORDER_INSET; // Get the colour @@ -603,7 +603,7 @@ static void WidgetCloseboxDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widget topLeft = w->windowPos + ScreenCoordsXY{ widget.midX() - 1, std::max(widget.top, widget.midY() - 5) }; - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) colour |= COLOUR_FLAG_INSET; DrawTextEllipsised(dpi, topLeft, widget.width() - 2, widget.text, Formatter::Common(), { colour, TextAlignment::CENTRE }); @@ -629,13 +629,13 @@ static void WidgetCheckboxDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widget // checkbox gfx_fill_rect_inset(dpi, { midLeft - ScreenCoordsXY{ 0, 5 }, midLeft + ScreenCoordsXY{ 9, 4 } }, colour, INSET_RECT_F_60); - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) { colour |= COLOUR_FLAG_INSET; } // fill it when checkbox is pressed - if (WidgetIsPressed(w, widgetIndex)) + if (WidgetIsPressed(*w, widgetIndex)) { gfx_draw_string( dpi, { midLeft - ScreenCoordsXY{ 0, 5 } }, static_cast(CheckBoxMarkString), @@ -814,10 +814,10 @@ static void WidgetDrawImage(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetind if (widget.type == WindowWidgetType::ColourBtn || widget.type == WindowWidgetType::TrnBtn || widget.type == WindowWidgetType::Tab) - if (WidgetIsPressed(w, widgetIndex) || WidgetIsActiveTool(w, widgetIndex)) + if (WidgetIsPressed(*w, widgetIndex) || WidgetIsActiveTool(*w, widgetIndex)) image++; - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) { // Draw greyed out (light border bottom right shadow) colour = w->colours[widget.colour]; @@ -845,37 +845,37 @@ static void WidgetDrawImage(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetind } } -bool WidgetIsDisabled(const rct_window* w, rct_widgetindex widgetIndex) +bool WidgetIsDisabled(const rct_window& w, rct_widgetindex widgetIndex) { - if (w->classification == WC_CUSTOM) - return w->widgets[widgetIndex].flags & WIDGET_FLAGS::IS_DISABLED; - return (w->disabled_widgets & (1LL << widgetIndex)) != 0; + if (w.classification == WC_CUSTOM) + return w.widgets[widgetIndex].flags & WIDGET_FLAGS::IS_DISABLED; + return (w.disabled_widgets & (1LL << widgetIndex)) != 0; } -bool WidgetIsHoldable(const rct_window* w, rct_widgetindex widgetIndex) +bool WidgetIsHoldable(const rct_window& w, rct_widgetindex widgetIndex) { - if (w->classification == WC_CUSTOM) - return w->widgets[widgetIndex].flags & WIDGET_FLAGS::IS_HOLDABLE; - return (w->hold_down_widgets & (1LL << widgetIndex)) != 0; + if (w.classification == WC_CUSTOM) + return w.widgets[widgetIndex].flags & WIDGET_FLAGS::IS_HOLDABLE; + return (w.hold_down_widgets & (1LL << widgetIndex)) != 0; } -bool WidgetIsVisible(const rct_window* w, rct_widgetindex widgetIndex) +bool WidgetIsVisible(const rct_window& w, rct_widgetindex widgetIndex) { - return w->widgets[widgetIndex].IsVisible(); + return w.widgets[widgetIndex].IsVisible(); } -bool WidgetIsPressed(const rct_window* w, rct_widgetindex widgetIndex) +bool WidgetIsPressed(const rct_window& w, rct_widgetindex widgetIndex) { - if (w->classification == WC_CUSTOM) + if (w.classification == WC_CUSTOM) { - if (w->widgets[widgetIndex].flags & WIDGET_FLAGS::IS_PRESSED) + if (w.widgets[widgetIndex].flags & WIDGET_FLAGS::IS_PRESSED) { return true; } } else { - if (w->pressed_widgets & (1LL << widgetIndex)) + if (w.pressed_widgets & (1LL << widgetIndex)) { return true; } @@ -885,9 +885,9 @@ bool WidgetIsPressed(const rct_window* w, rct_widgetindex widgetIndex) { if (!(input_test_flag(INPUT_FLAG_WIDGET_PRESSED))) return false; - if (gPressedWidget.window_classification != w->classification) + if (gPressedWidget.window_classification != w.classification) return false; - if (gPressedWidget.window_number != w->number) + if (gPressedWidget.window_number != w.number) return false; if (gPressedWidget.widget_index != widgetIndex) return false; @@ -896,24 +896,24 @@ bool WidgetIsPressed(const rct_window* w, rct_widgetindex widgetIndex) return false; } -bool WidgetIsHighlighted(const rct_window* w, rct_widgetindex widgetIndex) +bool WidgetIsHighlighted(const rct_window& w, rct_widgetindex widgetIndex) { - if (gHoverWidget.window_classification != w->classification) + if (gHoverWidget.window_classification != w.classification) return false; - if (gHoverWidget.window_number != w->number) + if (gHoverWidget.window_number != w.number) return false; if (gHoverWidget.widget_index != widgetIndex) return false; return true; } -bool WidgetIsActiveTool(const rct_window* w, rct_widgetindex widgetIndex) +bool WidgetIsActiveTool(const rct_window& w, rct_widgetindex widgetIndex) { if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) return false; - if (gCurrentToolWidget.window_classification != w->classification) + if (gCurrentToolWidget.window_classification != w.classification) return false; - if (gCurrentToolWidget.window_number != w->number) + if (gCurrentToolWidget.window_number != w.number) return false; if (gCurrentToolWidget.widget_index != widgetIndex) return false; @@ -1054,9 +1054,9 @@ rct_widget* GetWidgetByIndex(const rct_window& w, rct_widgetindex widgetIndex) return nullptr; } -static void SafeSetWidgetFlag(rct_window* w, rct_widgetindex widgetIndex, WidgetFlags mask, bool value) +static void SafeSetWidgetFlag(rct_window& w, rct_widgetindex widgetIndex, WidgetFlags mask, bool value) { - rct_widget* widget = GetWidgetByIndex(*w, widgetIndex); + rct_widget* widget = GetWidgetByIndex(w, widgetIndex); if (widget == nullptr) { return; @@ -1068,52 +1068,52 @@ static void SafeSetWidgetFlag(rct_window* w, rct_widgetindex widgetIndex, Widget widget->flags &= ~mask; } -void WidgetSetEnabled(rct_window* w, rct_widgetindex widgetIndex, bool enabled) +void WidgetSetEnabled(rct_window& w, rct_widgetindex widgetIndex, bool enabled) { WidgetSetDisabled(w, widgetIndex, !enabled); } -void WidgetSetDisabled(rct_window* w, rct_widgetindex widgetIndex, bool value) +void WidgetSetDisabled(rct_window& w, rct_widgetindex widgetIndex, bool value) { SafeSetWidgetFlag(w, widgetIndex, WIDGET_FLAGS::IS_DISABLED, value); if (value) { - w->disabled_widgets |= (1ULL << widgetIndex); + w.disabled_widgets |= (1ULL << widgetIndex); } else { - w->disabled_widgets &= ~(1ULL << widgetIndex); + w.disabled_widgets &= ~(1ULL << widgetIndex); } } -void WidgetSetHoldable(rct_window* w, rct_widgetindex widgetIndex, bool value) +void WidgetSetHoldable(rct_window& w, rct_widgetindex widgetIndex, bool value) { SafeSetWidgetFlag(w, widgetIndex, WIDGET_FLAGS::IS_HOLDABLE, value); if (value) { - w->hold_down_widgets |= (1ULL << widgetIndex); + w.hold_down_widgets |= (1ULL << widgetIndex); } else { - w->hold_down_widgets &= ~(1ULL << widgetIndex); + w.hold_down_widgets &= ~(1ULL << widgetIndex); } } -void WidgetSetVisible(rct_window* w, rct_widgetindex widgetIndex, bool value) +void WidgetSetVisible(rct_window& w, rct_widgetindex widgetIndex, bool value) { SafeSetWidgetFlag(w, widgetIndex, WIDGET_FLAGS::IS_HIDDEN, !value); } -void WidgetSetPressed(rct_window* w, rct_widgetindex widgetIndex, bool value) +void WidgetSetPressed(rct_window& w, rct_widgetindex widgetIndex, bool value) { SafeSetWidgetFlag(w, widgetIndex, WIDGET_FLAGS::IS_PRESSED, value); if (value) - w->pressed_widgets |= (1ULL << widgetIndex); + w.pressed_widgets |= (1ULL << widgetIndex); else - w->pressed_widgets &= ~(1ULL << widgetIndex); + w.pressed_widgets &= ~(1ULL << widgetIndex); } -void WidgetSetCheckboxValue(rct_window* w, rct_widgetindex widgetIndex, bool value) +void WidgetSetCheckboxValue(rct_window& w, rct_widgetindex widgetIndex, bool value) { WidgetSetPressed(w, widgetIndex, value); } diff --git a/src/openrct2-ui/interface/Window.cpp b/src/openrct2-ui/interface/Window.cpp index 9aff137c9e..6b0435142d 100644 --- a/src/openrct2-ui/interface/Window.cpp +++ b/src/openrct2-ui/interface/Window.cpp @@ -488,7 +488,7 @@ static bool WindowOtherWheelInput(rct_window& w, rct_widgetindex widgetIndex, in return false; } - if (WidgetIsDisabled(&w, buttonWidgetIndex)) + if (WidgetIsDisabled(w, buttonWidgetIndex)) { return false; } @@ -674,7 +674,7 @@ static void WindowInvalidatePressedImageButton(const rct_window& w) if (widget->type != WindowWidgetType::ImgBtn) continue; - if (WidgetIsPressed(&w, widgetIndex) || WidgetIsActiveTool(&w, widgetIndex)) + if (WidgetIsPressed(w, widgetIndex) || WidgetIsActiveTool(w, widgetIndex)) gfx_set_dirty_blocks({ w.windowPos, w.windowPos + ScreenCoordsXY{ w.width, w.height } }); } } @@ -719,22 +719,22 @@ void Window::InvalidateWidget(rct_widgetindex widgetIndex) bool Window::IsWidgetDisabled(rct_widgetindex widgetIndex) const { - return WidgetIsDisabled(this, widgetIndex); + return WidgetIsDisabled(*this, widgetIndex); } bool Window::IsWidgetPressed(rct_widgetindex widgetIndex) const { - return WidgetIsPressed(this, widgetIndex); + return WidgetIsPressed(*this, widgetIndex); } void Window::SetWidgetDisabled(rct_widgetindex widgetIndex, bool value) { - WidgetSetDisabled(this, widgetIndex, value); + WidgetSetDisabled(*this, widgetIndex, value); } void Window::SetWidgetPressed(rct_widgetindex widgetIndex, bool value) { - WidgetSetPressed(this, widgetIndex, value); + WidgetSetPressed(*this, widgetIndex, value); } void Window::SetCheckboxValue(rct_widgetindex widgetIndex, bool value) @@ -766,7 +766,7 @@ void window_align_tabs(rct_window* w, rct_widgetindex start_tab_id, rct_widgetin for (i = start_tab_id; i <= end_tab_id; i++) { - if (!WidgetIsDisabled(w, i)) + if (!WidgetIsDisabled(*w, i)) { auto& widget = w->widgets[i]; widget.left = x; diff --git a/src/openrct2-ui/scripting/CustomWindow.cpp b/src/openrct2-ui/scripting/CustomWindow.cpp index fbf0a98c39..deb59cc71d 100644 --- a/src/openrct2-ui/scripting/CustomWindow.cpp +++ b/src/openrct2-ui/scripting/CustomWindow.cpp @@ -536,7 +536,7 @@ namespace OpenRCT2::Ui::Windows if (viewport != nullptr) { auto widgetIndex = GetViewportWidgetIndex(); - if (WidgetIsVisible(this, widgetIndex.value_or(false))) + if (WidgetIsVisible(*this, widgetIndex.value_or(false))) { window_draw_viewport(&dpi, this); } @@ -602,7 +602,7 @@ namespace OpenRCT2::Ui::Windows widget.flags ^= WIDGET_FLAGS::IS_PRESSED; bool isChecked = widget.flags & WIDGET_FLAGS::IS_PRESSED; - WidgetSetCheckboxValue(this, widgetIndex, isChecked); + WidgetSetCheckboxValue(*this, widgetIndex, isChecked); std::vector args; auto ctx = widgetDesc->OnChange.context(); @@ -858,7 +858,7 @@ namespace OpenRCT2::Ui::Windows { auto widgetIndex = static_cast(WIDX_TAB_0 + tabIndex); auto widget = &widgets[widgetIndex]; - if (WidgetIsVisible(this, widgetIndex)) + if (WidgetIsVisible(*this, widgetIndex)) { auto leftTop = windowPos + tab.offset + ScreenCoordsXY{ widget->left, widget->top }; auto image = tab.imageFrameBase; diff --git a/src/openrct2-ui/scripting/ScWidget.hpp b/src/openrct2-ui/scripting/ScWidget.hpp index 79e16f913d..8f2b025d06 100644 --- a/src/openrct2-ui/scripting/ScWidget.hpp +++ b/src/openrct2-ui/scripting/ScWidget.hpp @@ -296,7 +296,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - return WidgetIsDisabled(w, _widgetIndex); + return WidgetIsDisabled(*w, _widgetIndex); } return false; } @@ -305,19 +305,19 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - WidgetSetDisabled(w, _widgetIndex, value); + WidgetSetDisabled(*w, _widgetIndex, value); auto widget = GetWidget(); if (widget != nullptr) { if (widget->type == WindowWidgetType::DropdownMenu) { - WidgetSetDisabled(w, _widgetIndex + 1, value); + WidgetSetDisabled(*w, _widgetIndex + 1, value); } else if (widget->type == WindowWidgetType::Spinner) { - WidgetSetDisabled(w, _widgetIndex + 1, value); - WidgetSetDisabled(w, _widgetIndex + 2, value); + WidgetSetDisabled(*w, _widgetIndex + 1, value); + WidgetSetDisabled(*w, _widgetIndex + 2, value); } } } @@ -328,7 +328,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - return WidgetIsVisible(w, _widgetIndex); + return WidgetIsVisible(*w, _widgetIndex); } return false; } @@ -337,19 +337,19 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - WidgetSetVisible(w, _widgetIndex, value); + WidgetSetVisible(*w, _widgetIndex, value); auto widget = GetWidget(); if (widget != nullptr) { if (widget->type == WindowWidgetType::DropdownMenu) { - WidgetSetVisible(w, _widgetIndex + 1, value); + WidgetSetVisible(*w, _widgetIndex + 1, value); } else if (widget->type == WindowWidgetType::Spinner) { - WidgetSetVisible(w, _widgetIndex + 1, value); - WidgetSetVisible(w, _widgetIndex + 2, value); + WidgetSetVisible(*w, _widgetIndex + 1, value); + WidgetSetVisible(*w, _widgetIndex + 2, value); } } } @@ -460,7 +460,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - return WidgetIsPressed(w, _widgetIndex); + return WidgetIsPressed(*w, _widgetIndex); } return false; } @@ -469,7 +469,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - WidgetSetCheckboxValue(w, _widgetIndex, value ? 1 : 0); + WidgetSetCheckboxValue(*w, _widgetIndex, value ? 1 : 0); Invalidate(); } } @@ -514,7 +514,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - return WidgetIsPressed(w, _widgetIndex); + return WidgetIsPressed(*w, _widgetIndex); } return false; } @@ -523,7 +523,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - WidgetSetCheckboxValue(w, _widgetIndex, value ? 1 : 0); + WidgetSetCheckboxValue(*w, _widgetIndex, value ? 1 : 0); Invalidate(); } } diff --git a/src/openrct2-ui/windows/DebugPaint.cpp b/src/openrct2-ui/windows/DebugPaint.cpp index 13b3c8cda7..9cbc0e2cc7 100644 --- a/src/openrct2-ui/windows/DebugPaint.cpp +++ b/src/openrct2-ui/windows/DebugPaint.cpp @@ -130,11 +130,11 @@ public: Invalidate(); } - WidgetSetCheckboxValue(this, WIDX_TOGGLE_SHOW_WIDE_PATHS, gPaintWidePathsAsGhost); - WidgetSetCheckboxValue(this, WIDX_TOGGLE_SHOW_BLOCKED_TILES, gPaintBlockedTiles); - WidgetSetCheckboxValue(this, WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS, gShowSupportSegmentHeights); - WidgetSetCheckboxValue(this, WIDX_TOGGLE_SHOW_BOUND_BOXES, gPaintBoundingBoxes); - WidgetSetCheckboxValue(this, WIDX_TOGGLE_SHOW_DIRTY_VISUALS, gShowDirtyVisuals); + WidgetSetCheckboxValue(*this, WIDX_TOGGLE_SHOW_WIDE_PATHS, gPaintWidePathsAsGhost); + WidgetSetCheckboxValue(*this, WIDX_TOGGLE_SHOW_BLOCKED_TILES, gPaintBlockedTiles); + WidgetSetCheckboxValue(*this, WIDX_TOGGLE_SHOW_SEGMENT_HEIGHTS, gShowSupportSegmentHeights); + WidgetSetCheckboxValue(*this, WIDX_TOGGLE_SHOW_BOUND_BOXES, gPaintBoundingBoxes); + WidgetSetCheckboxValue(*this, WIDX_TOGGLE_SHOW_DIRTY_VISUALS, gShowDirtyVisuals); } void OnDraw(rct_drawpixelinfo& dpi) override diff --git a/src/openrct2-ui/windows/EditorObjectiveOptions.cpp b/src/openrct2-ui/windows/EditorObjectiveOptions.cpp index 311f8e70b6..56daedc1ad 100644 --- a/src/openrct2-ui/windows/EditorObjectiveOptions.cpp +++ b/src/openrct2-ui/windows/EditorObjectiveOptions.cpp @@ -249,7 +249,7 @@ static void WindowEditorObjectiveOptionsDrawTabImages(rct_window* w, rct_drawpix gfx_draw_sprite(dpi, ImageId(spriteIndex), w->windowPos + ScreenCoordsXY{ widget->left, widget->top }); // Tab 2 - if (!WidgetIsDisabled(w, WIDX_TAB_2)) + if (!WidgetIsDisabled(*w, WIDX_TAB_2)) { widget = &w->widgets[WIDX_TAB_2]; spriteIndex = SPR_TAB_RIDE_0; diff --git a/src/openrct2-ui/windows/Footpath.cpp b/src/openrct2-ui/windows/Footpath.cpp index 9e7d0b6c00..723b5a669a 100644 --- a/src/openrct2-ui/windows/Footpath.cpp +++ b/src/openrct2-ui/windows/Footpath.cpp @@ -639,7 +639,7 @@ static void WindowFootpathPaint(rct_window* w, rct_drawpixelinfo* dpi) WindowDrawWidgets(*w, dpi); WindowFootpathDrawDropdownButtons(w, dpi); - if (!WidgetIsDisabled(w, WIDX_CONSTRUCT)) + if (!WidgetIsDisabled(*w, WIDX_CONSTRUCT)) { // Get construction image uint8_t direction = (_footpathConstructDirection + get_current_rotation()) % 4; @@ -1380,8 +1380,8 @@ static PathConstructFlags FootpathCreateConstructFlags(ObjectEntryIndex& type) void window_footpath_keyboard_shortcut_turn_left() { rct_window* w = window_find_by_class(WC_FOOTPATH); - if (w == nullptr || WidgetIsDisabled(w, WIDX_DIRECTION_NW) || WidgetIsDisabled(w, WIDX_DIRECTION_NE) - || WidgetIsDisabled(w, WIDX_DIRECTION_SW) || WidgetIsDisabled(w, WIDX_DIRECTION_SE) || _footpathConstructionMode != 2) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_DIRECTION_NW) || WidgetIsDisabled(*w, WIDX_DIRECTION_NE) + || WidgetIsDisabled(*w, WIDX_DIRECTION_SW) || WidgetIsDisabled(*w, WIDX_DIRECTION_SE) || _footpathConstructionMode != 2) { return; } @@ -1393,8 +1393,8 @@ void window_footpath_keyboard_shortcut_turn_left() void window_footpath_keyboard_shortcut_turn_right() { rct_window* w = window_find_by_class(WC_FOOTPATH); - if (w == nullptr || WidgetIsDisabled(w, WIDX_DIRECTION_NW) || WidgetIsDisabled(w, WIDX_DIRECTION_NE) - || WidgetIsDisabled(w, WIDX_DIRECTION_SW) || WidgetIsDisabled(w, WIDX_DIRECTION_SE) || _footpathConstructionMode != 2) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_DIRECTION_NW) || WidgetIsDisabled(*w, WIDX_DIRECTION_NE) + || WidgetIsDisabled(*w, WIDX_DIRECTION_SW) || WidgetIsDisabled(*w, WIDX_DIRECTION_SE) || _footpathConstructionMode != 2) { return; } @@ -1406,8 +1406,8 @@ void window_footpath_keyboard_shortcut_turn_right() void window_footpath_keyboard_shortcut_slope_down() { rct_window* w = window_find_by_class(WC_FOOTPATH); - if (w == nullptr || WidgetIsDisabled(w, WIDX_SLOPEDOWN) || WidgetIsDisabled(w, WIDX_LEVEL) - || WidgetIsDisabled(w, WIDX_SLOPEUP) || w->widgets[WIDX_LEVEL].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_SLOPEDOWN) || WidgetIsDisabled(*w, WIDX_LEVEL) + || WidgetIsDisabled(*w, WIDX_SLOPEUP) || w->widgets[WIDX_LEVEL].type == WindowWidgetType::Empty) { return; } @@ -1429,8 +1429,8 @@ void window_footpath_keyboard_shortcut_slope_down() void window_footpath_keyboard_shortcut_slope_up() { rct_window* w = window_find_by_class(WC_FOOTPATH); - if (w == nullptr || WidgetIsDisabled(w, WIDX_SLOPEDOWN) || WidgetIsDisabled(w, WIDX_LEVEL) - || WidgetIsDisabled(w, WIDX_SLOPEUP) || w->widgets[WIDX_LEVEL].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_SLOPEDOWN) || WidgetIsDisabled(*w, WIDX_LEVEL) + || WidgetIsDisabled(*w, WIDX_SLOPEUP) || w->widgets[WIDX_LEVEL].type == WindowWidgetType::Empty) { return; } @@ -1452,7 +1452,7 @@ void window_footpath_keyboard_shortcut_slope_up() void window_footpath_keyboard_shortcut_demolish_current() { rct_window* w = window_find_by_class(WC_FOOTPATH); - if (w == nullptr || WidgetIsDisabled(w, WIDX_REMOVE) || w->widgets[WIDX_REMOVE].type == WindowWidgetType::Empty + if (w == nullptr || WidgetIsDisabled(*w, WIDX_REMOVE) || w->widgets[WIDX_REMOVE].type == WindowWidgetType::Empty || (!gCheatsBuildInPauseMode && game_is_paused())) { return; @@ -1464,7 +1464,7 @@ void window_footpath_keyboard_shortcut_demolish_current() void window_footpath_keyboard_shortcut_build_current() { rct_window* w = window_find_by_class(WC_FOOTPATH); - if (w == nullptr || WidgetIsDisabled(w, WIDX_CONSTRUCT) || w->widgets[WIDX_CONSTRUCT].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_CONSTRUCT) || w->widgets[WIDX_CONSTRUCT].type == WindowWidgetType::Empty) { return; } diff --git a/src/openrct2-ui/windows/Guest.cpp b/src/openrct2-ui/windows/Guest.cpp index 34bd5044d7..face76e620 100644 --- a/src/openrct2-ui/windows/Guest.cpp +++ b/src/openrct2-ui/windows/Guest.cpp @@ -411,7 +411,7 @@ private: // Ensure min size is large enough for all tabs to fit for (int32_t i = WIDX_TAB_1; i <= WIDX_TAB_7; i++) { - if (!WidgetIsDisabled(this, i)) + if (!WidgetIsDisabled(*this, i)) { minWidth = std::max(minWidth, widgets[i].right + 3); } @@ -461,13 +461,13 @@ private: if (peep->CanBePickedUp()) { - if (WidgetIsDisabled(this, WIDX_PICKUP)) + if (WidgetIsDisabled(*this, WIDX_PICKUP)) Invalidate(); } else { newDisabledWidgets = (1ULL << WIDX_PICKUP); - if (!WidgetIsDisabled(this, WIDX_PICKUP)) + if (!WidgetIsDisabled(*this, WIDX_PICKUP)) Invalidate(); } if (gParkFlags & PARK_FLAGS_NO_MONEY) @@ -520,7 +520,7 @@ private: void OverviewTabDraw(rct_drawpixelinfo& dpi) { - if (WidgetIsDisabled(this, WIDX_TAB_1)) + if (WidgetIsDisabled(*this, WIDX_TAB_1)) return; const auto& widget = widgets[WIDX_TAB_1]; @@ -990,7 +990,7 @@ private: #pragma region Stats void StatsTabDraw(rct_drawpixelinfo& dpi) { - if (WidgetIsDisabled(this, WIDX_TAB_2)) + if (WidgetIsDisabled(*this, WIDX_TAB_2)) return; const auto& widget = widgets[WIDX_TAB_2]; @@ -1209,7 +1209,7 @@ private: #pragma region Rides void RidesTabDraw(rct_drawpixelinfo& dpi) { - if (WidgetIsDisabled(this, WIDX_TAB_3)) + if (WidgetIsDisabled(*this, WIDX_TAB_3)) return; const auto& widget = widgets[WIDX_TAB_3]; @@ -1384,7 +1384,7 @@ private: #pragma region Finance void FinanceTabDraw(rct_drawpixelinfo& dpi) { - if (WidgetIsDisabled(this, WIDX_TAB_4)) + if (WidgetIsDisabled(*this, WIDX_TAB_4)) return; const auto& widget = widgets[WIDX_TAB_4]; @@ -1522,7 +1522,7 @@ private: #pragma region Thoughts void ThoughtsTabDraw(rct_drawpixelinfo& dpi) { - if (WidgetIsDisabled(this, WIDX_TAB_5)) + if (WidgetIsDisabled(*this, WIDX_TAB_5)) return; const auto& widget = widgets[WIDX_TAB_5]; @@ -1604,7 +1604,7 @@ private: #pragma region Inventory void InventoryTabDraw(rct_drawpixelinfo& dpi) { - if (WidgetIsDisabled(this, WIDX_TAB_6)) + if (WidgetIsDisabled(*this, WIDX_TAB_6)) return; const auto& widget = widgets[WIDX_TAB_6]; @@ -1793,7 +1793,7 @@ private: #pragma region Debug void DebugTabDraw(rct_drawpixelinfo& dpi) { - if (WidgetIsDisabled(this, WIDX_TAB_7)) + if (WidgetIsDisabled(*this, WIDX_TAB_7)) return; const auto& widget = widgets[WIDX_TAB_7]; diff --git a/src/openrct2-ui/windows/Map.cpp b/src/openrct2-ui/windows/Map.cpp index 03b5f0d532..47309110a3 100644 --- a/src/openrct2-ui/windows/Map.cpp +++ b/src/openrct2-ui/windows/Map.cpp @@ -665,7 +665,7 @@ public: gLandToolTerrainSurface, gLandToolTerrainEdge); GameActions::Execute(&surfaceSetStyleAction); } - else if (WidgetIsActiveTool(this, WIDX_SET_LAND_RIGHTS)) + else if (WidgetIsActiveTool(*this, WIDX_SET_LAND_RIGHTS)) { // Set land rights int32_t landRightsToolSize = std::max(1, _landRightsToolSize); @@ -856,7 +856,7 @@ public: + ScreenCoordsXY{ window_map_widgets[WIDX_LAND_TOOL].midX(), window_map_widgets[WIDX_LAND_TOOL].midY() }; // Draw land tool size - if (WidgetIsActiveTool(this, WIDX_SET_LAND_RIGHTS) && _landRightsToolSize > MAX_TOOL_SIZE_WITH_SPRITE) + if (WidgetIsActiveTool(*this, WIDX_SET_LAND_RIGHTS) && _landRightsToolSize > MAX_TOOL_SIZE_WITH_SPRITE) { auto ft = Formatter(); ft.Add(_landRightsToolSize); @@ -900,7 +900,7 @@ public: } } } - else if (!WidgetIsActiveTool(this, WIDX_SET_LAND_RIGHTS)) + else if (!WidgetIsActiveTool(*this, WIDX_SET_LAND_RIGHTS)) { DrawTextBasic( &dpi, windowPos + ScreenCoordsXY{ 4, widgets[WIDX_MAP_SIZE_SPINNER_Y].top + 1 }, STR_MAP_SIZE, {}, diff --git a/src/openrct2-ui/windows/MapGen.cpp b/src/openrct2-ui/windows/MapGen.cpp index de66ba1e9b..bdcb7bce38 100644 --- a/src/openrct2-ui/windows/MapGen.cpp +++ b/src/openrct2-ui/windows/MapGen.cpp @@ -671,8 +671,8 @@ static void WindowMapgenBaseInvalidate(rct_window* w) } // Only allow linking the map size when X and Y are the same - WidgetSetPressed(w, WIDX_MAP_SIZE_LINK, _mapWidthAndHeightLinked); - WidgetSetDisabled(w, WIDX_MAP_SIZE_LINK, _mapSize.x != _mapSize.y); + WidgetSetPressed(*w, WIDX_MAP_SIZE_LINK, _mapWidthAndHeightLinked); + WidgetSetDisabled(*w, WIDX_MAP_SIZE_LINK, _mapSize.x != _mapSize.y); WindowMapgenSetPressedTab(w); @@ -686,7 +686,7 @@ static void WindowMapgenDrawDropdownButton(rct_window* w, rct_drawpixelinfo* dpi { const auto& widget = w->widgets[widgetIndex]; ScreenCoordsXY pos = { w->windowPos.x + widget.left, w->windowPos.y + widget.top }; - if (WidgetIsDisabled(w, widgetIndex)) + if (WidgetIsDisabled(*w, widgetIndex)) { // Draw greyed out (light border bottom right shadow) auto colour = w->colours[widget.colour]; @@ -1019,22 +1019,22 @@ static void WindowMapgenSimplexInvalidate(rct_window* w) } // Only allow linking the map size when X and Y are the same - WidgetSetPressed(w, WIDX_SIMPLEX_MAP_SIZE_LINK, _mapWidthAndHeightLinked); - WidgetSetDisabled(w, WIDX_SIMPLEX_MAP_SIZE_LINK, _mapSize.x != _mapSize.y); + WidgetSetPressed(*w, WIDX_SIMPLEX_MAP_SIZE_LINK, _mapWidthAndHeightLinked); + WidgetSetDisabled(*w, WIDX_SIMPLEX_MAP_SIZE_LINK, _mapSize.x != _mapSize.y); - WidgetSetCheckboxValue(w, WIDX_SIMPLEX_RANDOM_TERRAIN_CHECKBOX, _randomTerrain != 0); - WidgetSetCheckboxValue(w, WIDX_SIMPLEX_PLACE_TREES_CHECKBOX, _placeTrees != 0); + WidgetSetCheckboxValue(*w, WIDX_SIMPLEX_RANDOM_TERRAIN_CHECKBOX, _randomTerrain != 0); + WidgetSetCheckboxValue(*w, WIDX_SIMPLEX_PLACE_TREES_CHECKBOX, _placeTrees != 0); // Only allow floor and wall texture options if random terrain is disabled if (!_randomTerrain) { - WidgetSetEnabled(w, WIDX_SIMPLEX_FLOOR_TEXTURE, true); - WidgetSetEnabled(w, WIDX_SIMPLEX_WALL_TEXTURE, true); + WidgetSetEnabled(*w, WIDX_SIMPLEX_FLOOR_TEXTURE, true); + WidgetSetEnabled(*w, WIDX_SIMPLEX_WALL_TEXTURE, true); } else { - WidgetSetEnabled(w, WIDX_SIMPLEX_FLOOR_TEXTURE, false); - WidgetSetEnabled(w, WIDX_SIMPLEX_WALL_TEXTURE, false); + WidgetSetEnabled(*w, WIDX_SIMPLEX_FLOOR_TEXTURE, false); + WidgetSetEnabled(*w, WIDX_SIMPLEX_WALL_TEXTURE, false); } WindowMapgenSetPressedTab(w); @@ -1212,21 +1212,21 @@ static void WindowMapgenHeightmapMouseup(rct_window* w, rct_widgetindex widgetIn } case WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP: _heightmapSmoothMap = !_heightmapSmoothMap; - WidgetSetCheckboxValue(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _heightmapSmoothMap); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_STRENGTH, _heightmapSmoothMap); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_STRENGTH_UP, _heightmapSmoothMap); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_STRENGTH_DOWN, _heightmapSmoothMap); + WidgetSetCheckboxValue(*w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _heightmapSmoothMap); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_STRENGTH, _heightmapSmoothMap); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_STRENGTH_UP, _heightmapSmoothMap); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_STRENGTH_DOWN, _heightmapSmoothMap); widget_invalidate(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP); widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); break; case WIDX_HEIGHTMAP_NORMALIZE: _heightmapNormalize = !_heightmapNormalize; - WidgetSetCheckboxValue(w, WIDX_HEIGHTMAP_NORMALIZE, _heightmapNormalize); + WidgetSetCheckboxValue(*w, WIDX_HEIGHTMAP_NORMALIZE, _heightmapNormalize); widget_invalidate(w, WIDX_HEIGHTMAP_NORMALIZE); break; case WIDX_HEIGHTMAP_SMOOTH_TILES: _heightmapSmoothTiles = !_heightmapSmoothTiles; - WidgetSetCheckboxValue(w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); + WidgetSetCheckboxValue(*w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); widget_invalidate(w, WIDX_HEIGHTMAP_SMOOTH_TILES); break; } @@ -1243,9 +1243,9 @@ static void WindowMapgenHeightmapInvalidate(rct_window* w) WindowInitScrollWidgets(*w); } - WidgetSetCheckboxValue(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _heightmapSmoothMap); - WidgetSetCheckboxValue(w, WIDX_HEIGHTMAP_NORMALIZE, _heightmapNormalize); - WidgetSetCheckboxValue(w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); + WidgetSetCheckboxValue(*w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _heightmapSmoothMap); + WidgetSetCheckboxValue(*w, WIDX_HEIGHTMAP_NORMALIZE, _heightmapNormalize); + WidgetSetCheckboxValue(*w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); WindowMapgenSetPressedTab(w); } @@ -1328,21 +1328,21 @@ static void WindowMapgenSetPage(rct_window* w, int32_t page) // Enable heightmap widgets if one is loaded if (page == WINDOW_MAPGEN_PAGE_HEIGHTMAP && _heightmapLoaded) { - WidgetSetEnabled(w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_STRENGTH, _heightmapSmoothMap); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_STRENGTH_UP, _heightmapSmoothMap); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_STRENGTH_DOWN, _heightmapSmoothMap); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_NORMALIZE, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_SMOOTH_TILES, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_HIGH, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_HIGH_UP, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_HIGH_DOWN, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_LOW, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_LOW_UP, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_LOW_DOWN, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_WATER_LEVEL, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_WATER_LEVEL_UP, true); - WidgetSetEnabled(w, WIDX_HEIGHTMAP_WATER_LEVEL_DOWN, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_STRENGTH, _heightmapSmoothMap); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_STRENGTH_UP, _heightmapSmoothMap); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_STRENGTH_DOWN, _heightmapSmoothMap); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_NORMALIZE, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_SMOOTH_TILES, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_HIGH, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_HIGH_UP, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_HIGH_DOWN, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_LOW, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_LOW_UP, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_LOW_DOWN, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_WATER_LEVEL, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_WATER_LEVEL_UP, true); + WidgetSetEnabled(*w, WIDX_HEIGHTMAP_WATER_LEVEL_DOWN, true); } WindowInitScrollWidgets(*w); @@ -1361,7 +1361,7 @@ static void WindowMapgenDrawTabImage(rct_drawpixelinfo* dpi, rct_window* w, int3 { rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { if (w->page == page) { diff --git a/src/openrct2-ui/windows/MazeConstruction.cpp b/src/openrct2-ui/windows/MazeConstruction.cpp index c1bea746a2..6cdf14d95f 100644 --- a/src/openrct2-ui/windows/MazeConstruction.cpp +++ b/src/openrct2-ui/windows/MazeConstruction.cpp @@ -213,14 +213,14 @@ public: switch (_rideConstructionState) { case RideConstructionState::Place: - if (!WidgetIsActiveTool(this, WIDX_MAZE_DIRECTION_GROUPBOX)) + if (!WidgetIsActiveTool(*this, WIDX_MAZE_DIRECTION_GROUPBOX)) { Close(); return; } break; case RideConstructionState::EntranceExit: - if (!WidgetIsActiveTool(this, WIDX_MAZE_ENTRANCE) && !WidgetIsActiveTool(this, WIDX_MAZE_EXIT)) + if (!WidgetIsActiveTool(*this, WIDX_MAZE_ENTRANCE) && !WidgetIsActiveTool(*this, WIDX_MAZE_EXIT)) { _rideConstructionState = gRideEntranceExitPlacePreviousRideConstructionState; WindowMazeConstructionUpdatePressedWidgets(); diff --git a/src/openrct2-ui/windows/Multiplayer.cpp b/src/openrct2-ui/windows/Multiplayer.cpp index 57664af40e..d94e5c3fa4 100644 --- a/src/openrct2-ui/windows/Multiplayer.cpp +++ b/src/openrct2-ui/windows/Multiplayer.cpp @@ -982,9 +982,9 @@ static void WindowMultiplayerOptionsInvalidate(rct_window* w) w->widgets[WIDX_KNOWN_KEYS_ONLY_CHECKBOX].type = WindowWidgetType::Empty; } - WidgetSetCheckboxValue(w, WIDX_LOG_CHAT_CHECKBOX, gConfigNetwork.log_chat); - WidgetSetCheckboxValue(w, WIDX_LOG_SERVER_ACTIONS_CHECKBOX, gConfigNetwork.log_server_actions); - WidgetSetCheckboxValue(w, WIDX_KNOWN_KEYS_ONLY_CHECKBOX, gConfigNetwork.known_keys_only); + WidgetSetCheckboxValue(*w, WIDX_LOG_CHAT_CHECKBOX, gConfigNetwork.log_chat); + WidgetSetCheckboxValue(*w, WIDX_LOG_SERVER_ACTIONS_CHECKBOX, gConfigNetwork.log_server_actions); + WidgetSetCheckboxValue(*w, WIDX_KNOWN_KEYS_ONLY_CHECKBOX, gConfigNetwork.known_keys_only); } static void WindowMultiplayerOptionsPaint(rct_window* w, rct_drawpixelinfo* dpi) @@ -999,7 +999,7 @@ static void WindowMultiplayerDrawTabImage(rct_window* w, rct_drawpixelinfo* dpi, { rct_widgetindex widgetIndex = WIDX_TAB1 + page; - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { if (w->page == page) { diff --git a/src/openrct2-ui/windows/NewCampaign.cpp b/src/openrct2-ui/windows/NewCampaign.cpp index 03a75a692f..cd0b6a2091 100644 --- a/src/openrct2-ui/windows/NewCampaign.cpp +++ b/src/openrct2-ui/windows/NewCampaign.cpp @@ -337,9 +337,9 @@ public: widgets[WIDX_WEEKS_SPINNER].text = STR_NONE; // Enable / disable start button based on ride dropdown - WidgetSetDisabled(this, WIDX_START_BUTTON, false); + WidgetSetDisabled(*this, WIDX_START_BUTTON, false); if (widgets[WIDX_RIDE_DROPDOWN].type == WindowWidgetType::DropdownMenu && campaign.RideId == RideId::GetNull()) - WidgetSetDisabled(this, WIDX_START_BUTTON, true); + WidgetSetDisabled(*this, WIDX_START_BUTTON, true); } void OnDraw(rct_drawpixelinfo& dpi) override diff --git a/src/openrct2-ui/windows/NewRide.cpp b/src/openrct2-ui/windows/NewRide.cpp index e925789a9c..3d148f9879 100644 --- a/src/openrct2-ui/windows/NewRide.cpp +++ b/src/openrct2-ui/windows/NewRide.cpp @@ -608,7 +608,7 @@ static void WindowNewRideDrawTabImage(rct_drawpixelinfo* dpi, rct_window* w, int { rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (w->widgets[widgetIndex].type != WindowWidgetType::Empty && !WidgetIsDisabled(w, widgetIndex)) + if (w->widgets[widgetIndex].type != WindowWidgetType::Empty && !WidgetIsDisabled(*w, widgetIndex)) { int32_t frame = 0; if (_windowNewRideCurrentTab == page) @@ -690,7 +690,7 @@ static void WindowNewRideUpdate(rct_window* w) _windowNewRideTabScroll[_windowNewRideCurrentTab] = w->scrolls[0].v_top; // Remove highlight when mouse leaves rides list - if (!WidgetIsHighlighted(w, WIDX_RIDE_LIST)) + if (!WidgetIsHighlighted(*w, WIDX_RIDE_LIST)) { w->new_ride.HighlightedRide = { RIDE_TYPE_NULL, OBJECT_ENTRY_INDEX_NULL }; widget_invalidate(w, WIDX_RIDE_LIST); diff --git a/src/openrct2-ui/windows/NewsOptions.cpp b/src/openrct2-ui/windows/NewsOptions.cpp index 8fb9ce42f1..169cb7a699 100644 --- a/src/openrct2-ui/windows/NewsOptions.cpp +++ b/src/openrct2-ui/windows/NewsOptions.cpp @@ -229,7 +229,7 @@ private: { rct_widgetindex widgetIndex = WIDX_FIRST_TAB + p; - if (!WidgetIsDisabled(this, widgetIndex)) + if (!WidgetIsDisabled(*this, widgetIndex)) { if (page == p) { diff --git a/src/openrct2-ui/windows/ObjectLoadError.cpp b/src/openrct2-ui/windows/ObjectLoadError.cpp index 9aa99f59f9..716be8610b 100644 --- a/src/openrct2-ui/windows/ObjectLoadError.cpp +++ b/src/openrct2-ui/windows/ObjectLoadError.cpp @@ -434,7 +434,7 @@ public: frame_no++; // Check if the mouse is hovering over the list - if (!WidgetIsHighlighted(this, WIDX_SCROLL)) + if (!WidgetIsHighlighted(*this, WIDX_SCROLL)) { _highlightedIndex = -1; widget_invalidate(this, WIDX_SCROLL); diff --git a/src/openrct2-ui/windows/Options.cpp b/src/openrct2-ui/windows/Options.cpp index b774642c43..d39f80551f 100644 --- a/src/openrct2-ui/windows/Options.cpp +++ b/src/openrct2-ui/windows/Options.cpp @@ -1063,7 +1063,7 @@ private: } WidgetSetCheckboxValue( - this, WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX, + *this, WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX, gConfigGeneral.render_weather_effects || gConfigGeneral.render_weather_gloom); SetCheckboxValue(WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX, gConfigGeneral.disable_lightning_effect); if (!gConfigGeneral.render_weather_effects && !gConfigGeneral.render_weather_gloom) @@ -1511,8 +1511,8 @@ private: SetCheckboxValue(WIDX_MASTER_SOUND_CHECKBOX, gConfigSound.master_sound_enabled); SetCheckboxValue(WIDX_MUSIC_CHECKBOX, gConfigSound.ride_music_enabled); SetCheckboxValue(WIDX_AUDIO_FOCUS_CHECKBOX, gConfigSound.audio_focus); - WidgetSetEnabled(this, WIDX_SOUND_CHECKBOX, gConfigSound.master_sound_enabled); - WidgetSetEnabled(this, WIDX_MUSIC_CHECKBOX, gConfigSound.master_sound_enabled); + WidgetSetEnabled(*this, WIDX_SOUND_CHECKBOX, gConfigSound.master_sound_enabled); + WidgetSetEnabled(*this, WIDX_MUSIC_CHECKBOX, gConfigSound.master_sound_enabled); // Initialize only on first frame, otherwise the scrollbars won't be able to be modified if (frame_no == 0) @@ -1997,7 +1997,7 @@ private: { SetCheckboxValue(WIDX_DEBUGGING_TOOLS, gConfigGeneral.debugging_tools); WidgetSetCheckboxValue( - this, WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, gConfigGeneral.allow_loading_with_incorrect_checksum); + *this, WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, gConfigGeneral.allow_loading_with_incorrect_checksum); SetCheckboxValue(WIDX_SAVE_PLUGIN_DATA_CHECKBOX, gConfigGeneral.save_plugin_data); SetCheckboxValue(WIDX_STAY_CONNECTED_AFTER_DESYNC, gConfigNetwork.stay_connected); SetCheckboxValue(WIDX_ALWAYS_NATIVE_LOADSAVE, gConfigGeneral.use_native_browse_dialog); @@ -2093,7 +2093,7 @@ private: auto screenCoords = windowPos + ScreenCoordsXY{ widget->left, widget->top }; - if (!WidgetIsDisabled(this, widgetIndex)) + if (!WidgetIsDisabled(*this, widgetIndex)) { if (page == p) { diff --git a/src/openrct2-ui/windows/Park.cpp b/src/openrct2-ui/windows/Park.cpp index 61dc83be8f..49628c557b 100644 --- a/src/openrct2-ui/windows/Park.cpp +++ b/src/openrct2-ui/windows/Park.cpp @@ -516,9 +516,9 @@ private: } widgets[WIDX_OPEN_OR_CLOSE].image = park_is_open() ? SPR_OPEN : SPR_CLOSED; widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + !park_is_open() * 2 - + WidgetIsPressed(this, WIDX_CLOSE_LIGHT); + + WidgetIsPressed(*this, WIDX_CLOSE_LIGHT); widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + park_is_open() * 2 - + WidgetIsPressed(this, WIDX_OPEN_LIGHT); + + WidgetIsPressed(*this, WIDX_OPEN_LIGHT); // Only allow closing of park for guest / rating objective if (gScenarioObjective.Type == OBJECTIVE_GUESTS_AND_RATING) @@ -1219,7 +1219,7 @@ private: void DrawTabImages(rct_drawpixelinfo& dpi) { // Entrance tab - if (!WidgetIsDisabled(this, WIDX_TAB_1)) + if (!WidgetIsDisabled(*this, WIDX_TAB_1)) { gfx_draw_sprite( &dpi, ImageId(SPR_TAB_PARK_ENTRANCE), @@ -1227,7 +1227,7 @@ private: } // Rating tab - if (!WidgetIsDisabled(this, WIDX_TAB_2)) + if (!WidgetIsDisabled(*this, WIDX_TAB_2)) { ImageId spriteIdx(SPR_TAB_GRAPH_0); if (page == WINDOW_PARK_PAGE_RATING) @@ -1242,7 +1242,7 @@ private: } // Guests tab - if (!WidgetIsDisabled(this, WIDX_TAB_3)) + if (!WidgetIsDisabled(*this, WIDX_TAB_3)) { ImageId spriteIdx(SPR_TAB_GRAPH_0); if (page == WINDOW_PARK_PAGE_GUESTS) @@ -1258,7 +1258,7 @@ private: } // Price tab - if (!WidgetIsDisabled(this, WIDX_TAB_4)) + if (!WidgetIsDisabled(*this, WIDX_TAB_4)) { ImageId spriteIdx(SPR_TAB_ADMISSION_0); if (page == WINDOW_PARK_PAGE_PRICE) @@ -1267,7 +1267,7 @@ private: } // Statistics tab - if (!WidgetIsDisabled(this, WIDX_TAB_5)) + if (!WidgetIsDisabled(*this, WIDX_TAB_5)) { ImageId spriteIdx(SPR_TAB_STATS_0); if (page == WINDOW_PARK_PAGE_STATS) @@ -1276,7 +1276,7 @@ private: } // Objective tab - if (!WidgetIsDisabled(this, WIDX_TAB_6)) + if (!WidgetIsDisabled(*this, WIDX_TAB_6)) { ImageId spriteIdx(SPR_TAB_OBJECTIVE_0); if (page == WINDOW_PARK_PAGE_OBJECTIVE) @@ -1285,7 +1285,7 @@ private: } // Awards tab - if (!WidgetIsDisabled(this, WIDX_TAB_7)) + if (!WidgetIsDisabled(*this, WIDX_TAB_7)) { gfx_draw_sprite( &dpi, ImageId(SPR_TAB_AWARDS), windowPos + ScreenCoordsXY{ widgets[WIDX_TAB_7].left, widgets[WIDX_TAB_7].top }); diff --git a/src/openrct2-ui/windows/Player.cpp b/src/openrct2-ui/windows/Player.cpp index 7da0f633e7..075fadfc87 100644 --- a/src/openrct2-ui/windows/Player.cpp +++ b/src/openrct2-ui/windows/Player.cpp @@ -417,7 +417,7 @@ void WindowPlayerOverviewInvalidate(rct_window* w) const bool canKick = network_can_perform_action(network_get_current_player_group_index(), NetworkPermission::KickPlayer); const bool isServer = network_get_player_flags(playerIndex) & NETWORK_PLAYER_FLAG_ISSERVER; const bool isOwnWindow = (network_get_current_player_id() == w->number); - WidgetSetEnabled(w, WIDX_KICK, canKick && !isOwnWindow && !isServer); + WidgetSetEnabled(*w, WIDX_KICK, canKick && !isOwnWindow && !isServer); } void WindowPlayerStatisticsClose(rct_window* w) @@ -555,7 +555,7 @@ static void WindowPlayerDrawTabImages(rct_drawpixelinfo* dpi, rct_window* w) rct_widget* widget; // Tab 1 - if (!WidgetIsDisabled(w, WIDX_TAB_1)) + if (!WidgetIsDisabled(*w, WIDX_TAB_1)) { widget = &w->widgets[WIDX_TAB_1]; auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top }; @@ -563,7 +563,7 @@ static void WindowPlayerDrawTabImages(rct_drawpixelinfo* dpi, rct_window* w) } // Tab 2 - if (!WidgetIsDisabled(w, WIDX_TAB_2)) + if (!WidgetIsDisabled(*w, WIDX_TAB_2)) { widget = &w->widgets[WIDX_TAB_2]; auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top }; diff --git a/src/openrct2-ui/windows/Research.cpp b/src/openrct2-ui/windows/Research.cpp index 7741caac70..01d1bcc1bd 100644 --- a/src/openrct2-ui/windows/Research.cpp +++ b/src/openrct2-ui/windows/Research.cpp @@ -600,7 +600,7 @@ static void WindowResearchDrawTabImage(rct_drawpixelinfo* dpi, rct_window* w, in { rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { if (w->page == page) { diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index bd2497fb7f..e4077143e5 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -864,7 +864,7 @@ static void WindowRideDrawTabImage(rct_drawpixelinfo* dpi, rct_window* w, int32_ { rct_widgetindex widgetIndex = WIDX_TAB_1 + page; - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { if (w->page == page) { @@ -884,7 +884,7 @@ static void WindowRideDrawTabImage(rct_drawpixelinfo* dpi, rct_window* w, int32_ static void WindowRideDrawTabMain(rct_drawpixelinfo* dpi, rct_window* w) { rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_MAIN; - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { auto ride = get_ride(w->rideId); if (ride != nullptr) @@ -924,7 +924,7 @@ static void WindowRideDrawTabVehicle(rct_drawpixelinfo* dpi, rct_window* w) rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_VEHICLE; const auto& widget = w->widgets[widgetIndex]; - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { auto screenCoords = ScreenCoordsXY{ widget.left + 1, widget.top + 1 }; int32_t width = widget.right - screenCoords.x; @@ -994,7 +994,7 @@ static void WindowRideDrawTabCustomer(rct_drawpixelinfo* dpi, rct_window* w) { rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_CUSTOMER; - if (!WidgetIsDisabled(w, widgetIndex)) + if (!WidgetIsDisabled(*w, widgetIndex)) { const auto& widget = w->widgets[widgetIndex]; int32_t spriteIndex = 0; @@ -2313,22 +2313,22 @@ static void WindowRideMainInvalidate(rct_window* w) #ifdef __SIMULATE_IN_RIDE_WINDOW__ window_ride_main_widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + (ride->status == RideStatus::Closed) * 2 - + WidgetIsPressed(w, WIDX_CLOSE_LIGHT); + + WidgetIsPressed(*w, WIDX_CLOSE_LIGHT); window_ride_main_widgets[WIDX_SIMULATE_LIGHT].image = SPR_G2_RCT1_SIMULATE_BUTTON_0 - + (ride->status == RideStatus::Simulating) * 2 + WidgetIsPressed(w, WIDX_SIMULATE_LIGHT); + + (ride->status == RideStatus::Simulating) * 2 + WidgetIsPressed(*w, WIDX_SIMULATE_LIGHT); window_ride_main_widgets[WIDX_TEST_LIGHT].image = SPR_G2_RCT1_TEST_BUTTON_0 + (ride->status == RideStatus::Testing) * 2 - + WidgetIsPressed(w, WIDX_TEST_LIGHT); + + WidgetIsPressed(*w, WIDX_TEST_LIGHT); #else window_ride_main_widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + (ride->status == RideStatus::Closed) * 2 - + WidgetIsPressed(w, WIDX_CLOSE_LIGHT); + + WidgetIsPressed(*w, WIDX_CLOSE_LIGHT); auto baseSprite = ride->status == RideStatus::Simulating ? SPR_G2_RCT1_SIMULATE_BUTTON_0 : SPR_G2_RCT1_TEST_BUTTON_0; window_ride_main_widgets[WIDX_TEST_LIGHT].image = baseSprite + (ride->status == RideStatus::Testing || ride->status == RideStatus::Simulating) * 2 - + WidgetIsPressed(w, WIDX_TEST_LIGHT); + + WidgetIsPressed(*w, WIDX_TEST_LIGHT); #endif window_ride_main_widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + (ride->status == RideStatus::Open) * 2 - + WidgetIsPressed(w, WIDX_OPEN_LIGHT); + + WidgetIsPressed(*w, WIDX_OPEN_LIGHT); WindowRideAnchorBorderWidgets(w); diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index 65ae81db8c..1f0fbb1a5f 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -885,7 +885,7 @@ public: if (_rideConstructionState == RideConstructionState::Place) { - if (!WidgetIsActiveTool(this, WIDX_CONSTRUCT)) + if (!WidgetIsActiveTool(*this, WIDX_CONSTRUCT)) { Close(); return; @@ -894,7 +894,7 @@ public: if (_rideConstructionState == RideConstructionState::EntranceExit) { - if (!WidgetIsActiveTool(this, WIDX_ENTRANCE) && !WidgetIsActiveTool(this, WIDX_EXIT)) + if (!WidgetIsActiveTool(*this, WIDX_ENTRANCE) && !WidgetIsActiveTool(*this, WIDX_EXIT)) { _rideConstructionState = gRideEntranceExitPlacePreviousRideConstructionState; window_ride_construction_update_active_elements(); @@ -3591,7 +3591,7 @@ void ride_construction_tooldown_construct(const ScreenCoordsXY& screenCoords) void window_ride_construction_keyboard_shortcut_turn_left() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) { return; } @@ -3599,20 +3599,20 @@ void window_ride_construction_keyboard_shortcut_turn_left() switch (_currentTrackCurve) { case TRACK_CURVE_LEFT_SMALL: - if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE_VERY_SMALL) + if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); } break; case TRACK_CURVE_LEFT: - if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE_SMALL) + if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); @@ -3623,18 +3623,18 @@ void window_ride_construction_keyboard_shortcut_turn_left() } break; case TRACK_CURVE_LEFT_LARGE: - if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); @@ -3645,23 +3645,23 @@ void window_ride_construction_keyboard_shortcut_turn_left() } break; case TRACK_CURVE_NONE: - if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE_LARGE) + if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); @@ -3672,28 +3672,28 @@ void window_ride_construction_keyboard_shortcut_turn_left() } break; case TRACK_CURVE_RIGHT_LARGE: - if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); @@ -3704,33 +3704,33 @@ void window_ride_construction_keyboard_shortcut_turn_left() } break; case TRACK_CURVE_RIGHT: - if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE_LARGE) + if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); @@ -3741,38 +3741,38 @@ void window_ride_construction_keyboard_shortcut_turn_left() } break; case TRACK_CURVE_RIGHT_SMALL: - if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); @@ -3783,43 +3783,43 @@ void window_ride_construction_keyboard_shortcut_turn_left() } break; case TRACK_CURVE_RIGHT_VERY_SMALL: - if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE_SMALL) + if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); } - else if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_VERY_SMALL) && w->widgets[WIDX_LEFT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_VERY_SMALL); @@ -3837,7 +3837,7 @@ void window_ride_construction_keyboard_shortcut_turn_left() void window_ride_construction_keyboard_shortcut_turn_right() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) { return; } @@ -3845,20 +3845,20 @@ void window_ride_construction_keyboard_shortcut_turn_right() switch (_currentTrackCurve) { case TRACK_CURVE_RIGHT_SMALL: - if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) + if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); } break; case TRACK_CURVE_RIGHT: - if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE_SMALL) + if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); @@ -3869,18 +3869,18 @@ void window_ride_construction_keyboard_shortcut_turn_right() } break; case TRACK_CURVE_RIGHT_LARGE: - if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); @@ -3891,23 +3891,23 @@ void window_ride_construction_keyboard_shortcut_turn_right() } break; case TRACK_CURVE_NONE: - if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE_LARGE) + if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); @@ -3918,28 +3918,28 @@ void window_ride_construction_keyboard_shortcut_turn_right() } break; case TRACK_CURVE_LEFT_LARGE: - if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); @@ -3950,33 +3950,33 @@ void window_ride_construction_keyboard_shortcut_turn_right() } break; case TRACK_CURVE_LEFT: - if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE_LARGE) + if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); @@ -3987,38 +3987,38 @@ void window_ride_construction_keyboard_shortcut_turn_right() } break; case TRACK_CURVE_LEFT_SMALL: - if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); @@ -4029,43 +4029,43 @@ void window_ride_construction_keyboard_shortcut_turn_right() } break; case TRACK_CURVE_LEFT_VERY_SMALL: - if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE_SMALL) + if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE_SMALL) && w->widgets[WIDX_LEFT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_SMALL); } - else if (!WidgetIsDisabled(w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEFT_CURVE) && w->widgets[WIDX_LEFT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_LEFT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_LEFT_CURVE_LARGE) && w->widgets[WIDX_LEFT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEFT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_LARGE) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_LARGE) && w->widgets[WIDX_RIGHT_CURVE_LARGE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_LARGE); } - else if (!WidgetIsDisabled(w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_RIGHT_CURVE) && w->widgets[WIDX_RIGHT_CURVE].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_SMALL) && w->widgets[WIDX_RIGHT_CURVE_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_SMALL); } else if ( - !WidgetIsDisabled(w, WIDX_RIGHT_CURVE_VERY_SMALL) + !WidgetIsDisabled(*w, WIDX_RIGHT_CURVE_VERY_SMALL) && w->widgets[WIDX_RIGHT_CURVE_VERY_SMALL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_RIGHT_CURVE_VERY_SMALL); @@ -4083,28 +4083,28 @@ void window_ride_construction_keyboard_shortcut_turn_right() void window_ride_construction_keyboard_shortcut_use_track_default() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) { return; } - if (!WidgetIsDisabled(w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_STRAIGHT) && w->widgets[WIDX_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_STRAIGHT); } - if (!WidgetIsDisabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEVEL); } - if (!WidgetIsDisabled(w, WIDX_CHAIN_LIFT) && w->widgets[WIDX_CHAIN_LIFT].type != WindowWidgetType::Empty + if (!WidgetIsDisabled(*w, WIDX_CHAIN_LIFT) && w->widgets[WIDX_CHAIN_LIFT].type != WindowWidgetType::Empty && _currentTrackLiftHill & CONSTRUCTION_LIFT_HILL_SELECTED) { window_event_mouse_down_call(w, WIDX_CHAIN_LIFT); } - if (!WidgetIsDisabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); } @@ -4113,7 +4113,7 @@ void window_ride_construction_keyboard_shortcut_use_track_default() void window_ride_construction_keyboard_shortcut_slope_down() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) { return; } @@ -4121,7 +4121,7 @@ void window_ride_construction_keyboard_shortcut_slope_down() switch (_currentTrackSlopeEnd) { case TRACK_SLOPE_DOWN_60: - if (IsTrackEnabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) + if (IsTrackEnabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(*w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_DROP && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) { @@ -4129,14 +4129,14 @@ void window_ride_construction_keyboard_shortcut_slope_down() } break; case TRACK_SLOPE_DOWN_25: - if (!WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP) + if (!WidgetIsDisabled(*w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); } break; case TRACK_SLOPE_NONE: - if (!WidgetIsDisabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); } @@ -4147,7 +4147,7 @@ void window_ride_construction_keyboard_shortcut_slope_down() return; } else if ( - !WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP) + !WidgetIsDisabled(*w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); @@ -4158,16 +4158,16 @@ void window_ride_construction_keyboard_shortcut_slope_down() } break; case TRACK_SLOPE_UP_25: - if (!WidgetIsDisabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEVEL); } - else if (!WidgetIsDisabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); } else if ( - !WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP) + !WidgetIsDisabled(*w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); @@ -4178,15 +4178,15 @@ void window_ride_construction_keyboard_shortcut_slope_down() } break; case TRACK_SLOPE_UP_60: - if (!WidgetIsDisabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_UP); } - else if (!WidgetIsDisabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEVEL); } - else if (!WidgetIsDisabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); } @@ -4197,7 +4197,7 @@ void window_ride_construction_keyboard_shortcut_slope_down() return; } else if ( - !WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP) + !WidgetIsDisabled(*w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP); @@ -4208,7 +4208,7 @@ void window_ride_construction_keyboard_shortcut_slope_down() } break; case TRACK_SLOPE_UP_90: - if (IsTrackEnabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) + if (IsTrackEnabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(*w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_RISE && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty) { @@ -4223,7 +4223,7 @@ void window_ride_construction_keyboard_shortcut_slope_down() void window_ride_construction_keyboard_shortcut_slope_up() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_STRAIGHT) || w->widgets[WIDX_STRAIGHT].type == WindowWidgetType::Empty) { return; } @@ -4231,7 +4231,7 @@ void window_ride_construction_keyboard_shortcut_slope_up() switch (_currentTrackSlopeEnd) { case TRACK_SLOPE_UP_60: - if (IsTrackEnabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP) + if (IsTrackEnabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(*w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_DOWN_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_RISE && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty) { @@ -4239,13 +4239,13 @@ void window_ride_construction_keyboard_shortcut_slope_up() } break; case TRACK_SLOPE_UP_25: - if (!WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); } break; case TRACK_SLOPE_NONE: - if (!WidgetIsDisabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_UP); } @@ -4256,7 +4256,7 @@ void window_ride_construction_keyboard_shortcut_slope_up() return; } else if ( - !WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) + !WidgetIsDisabled(*w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); } @@ -4266,16 +4266,16 @@ void window_ride_construction_keyboard_shortcut_slope_up() } break; case TRACK_SLOPE_DOWN_25: - if (!WidgetIsDisabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEVEL); } - else if (!WidgetIsDisabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_UP); } else if ( - !WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) + !WidgetIsDisabled(*w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); } @@ -4285,15 +4285,15 @@ void window_ride_construction_keyboard_shortcut_slope_up() } break; case TRACK_SLOPE_DOWN_60: - if (!WidgetIsDisabled(w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_SLOPE_DOWN) && w->widgets[WIDX_SLOPE_DOWN].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_DOWN); } - else if (!WidgetIsDisabled(w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_LEVEL) && w->widgets[WIDX_LEVEL].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_LEVEL); } - else if (!WidgetIsDisabled(w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_SLOPE_UP) && w->widgets[WIDX_SLOPE_UP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_UP); } @@ -4304,7 +4304,7 @@ void window_ride_construction_keyboard_shortcut_slope_up() return; } else if ( - !WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) + !WidgetIsDisabled(*w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP); } @@ -4314,7 +4314,7 @@ void window_ride_construction_keyboard_shortcut_slope_up() } break; case TRACK_SLOPE_DOWN_90: - if (IsTrackEnabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP) + if (IsTrackEnabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(*w, WIDX_SLOPE_DOWN_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_DROP && w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty) { @@ -4329,7 +4329,7 @@ void window_ride_construction_keyboard_shortcut_slope_up() void window_ride_construction_keyboard_shortcut_chain_lift_toggle() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_CHAIN_LIFT) || w->widgets[WIDX_CHAIN_LIFT].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_CHAIN_LIFT) || w->widgets[WIDX_CHAIN_LIFT].type == WindowWidgetType::Empty) { return; } @@ -4340,7 +4340,7 @@ void window_ride_construction_keyboard_shortcut_chain_lift_toggle() void window_ride_construction_keyboard_shortcut_bank_left() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_BANK_STRAIGHT) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) || w->widgets[WIDX_BANK_STRAIGHT].type == WindowWidgetType::Empty) { return; @@ -4349,17 +4349,17 @@ void window_ride_construction_keyboard_shortcut_bank_left() switch (_currentTrackBankEnd) { case TRACK_BANK_NONE: - if (!WidgetIsDisabled(w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_BANK_LEFT); } break; case TRACK_BANK_RIGHT: - if (!WidgetIsDisabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); } - else if (!WidgetIsDisabled(w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_BANK_LEFT) && w->widgets[WIDX_BANK_LEFT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_BANK_LEFT); } @@ -4376,7 +4376,7 @@ void window_ride_construction_keyboard_shortcut_bank_left() void window_ride_construction_keyboard_shortcut_bank_right() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_BANK_STRAIGHT) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) || w->widgets[WIDX_BANK_STRAIGHT].type == WindowWidgetType::Empty) { return; @@ -4385,17 +4385,17 @@ void window_ride_construction_keyboard_shortcut_bank_right() switch (_currentTrackBankEnd) { case TRACK_BANK_NONE: - if (!WidgetIsDisabled(w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_BANK_RIGHT); } break; case TRACK_BANK_LEFT: - if (!WidgetIsDisabled(w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty) + if (!WidgetIsDisabled(*w, WIDX_BANK_STRAIGHT) && w->widgets[WIDX_BANK_STRAIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_BANK_STRAIGHT); } - else if (!WidgetIsDisabled(w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WindowWidgetType::Empty) + else if (!WidgetIsDisabled(*w, WIDX_BANK_RIGHT) && w->widgets[WIDX_BANK_RIGHT].type != WindowWidgetType::Empty) { window_event_mouse_down_call(w, WIDX_BANK_RIGHT); } @@ -4412,7 +4412,7 @@ void window_ride_construction_keyboard_shortcut_bank_right() void window_ride_construction_keyboard_shortcut_previous_track() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_PREVIOUS_SECTION) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_PREVIOUS_SECTION) || w->widgets[WIDX_PREVIOUS_SECTION].type == WindowWidgetType::Empty) { return; @@ -4424,7 +4424,7 @@ void window_ride_construction_keyboard_shortcut_previous_track() void window_ride_construction_keyboard_shortcut_next_track() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_NEXT_SECTION) || w->widgets[WIDX_NEXT_SECTION].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_NEXT_SECTION) || w->widgets[WIDX_NEXT_SECTION].type == WindowWidgetType::Empty) { return; } @@ -4435,7 +4435,7 @@ void window_ride_construction_keyboard_shortcut_next_track() void window_ride_construction_keyboard_shortcut_build_current() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_CONSTRUCT) || w->widgets[WIDX_CONSTRUCT].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_CONSTRUCT) || w->widgets[WIDX_CONSTRUCT].type == WindowWidgetType::Empty) { return; } @@ -4446,7 +4446,7 @@ void window_ride_construction_keyboard_shortcut_build_current() void window_ride_construction_keyboard_shortcut_demolish_current() { rct_window* w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w == nullptr || WidgetIsDisabled(w, WIDX_DEMOLISH) || w->widgets[WIDX_DEMOLISH].type == WindowWidgetType::Empty) + if (w == nullptr || WidgetIsDisabled(*w, WIDX_DEMOLISH) || w->widgets[WIDX_DEMOLISH].type == WindowWidgetType::Empty) { return; } diff --git a/src/openrct2-ui/windows/RideList.cpp b/src/openrct2-ui/windows/RideList.cpp index 37bcf0d393..6e75fcbf12 100644 --- a/src/openrct2-ui/windows/RideList.cpp +++ b/src/openrct2-ui/windows/RideList.cpp @@ -490,9 +490,9 @@ public: } widgets[WIDX_CLOSE_LIGHT].image = SPR_G2_RCT1_CLOSE_BUTTON_0 + (allClosed ? 1 : 0) * 2 - + WidgetIsPressed(this, WIDX_CLOSE_LIGHT); + + WidgetIsPressed(*this, WIDX_CLOSE_LIGHT); widgets[WIDX_OPEN_LIGHT].image = SPR_G2_RCT1_OPEN_BUTTON_0 + (allOpen ? 1 : 0) * 2 - + WidgetIsPressed(this, WIDX_OPEN_LIGHT); + + WidgetIsPressed(*this, WIDX_OPEN_LIGHT); widgets[WIDX_QUICK_DEMOLISH].top = widgets[WIDX_OPEN_LIGHT].bottom + 3; } else diff --git a/src/openrct2-ui/windows/ServerStart.cpp b/src/openrct2-ui/windows/ServerStart.cpp index 58c7352cd8..be31bf4770 100644 --- a/src/openrct2-ui/windows/ServerStart.cpp +++ b/src/openrct2-ui/windows/ServerStart.cpp @@ -149,7 +149,7 @@ public: { ColourSchemeUpdateByClass(this, WC_SERVER_LIST); - WidgetSetCheckboxValue(this, WIDX_ADVERTISE_CHECKBOX, gConfigNetwork.advertise); + WidgetSetCheckboxValue(*this, WIDX_ADVERTISE_CHECKBOX, gConfigNetwork.advertise); auto ft = Formatter::Common(); ft.Increment(18); ft.Add(gConfigNetwork.maxplayers); diff --git a/src/openrct2-ui/windows/ShortcutKeys.cpp b/src/openrct2-ui/windows/ShortcutKeys.cpp index 1d27803733..bd0f01f958 100644 --- a/src/openrct2-ui/windows/ShortcutKeys.cpp +++ b/src/openrct2-ui/windows/ShortcutKeys.cpp @@ -200,7 +200,7 @@ public: void OnUpdate() override { // Remove highlight when the mouse is not hovering over the list - if (_highlightedItem != -1 && !WidgetIsHighlighted(this, WIDX_SCROLL)) + if (_highlightedItem != -1 && !WidgetIsHighlighted(*this, WIDX_SCROLL)) { _highlightedItem = -1; InvalidateWidget(WIDX_SCROLL); diff --git a/src/openrct2-ui/windows/Themes.cpp b/src/openrct2-ui/windows/Themes.cpp index afa2bdf935..f82e9affe3 100644 --- a/src/openrct2-ui/windows/Themes.cpp +++ b/src/openrct2-ui/windows/Themes.cpp @@ -783,11 +783,11 @@ void WindowThemesInvalidate(rct_window* w) window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WindowWidgetType::Empty; window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WindowWidgetType::Empty; - WidgetSetCheckboxValue(w, WIDX_THEMES_RCT1_RIDE_LIGHTS, ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_RIDE); - WidgetSetCheckboxValue(w, WIDX_THEMES_RCT1_PARK_LIGHTS, ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_PARK); + WidgetSetCheckboxValue(*w, WIDX_THEMES_RCT1_RIDE_LIGHTS, ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_RIDE); + WidgetSetCheckboxValue(*w, WIDX_THEMES_RCT1_PARK_LIGHTS, ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_PARK); WidgetSetCheckboxValue( - w, WIDX_THEMES_RCT1_SCENARIO_FONT, ThemeGetFlags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT); - WidgetSetCheckboxValue(w, WIDX_THEMES_RCT1_BOTTOM_TOOLBAR, ThemeGetFlags() & UITHEME_FLAG_USE_FULL_BOTTOM_TOOLBAR); + *w, WIDX_THEMES_RCT1_SCENARIO_FONT, ThemeGetFlags() & UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT); + WidgetSetCheckboxValue(*w, WIDX_THEMES_RCT1_BOTTOM_TOOLBAR, ThemeGetFlags() & UITHEME_FLAG_USE_FULL_BOTTOM_TOOLBAR); } else { diff --git a/src/openrct2-ui/windows/TileInspector.cpp b/src/openrct2-ui/windows/TileInspector.cpp index 504c33b688..3bdfc48b7f 100644 --- a/src/openrct2-ui/windows/TileInspector.cpp +++ b/src/openrct2-ui/windows/TileInspector.cpp @@ -897,7 +897,7 @@ static void WindowTileInspectorMouseup(rct_window* w, rct_widgetindex widgetInde break; case WIDX_TRACK_CHECK_CHAIN_LIFT: { - bool entireTrackBlock = WidgetIsPressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL); + bool entireTrackBlock = WidgetIsPressed(*w, WIDX_TRACK_CHECK_APPLY_TO_ALL); bool newLift = !tileElement->AsTrack()->HasChain(); WindowTileInspectorTrackBlockSetLift(windowTileInspectorSelectedIndex, entireTrackBlock, newLift); break; @@ -1042,7 +1042,7 @@ static void WindowTileInspectorMousedown(rct_window* w, rct_widgetindex widgetIn switch (widgetIndex) { case WIDX_TRACK_SPINNER_HEIGHT_INCREASE: - if (WidgetIsPressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL)) + if (WidgetIsPressed(*w, WIDX_TRACK_CHECK_APPLY_TO_ALL)) { WindowTileInspectorTrackBlockHeightOffset(windowTileInspectorSelectedIndex, 1); } @@ -1052,7 +1052,7 @@ static void WindowTileInspectorMousedown(rct_window* w, rct_widgetindex widgetIn } break; case WIDX_TRACK_SPINNER_HEIGHT_DECREASE: - if (WidgetIsPressed(w, WIDX_TRACK_CHECK_APPLY_TO_ALL)) + if (WidgetIsPressed(*w, WIDX_TRACK_CHECK_APPLY_TO_ALL)) { WindowTileInspectorTrackBlockHeightOffset(windowTileInspectorSelectedIndex, -1); } @@ -1161,7 +1161,7 @@ static void WindowTileInspectorMousedown(rct_window* w, rct_widgetindex widgetIn static void WindowTileInspectorUpdate(rct_window* w) { // Check if the mouse is hovering over the list - if (!WidgetIsHighlighted(w, WIDX_LIST)) + if (!WidgetIsHighlighted(*w, WIDX_LIST)) { windowTileInspectorHighlightedIndex = -1; widget_invalidate(w, WIDX_LIST); @@ -1406,35 +1406,35 @@ static void WindowTileInspectorInvalidate(rct_window* w) // X and Y spinners WidgetSetEnabled( - w, WIDX_SPINNER_X_INCREASE, + *w, WIDX_SPINNER_X_INCREASE, (windowTileInspectorTileSelected && ((windowTileInspectorToolMap.x / 32) < MAXIMUM_MAP_SIZE_TECHNICAL - 1))); WidgetSetEnabled( - w, WIDX_SPINNER_X_DECREASE, (windowTileInspectorTileSelected && ((windowTileInspectorToolMap.x / 32) > 0))); + *w, WIDX_SPINNER_X_DECREASE, (windowTileInspectorTileSelected && ((windowTileInspectorToolMap.x / 32) > 0))); WidgetSetEnabled( - w, WIDX_SPINNER_Y_INCREASE, + *w, WIDX_SPINNER_Y_INCREASE, (windowTileInspectorTileSelected && ((windowTileInspectorToolMap.y / 32) < MAXIMUM_MAP_SIZE_TECHNICAL - 1))); WidgetSetEnabled( - w, WIDX_SPINNER_Y_DECREASE, (windowTileInspectorTileSelected && ((windowTileInspectorToolMap.y / 32) > 0))); + *w, WIDX_SPINNER_Y_DECREASE, (windowTileInspectorTileSelected && ((windowTileInspectorToolMap.y / 32) > 0))); // Sort buttons - WidgetSetEnabled(w, WIDX_BUTTON_SORT, (windowTileInspectorTileSelected && windowTileInspectorElementCount > 1)); + WidgetSetEnabled(*w, WIDX_BUTTON_SORT, (windowTileInspectorTileSelected && windowTileInspectorElementCount > 1)); // Move Up button WidgetSetEnabled( - w, WIDX_BUTTON_MOVE_UP, + *w, WIDX_BUTTON_MOVE_UP, (windowTileInspectorSelectedIndex != -1 && windowTileInspectorSelectedIndex < windowTileInspectorElementCount - 1)); widget_invalidate(w, WIDX_BUTTON_MOVE_UP); // Move Down button - WidgetSetEnabled(w, WIDX_BUTTON_MOVE_DOWN, (windowTileInspectorSelectedIndex > 0)); + WidgetSetEnabled(*w, WIDX_BUTTON_MOVE_DOWN, (windowTileInspectorSelectedIndex > 0)); widget_invalidate(w, WIDX_BUTTON_MOVE_DOWN); // Copy button - WidgetSetEnabled(w, WIDX_BUTTON_COPY, windowTileInspectorSelectedIndex >= 0); + WidgetSetEnabled(*w, WIDX_BUTTON_COPY, windowTileInspectorSelectedIndex >= 0); widget_invalidate(w, WIDX_BUTTON_COPY); // Paste button - WidgetSetEnabled(w, WIDX_BUTTON_PASTE, windowTileInspectorTileSelected && windowTileInspectorElementCopied); + WidgetSetEnabled(*w, WIDX_BUTTON_PASTE, windowTileInspectorTileSelected && windowTileInspectorElementCopied); widget_invalidate(w, WIDX_BUTTON_PASTE); w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; @@ -1495,19 +1495,19 @@ static void WindowTileInspectorInvalidate(rct_window* w) w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].top = GBBT(propertiesAnchor, 3) + 7 * 1; w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].bottom = w->widgets[WIDX_SURFACE_CHECK_DIAGONAL].top + 13; WidgetSetCheckboxValue( - w, WIDX_SURFACE_CHECK_CORNER_N, + *w, WIDX_SURFACE_CHECK_CORNER_N, tileElement->AsSurface()->GetSlope() & (1 << ((2 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_SURFACE_CHECK_CORNER_E, + *w, WIDX_SURFACE_CHECK_CORNER_E, tileElement->AsSurface()->GetSlope() & (1 << ((3 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_SURFACE_CHECK_CORNER_S, + *w, WIDX_SURFACE_CHECK_CORNER_S, tileElement->AsSurface()->GetSlope() & (1 << ((0 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_SURFACE_CHECK_CORNER_W, + *w, WIDX_SURFACE_CHECK_CORNER_W, tileElement->AsSurface()->GetSlope() & (1 << ((1 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_SURFACE_CHECK_DIAGONAL, tileElement->AsSurface()->GetSlope() & TILE_ELEMENT_SLOPE_DOUBLE_HEIGHT); + *w, WIDX_SURFACE_CHECK_DIAGONAL, tileElement->AsSurface()->GetSlope() & TILE_ELEMENT_SLOPE_DOUBLE_HEIGHT); break; case TileElementType::Path: w->widgets[WIDX_PATH_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3; @@ -1536,24 +1536,24 @@ static void WindowTileInspectorInvalidate(rct_window* w) w->widgets[WIDX_PATH_CHECK_EDGE_W].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_W].top + 13; w->widgets[WIDX_PATH_CHECK_EDGE_NW].top = GBBT(propertiesAnchor, 3) + 7 * 1; w->widgets[WIDX_PATH_CHECK_EDGE_NW].bottom = w->widgets[WIDX_PATH_CHECK_EDGE_NW].top + 13; - WidgetSetCheckboxValue(w, WIDX_PATH_CHECK_SLOPED, tileElement->AsPath()->IsSloped()); - WidgetSetCheckboxValue(w, WIDX_PATH_CHECK_BROKEN, tileElement->AsPath()->IsBroken()); + WidgetSetCheckboxValue(*w, WIDX_PATH_CHECK_SLOPED, tileElement->AsPath()->IsSloped()); + WidgetSetCheckboxValue(*w, WIDX_PATH_CHECK_BROKEN, tileElement->AsPath()->IsBroken()); WidgetSetCheckboxValue( - w, WIDX_PATH_CHECK_EDGE_NE, tileElement->AsPath()->GetEdges() & (1 << ((0 - get_current_rotation()) & 3))); + *w, WIDX_PATH_CHECK_EDGE_NE, tileElement->AsPath()->GetEdges() & (1 << ((0 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_PATH_CHECK_EDGE_SE, tileElement->AsPath()->GetEdges() & (1 << ((1 - get_current_rotation()) & 3))); + *w, WIDX_PATH_CHECK_EDGE_SE, tileElement->AsPath()->GetEdges() & (1 << ((1 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_PATH_CHECK_EDGE_SW, tileElement->AsPath()->GetEdges() & (1 << ((2 - get_current_rotation()) & 3))); + *w, WIDX_PATH_CHECK_EDGE_SW, tileElement->AsPath()->GetEdges() & (1 << ((2 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_PATH_CHECK_EDGE_NW, tileElement->AsPath()->GetEdges() & (1 << ((3 - get_current_rotation()) & 3))); + *w, WIDX_PATH_CHECK_EDGE_NW, tileElement->AsPath()->GetEdges() & (1 << ((3 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_PATH_CHECK_EDGE_E, tileElement->AsPath()->GetCorners() & (1 << ((0 - get_current_rotation()) & 3))); + *w, WIDX_PATH_CHECK_EDGE_E, tileElement->AsPath()->GetCorners() & (1 << ((0 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_PATH_CHECK_EDGE_S, tileElement->AsPath()->GetCorners() & (1 << ((1 - get_current_rotation()) & 3))); + *w, WIDX_PATH_CHECK_EDGE_S, tileElement->AsPath()->GetCorners() & (1 << ((1 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_PATH_CHECK_EDGE_W, tileElement->AsPath()->GetCorners() & (1 << ((2 - get_current_rotation()) & 3))); + *w, WIDX_PATH_CHECK_EDGE_W, tileElement->AsPath()->GetCorners() & (1 << ((2 - get_current_rotation()) & 3))); WidgetSetCheckboxValue( - w, WIDX_PATH_CHECK_EDGE_N, tileElement->AsPath()->GetCorners() & (1 << ((3 - get_current_rotation()) & 3))); + *w, WIDX_PATH_CHECK_EDGE_N, tileElement->AsPath()->GetCorners() & (1 << ((3 - get_current_rotation()) & 3))); break; case TileElementType::Track: w->widgets[WIDX_TRACK_CHECK_APPLY_TO_ALL].top = GBBT(propertiesAnchor, 0); @@ -1570,10 +1570,10 @@ static void WindowTileInspectorInvalidate(rct_window* w) w->widgets[WIDX_TRACK_CHECK_BLOCK_BRAKE_CLOSED].bottom = GBBB(propertiesAnchor, 3); w->widgets[WIDX_TRACK_CHECK_IS_INDESTRUCTIBLE].top = GBBT(propertiesAnchor, 4); w->widgets[WIDX_TRACK_CHECK_IS_INDESTRUCTIBLE].bottom = GBBB(propertiesAnchor, 4); - WidgetSetCheckboxValue(w, WIDX_TRACK_CHECK_APPLY_TO_ALL, windowTileInspectorApplyToAll); - WidgetSetCheckboxValue(w, WIDX_TRACK_CHECK_CHAIN_LIFT, tileElement->AsTrack()->HasChain()); - WidgetSetCheckboxValue(w, WIDX_TRACK_CHECK_BLOCK_BRAKE_CLOSED, tileElement->AsTrack()->BlockBrakeClosed()); - WidgetSetCheckboxValue(w, WIDX_TRACK_CHECK_IS_INDESTRUCTIBLE, tileElement->AsTrack()->IsIndestructible()); + WidgetSetCheckboxValue(*w, WIDX_TRACK_CHECK_APPLY_TO_ALL, windowTileInspectorApplyToAll); + WidgetSetCheckboxValue(*w, WIDX_TRACK_CHECK_CHAIN_LIFT, tileElement->AsTrack()->HasChain()); + WidgetSetCheckboxValue(*w, WIDX_TRACK_CHECK_BLOCK_BRAKE_CLOSED, tileElement->AsTrack()->BlockBrakeClosed()); + WidgetSetCheckboxValue(*w, WIDX_TRACK_CHECK_IS_INDESTRUCTIBLE, tileElement->AsTrack()->IsIndestructible()); break; case TileElementType::SmallScenery: { @@ -1599,10 +1599,10 @@ static void WindowTileInspectorInvalidate(rct_window* w) bool E = tileElement->AsSmallScenery()->GetSceneryQuadrant() == ((1 - get_current_rotation()) & 3); bool S = tileElement->AsSmallScenery()->GetSceneryQuadrant() == ((2 - get_current_rotation()) & 3); bool W = tileElement->AsSmallScenery()->GetSceneryQuadrant() == ((3 - get_current_rotation()) & 3); - WidgetSetCheckboxValue(w, WIDX_SCENERY_CHECK_QUARTER_N, N); - WidgetSetCheckboxValue(w, WIDX_SCENERY_CHECK_QUARTER_E, E); - WidgetSetCheckboxValue(w, WIDX_SCENERY_CHECK_QUARTER_S, S); - WidgetSetCheckboxValue(w, WIDX_SCENERY_CHECK_QUARTER_W, W); + WidgetSetCheckboxValue(*w, WIDX_SCENERY_CHECK_QUARTER_N, N); + WidgetSetCheckboxValue(*w, WIDX_SCENERY_CHECK_QUARTER_E, E); + WidgetSetCheckboxValue(*w, WIDX_SCENERY_CHECK_QUARTER_S, S); + WidgetSetCheckboxValue(*w, WIDX_SCENERY_CHECK_QUARTER_W, W); // Collision checkboxes w->widgets[WIDX_SCENERY_CHECK_COLLISION_N].top = GBBT(propertiesAnchor, 2) + 5 + 7 * 0; @@ -1618,10 +1618,10 @@ static void WindowTileInspectorInvalidate(rct_window* w) E = (occupiedQuadrants & (1 << ((3 - get_current_rotation()) & 3))) != 0; S = (occupiedQuadrants & (1 << ((0 - get_current_rotation()) & 3))) != 0; W = (occupiedQuadrants & (1 << ((1 - get_current_rotation()) & 3))) != 0; - WidgetSetCheckboxValue(w, WIDX_SCENERY_CHECK_COLLISION_N, N); - WidgetSetCheckboxValue(w, WIDX_SCENERY_CHECK_COLLISION_E, E); - WidgetSetCheckboxValue(w, WIDX_SCENERY_CHECK_COLLISION_S, S); - WidgetSetCheckboxValue(w, WIDX_SCENERY_CHECK_COLLISION_W, W); + WidgetSetCheckboxValue(*w, WIDX_SCENERY_CHECK_COLLISION_N, N); + WidgetSetCheckboxValue(*w, WIDX_SCENERY_CHECK_COLLISION_E, E); + WidgetSetCheckboxValue(*w, WIDX_SCENERY_CHECK_COLLISION_S, S); + WidgetSetCheckboxValue(*w, WIDX_SCENERY_CHECK_COLLISION_W, W); break; } case TileElementType::Entrance: @@ -1634,7 +1634,7 @@ static void WindowTileInspectorInvalidate(rct_window* w) w->widgets[WIDX_ENTRANCE_BUTTON_MAKE_USABLE].top = GBBT(propertiesAnchor, 1); w->widgets[WIDX_ENTRANCE_BUTTON_MAKE_USABLE].bottom = GBBB(propertiesAnchor, 1); WidgetSetEnabled( - w, WIDX_ENTRANCE_BUTTON_MAKE_USABLE, + *w, WIDX_ENTRANCE_BUTTON_MAKE_USABLE, tileElement->AsEntrance()->GetEntranceType() != ENTRANCE_TYPE_PARK_ENTRANCE); break; case TileElementType::Wall: @@ -1667,14 +1667,14 @@ static void WindowTileInspectorInvalidate(rct_window* w) w->widgets[WIDX_WALL_SPINNER_ANIMATION_FRAME_DECREASE].bottom = GBBB(propertiesAnchor, 2) - 4; // Wall slope dropdown - WidgetSetEnabled(w, WIDX_WALL_DROPDOWN_SLOPE, canBeSloped); + WidgetSetEnabled(*w, WIDX_WALL_DROPDOWN_SLOPE, canBeSloped); widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE); - WidgetSetEnabled(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON, canBeSloped); + WidgetSetEnabled(*w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON, canBeSloped); widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON); // Wall animation frame spinner - WidgetSetEnabled(w, WIDX_WALL_SPINNER_ANIMATION_FRAME, hasAnimation); - WidgetSetEnabled(w, WIDX_WALL_SPINNER_ANIMATION_FRAME_INCREASE, hasAnimation); - WidgetSetEnabled(w, WIDX_WALL_SPINNER_ANIMATION_FRAME_DECREASE, hasAnimation); + WidgetSetEnabled(*w, WIDX_WALL_SPINNER_ANIMATION_FRAME, hasAnimation); + WidgetSetEnabled(*w, WIDX_WALL_SPINNER_ANIMATION_FRAME_INCREASE, hasAnimation); + WidgetSetEnabled(*w, WIDX_WALL_SPINNER_ANIMATION_FRAME_DECREASE, hasAnimation); break; } case TileElementType::LargeScenery: @@ -1701,16 +1701,16 @@ static void WindowTileInspectorInvalidate(rct_window* w) w->widgets[WIDX_BANNER_CHECK_BLOCK_NW].top = GBBT(propertiesAnchor, 1); w->widgets[WIDX_BANNER_CHECK_BLOCK_NW].bottom = GBBB(propertiesAnchor, 1); WidgetSetCheckboxValue( - w, WIDX_BANNER_CHECK_BLOCK_NE, + *w, WIDX_BANNER_CHECK_BLOCK_NE, !(tileElement->AsBanner()->GetAllowedEdges() & (1 << ((0 - get_current_rotation()) & 3)))); WidgetSetCheckboxValue( - w, WIDX_BANNER_CHECK_BLOCK_SE, + *w, WIDX_BANNER_CHECK_BLOCK_SE, !(tileElement->AsBanner()->GetAllowedEdges() & (1 << ((1 - get_current_rotation()) & 3)))); WidgetSetCheckboxValue( - w, WIDX_BANNER_CHECK_BLOCK_SW, + *w, WIDX_BANNER_CHECK_BLOCK_SW, !(tileElement->AsBanner()->GetAllowedEdges() & (1 << ((2 - get_current_rotation()) & 3)))); WidgetSetCheckboxValue( - w, WIDX_BANNER_CHECK_BLOCK_NW, + *w, WIDX_BANNER_CHECK_BLOCK_NW, !(tileElement->AsBanner()->GetAllowedEdges() & (1 << ((3 - get_current_rotation()) & 3)))); break; default: @@ -2153,7 +2153,7 @@ static void WindowTileInspectorPaint(rct_window* w, rct_drawpixelinfo* dpi) // Current animation frame colour_t colour = w->colours[1]; - if (WidgetIsDisabled(w, WIDX_WALL_SPINNER_ANIMATION_FRAME)) + if (WidgetIsDisabled(*w, WIDX_WALL_SPINNER_ANIMATION_FRAME)) { colour = w->colours[0] | COLOUR_FLAG_INSET; } diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index b324060304..eef736eb6a 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -893,7 +893,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_STAFF].left, w->windowPos.y + window_top_toolbar_widgets[WIDX_STAFF].top }; imgId = SPR_TOOLBAR_STAFF; - if (WidgetIsPressed(w, WIDX_STAFF)) + if (WidgetIsPressed(*w, WIDX_STAFF)) imgId++; gfx_draw_sprite(dpi, ImageId(imgId, gStaffHandymanColour, gStaffMechanicColour), screenPos); } @@ -903,7 +903,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) { screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_FASTFORWARD].left + 0, w->windowPos.y + window_top_toolbar_widgets[WIDX_FASTFORWARD].top + 0 }; - if (WidgetIsPressed(w, WIDX_FASTFORWARD)) + if (WidgetIsPressed(*w, WIDX_FASTFORWARD)) screenPos.y++; gfx_draw_sprite(dpi, ImageId(SPR_G2_FASTFORWARD), screenPos + ScreenCoordsXY{ 6, 3 }); @@ -923,7 +923,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) screenPos = w->windowPos + ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_CHEATS].left - 1, window_top_toolbar_widgets[WIDX_CHEATS].top - 1 }; - if (WidgetIsPressed(w, WIDX_CHEATS)) + if (WidgetIsPressed(*w, WIDX_CHEATS)) screenPos.y++; gfx_draw_sprite(dpi, ImageId(SPR_G2_SANDBOX), screenPos); @@ -941,7 +941,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) { screenPos = w->windowPos + ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_CHAT].left, window_top_toolbar_widgets[WIDX_CHAT].top - 2 }; - if (WidgetIsPressed(w, WIDX_CHAT)) + if (WidgetIsPressed(*w, WIDX_CHAT)) screenPos.y++; gfx_draw_sprite(dpi, ImageId(SPR_G2_CHAT), screenPos); } @@ -951,7 +951,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) { screenPos = w->windowPos + ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_DEBUG].left, window_top_toolbar_widgets[WIDX_DEBUG].top - 1 }; - if (WidgetIsPressed(w, WIDX_DEBUG)) + if (WidgetIsPressed(*w, WIDX_DEBUG)) screenPos.y++; gfx_draw_sprite(dpi, ImageId(SPR_TAB_GEARS_0), screenPos); } @@ -962,7 +962,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) screenPos = w->windowPos + ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_RESEARCH].left - 1, window_top_toolbar_widgets[WIDX_RESEARCH].top }; - if (WidgetIsPressed(w, WIDX_RESEARCH)) + if (WidgetIsPressed(*w, WIDX_RESEARCH)) screenPos.y++; gfx_draw_sprite(dpi, ImageId(SPR_TAB_FINANCES_RESEARCH_0), screenPos); } @@ -973,7 +973,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) screenPos = w->windowPos + ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_FINANCES].left + 3, window_top_toolbar_widgets[WIDX_FINANCES].top + 1 }; - if (WidgetIsPressed(w, WIDX_FINANCES)) + if (WidgetIsPressed(*w, WIDX_FINANCES)) screenPos.y++; gfx_draw_sprite(dpi, ImageId(SPR_FINANCE), screenPos); } @@ -983,7 +983,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) { screenPos = w->windowPos + ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_NEWS].left + 3, window_top_toolbar_widgets[WIDX_NEWS].top + 0 }; - if (WidgetIsPressed(w, WIDX_NEWS)) + if (WidgetIsPressed(*w, WIDX_NEWS)) screenPos.y++; gfx_draw_sprite(dpi, ImageId(SPR_G2_TAB_NEWS), screenPos); } @@ -994,7 +994,7 @@ static void WindowTopToolbarPaint(rct_window* w, rct_drawpixelinfo* dpi) screenPos = w->windowPos + ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_NETWORK].left + 3, window_top_toolbar_widgets[WIDX_NETWORK].top + 0 }; - if (WidgetIsPressed(w, WIDX_NETWORK)) + if (WidgetIsPressed(*w, WIDX_NETWORK)) screenPos.y++; // Draw (de)sync icon. diff --git a/src/openrct2-ui/windows/ViewClipping.cpp b/src/openrct2-ui/windows/ViewClipping.cpp index 5843551b6d..a4cede52c3 100644 --- a/src/openrct2-ui/windows/ViewClipping.cpp +++ b/src/openrct2-ui/windows/ViewClipping.cpp @@ -259,7 +259,7 @@ public: rct_window* mainWindow = window_get_main(); if (mainWindow != nullptr) { - WidgetSetCheckboxValue(this, WIDX_CLIP_CHECKBOX_ENABLE, mainWindow->viewport->flags & VIEWPORT_FLAG_CLIP_VIEW); + WidgetSetCheckboxValue(*this, WIDX_CLIP_CHECKBOX_ENABLE, mainWindow->viewport->flags & VIEWPORT_FLAG_CLIP_VIEW); } if (IsActive()) diff --git a/src/openrct2/interface/Widget.h b/src/openrct2/interface/Widget.h index 8a287d9c26..dffaf3f3dc 100644 --- a/src/openrct2/interface/Widget.h +++ b/src/openrct2/interface/Widget.h @@ -147,19 +147,19 @@ constexpr rct_widget MakeDropdownButtonWidget( void WidgetScrollUpdateThumbs(rct_window* w, rct_widgetindex widget_index); void WidgetDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex widgetIndex); -bool WidgetIsDisabled(const rct_window* w, rct_widgetindex widgetIndex); -bool WidgetIsHoldable(const rct_window* w, rct_widgetindex widgetIndex); -bool WidgetIsVisible(const rct_window* w, rct_widgetindex widgetIndex); -bool WidgetIsPressed(const rct_window* w, rct_widgetindex widgetIndex); -bool WidgetIsHighlighted(const rct_window* w, rct_widgetindex widgetIndex); -bool WidgetIsActiveTool(const rct_window* w, rct_widgetindex widgetIndex); +bool WidgetIsDisabled(const rct_window& w, rct_widgetindex widgetIndex); +bool WidgetIsHoldable(const rct_window& w, rct_widgetindex widgetIndex); +bool WidgetIsVisible(const rct_window& w, rct_widgetindex widgetIndex); +bool WidgetIsPressed(const rct_window& w, rct_widgetindex widgetIndex); +bool WidgetIsHighlighted(const rct_window& w, rct_widgetindex widgetIndex); +bool WidgetIsActiveTool(const rct_window& w, rct_widgetindex widgetIndex); void WidgetScrollGetPart( rct_window* w, const rct_widget* widget, const ScreenCoordsXY& screenCoords, ScreenCoordsXY& retScreenCoords, int32_t* output_scroll_area, int32_t* scroll_id); -void WidgetSetEnabled(rct_window* w, rct_widgetindex widgetIndex, bool enabled); -void WidgetSetDisabled(rct_window* w, rct_widgetindex widgetIndex, bool value); -void WidgetSetHoldable(rct_window* w, rct_widgetindex widgetIndex, bool value); -void WidgetSetVisible(rct_window* w, rct_widgetindex widgetIndex, bool value); -void WidgetSetPressed(rct_window* w, rct_widgetindex widgetIndex, bool value); -void WidgetSetCheckboxValue(rct_window* w, rct_widgetindex widgetIndex, bool value); +void WidgetSetEnabled(rct_window& w, rct_widgetindex widgetIndex, bool enabled); +void WidgetSetDisabled(rct_window& w, rct_widgetindex widgetIndex, bool value); +void WidgetSetHoldable(rct_window& w, rct_widgetindex widgetIndex, bool value); +void WidgetSetVisible(rct_window& w, rct_widgetindex widgetIndex, bool value); +void WidgetSetPressed(rct_window& w, rct_widgetindex widgetIndex, bool value); +void WidgetSetCheckboxValue(rct_window& w, rct_widgetindex widgetIndex, bool value);