diff --git a/src/openrct2-ui/input/MouseInput.cpp b/src/openrct2-ui/input/MouseInput.cpp index 46071b3d8e..44a78dd9d1 100644 --- a/src/openrct2-ui/input/MouseInput.cpp +++ b/src/openrct2-ui/input/MouseInput.cpp @@ -182,7 +182,7 @@ static void InputScrollDragBegin(const ScreenCoordsXY& screenCoords, rct_window* _dragWidget.widget_index = widgetIndex; _ticksSinceDragStart = 0; - _dragScrollIndex = window_get_scroll_data_index(w, widgetIndex); + _dragScrollIndex = window_get_scroll_data_index(*w, widgetIndex); context_hide_cursor(); } @@ -275,7 +275,7 @@ static void GameHandleInputMouse(const ScreenCoordsXY& screenCoords, MouseState // Get window and widget under cursor position w = window_find_from_point(screenCoords); - widgetIndex = w == nullptr ? -1 : window_find_widget_from_point(w, screenCoords); + widgetIndex = w == nullptr ? -1 : window_find_widget_from_point(*w, screenCoords); widget = widgetIndex == -1 ? nullptr : &w->widgets[widgetIndex]; switch (_inputState) @@ -474,7 +474,7 @@ static void InputWindowPositionContinue( int32_t snapProximity; snapProximity = (w->flags & WF_NO_SNAPPING) ? 0 : gConfigGeneral.window_snap_proximity; - window_move_and_snap(w, newScreenCoords - lastScreenCoords, snapProximity); + window_move_and_snap(*w, newScreenCoords - lastScreenCoords, snapProximity); } static void InputWindowPositionEnd(rct_window* w, const ScreenCoordsXY& screenCoords) @@ -504,7 +504,7 @@ static void InputWindowResizeContinue(rct_window* w, const ScreenCoordsXY& scree int32_t targetWidth = _originalWindowWidth + differentialCoords.x - w->width; int32_t targetHeight = _originalWindowHeight + differentialCoords.y - w->height; - window_resize(w, targetWidth, targetHeight); + window_resize(*w, targetWidth, targetHeight); } } @@ -1035,7 +1035,7 @@ static void InputWidgetLeft(const ScreenCoordsXY& screenCoords, rct_window* w, r { case WindowWidgetType::Frame: case WindowWidgetType::Resize: - if (window_can_resize(w) + if (window_can_resize(*w) && (screenCoords.x >= w->windowPos.x + w->width - 19 && screenCoords.y >= w->windowPos.y + w->height - 19)) InputWindowResizeBegin(w, widgetIndex, screenCoords); break; @@ -1098,7 +1098,7 @@ void ProcessMouseOver(const ScreenCoordsXY& screenCoords) if (window != nullptr) { - rct_widgetindex widgetId = window_find_widget_from_point(window, screenCoords); + rct_widgetindex widgetId = window_find_widget_from_point(*window, screenCoords); if (widgetId != -1) { switch (window->widgets[widgetId].type) diff --git a/src/openrct2-ui/input/Shortcuts.cpp b/src/openrct2-ui/input/Shortcuts.cpp index b7b70af669..2314763fa3 100644 --- a/src/openrct2-ui/input/Shortcuts.cpp +++ b/src/openrct2-ui/input/Shortcuts.cpp @@ -60,7 +60,7 @@ static void RotateCamera(int32_t direction) auto window = window_get_main(); if (window != nullptr) { - window_rotate_camera(window, direction); + window_rotate_camera(*window, direction); } } } @@ -148,10 +148,10 @@ static void ShortcutRemoveTopBottomToolbarToggle() { if (window_find_by_class(WC_TITLE_LOGO) != nullptr) { - window_close(window_find_by_class(WC_TITLE_LOGO)); - window_close(window_find_by_class(WC_TITLE_OPTIONS)); - window_close(window_find_by_class(WC_TITLE_MENU)); - window_close(window_find_by_class(WC_TITLE_EXIT)); + window_close(*window_find_by_class(WC_TITLE_LOGO)); + window_close(*window_find_by_class(WC_TITLE_OPTIONS)); + window_close(*window_find_by_class(WC_TITLE_MENU)); + window_close(*window_find_by_class(WC_TITLE_EXIT)); title_set_hide_version_info(true); } else @@ -163,9 +163,9 @@ static void ShortcutRemoveTopBottomToolbarToggle() { if (window_find_by_class(WC_TOP_TOOLBAR) != nullptr) { - window_close(window_find_by_class(WC_DROPDOWN)); - window_close(window_find_by_class(WC_TOP_TOOLBAR)); - window_close(window_find_by_class(WC_BOTTOM_TOOLBAR)); + window_close(*window_find_by_class(WC_DROPDOWN)); + window_close(*window_find_by_class(WC_TOP_TOOLBAR)); + window_close(*window_find_by_class(WC_BOTTOM_TOOLBAR)); } else { @@ -385,7 +385,7 @@ static void ShortcutOpenCheatWindow() rct_window* window = window_find_by_class(WC_CHEATS); if (window != nullptr) { - window_close(window); + window_close(*window); return; } context_open_window(WC_CHEATS); @@ -762,7 +762,7 @@ void ShortcutManager::RegisterDefaultShortcuts() auto window = window_find_by_class(WC_ERROR); if (window != nullptr) { - window_close(window); + window_close(*window); } else if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) { @@ -909,7 +909,7 @@ void ShortcutManager::RegisterDefaultShortcuts() auto window = window_find_by_class(WC_DEBUG_PAINT); if (window != nullptr) { - window_close(window); + window_close(*window); } else { diff --git a/src/openrct2-ui/interface/Widget.cpp b/src/openrct2-ui/interface/Widget.cpp index 924d86d205..e5769457a0 100644 --- a/src/openrct2-ui/interface/Widget.cpp +++ b/src/openrct2-ui/interface/Widget.cpp @@ -657,7 +657,7 @@ static void WidgetCheckboxDraw(rct_drawpixelinfo* dpi, rct_window& w, rct_widget static void WidgetScrollDraw(rct_drawpixelinfo* dpi, rct_window& w, rct_widgetindex widgetIndex) { // Get the widget - int32_t scrollIndex = window_get_scroll_data_index(&w, widgetIndex); + int32_t scrollIndex = window_get_scroll_data_index(w, widgetIndex); const auto& widget = w.widgets[widgetIndex]; const auto& scroll = w.scrolls[scrollIndex]; diff --git a/src/openrct2-ui/interface/Window.cpp b/src/openrct2-ui/interface/Window.cpp index ed3d0d6bd8..8a2c327d40 100644 --- a/src/openrct2-ui/interface/Window.cpp +++ b/src/openrct2-ui/interface/Window.cpp @@ -224,7 +224,7 @@ rct_window* WindowCreate( { if (!(w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT | WF_NO_AUTO_CLOSE))) { - window_close(w.get()); + window_close(*w.get()); break; } } @@ -380,7 +380,7 @@ static void WindowScrollWheelInput(rct_window& w, int32_t scrollIndex, int32_t w } WidgetScrollUpdateThumbs(w, widgetIndex); - widget_invalidate(&w, widgetIndex); + widget_invalidate(w, widgetIndex); } /** @@ -418,9 +418,9 @@ static void WindowViewportWheelInput(rct_window& w, int32_t wheel) return; if (wheel < 0) - window_zoom_in(&w, true); + window_zoom_in(w, true); else if (wheel > 0) - window_zoom_out(&w, true); + window_zoom_out(w, true); } static bool WindowOtherWheelInput(rct_window& w, rct_widgetindex widgetIndex, int32_t wheel) @@ -537,7 +537,7 @@ void WindowAllWheelInput() } // Check scroll view, cursor is over - rct_widgetindex widgetIndex = window_find_widget_from_point(w, cursorState->position); + rct_widgetindex widgetIndex = window_find_widget_from_point(*w, cursorState->position); if (widgetIndex != -1) { const auto& widget = w->widgets[widgetIndex]; @@ -686,7 +686,7 @@ static void WindowInvalidatePressedImageButton(const rct_window& w) void InvalidateAllWindowsAfterInput() { window_visit_each([](rct_window* w) { - window_update_scroll_widgets(w); + window_update_scroll_widgets(*w); WindowInvalidatePressedImageButton(*w); window_event_resize_call(w); }); @@ -714,7 +714,7 @@ void Window::InitScrollWidgets() void Window::InvalidateWidget(rct_widgetindex widgetIndex) { - widget_invalidate(this, widgetIndex); + widget_invalidate(*this, widgetIndex); } bool Window::IsWidgetDisabled(rct_widgetindex widgetIndex) const @@ -749,7 +749,7 @@ void Window::DrawWidgets(rct_drawpixelinfo& dpi) void Window::Close() { - window_close(this); + window_close(*this); } void Window::TextInputOpen( diff --git a/src/openrct2-ui/scripting/CustomListView.cpp b/src/openrct2-ui/scripting/CustomListView.cpp index eb11890117..e2b94983bf 100644 --- a/src/openrct2-ui/scripting/CustomListView.cpp +++ b/src/openrct2-ui/scripting/CustomListView.cpp @@ -255,7 +255,7 @@ void CustomListView::SetColumns(const std::vector& columns, bool SortItems(0, ColumnSortOrder::None); if (!initialising) { - window_update_scroll_widgets(ParentWindow); + window_update_scroll_widgets(*ParentWindow); Invalidate(); } } @@ -272,7 +272,7 @@ void CustomListView::SetItems(const std::vector& items, bool initi SortItems(0, ColumnSortOrder::None); if (!initialising) { - window_update_scroll_widgets(ParentWindow); + window_update_scroll_widgets(*ParentWindow); Invalidate(); } } @@ -283,7 +283,7 @@ void CustomListView::SetItems(std::vector&& items, bool initialisi SortItems(0, ColumnSortOrder::None); if (!initialising) { - window_update_scroll_widgets(ParentWindow); + window_update_scroll_widgets(*ParentWindow); Invalidate(); } } diff --git a/src/openrct2-ui/scripting/CustomWindow.cpp b/src/openrct2-ui/scripting/CustomWindow.cpp index 4ff74f25e6..d534aed7ef 100644 --- a/src/openrct2-ui/scripting/CustomWindow.cpp +++ b/src/openrct2-ui/scripting/CustomWindow.cpp @@ -456,7 +456,7 @@ namespace OpenRCT2::Ui::Windows { frame_no = 0; } - widget_invalidate(this, WIDX_TAB_0 + this->page); + widget_invalidate(*this, WIDX_TAB_0 + this->page); } } @@ -538,7 +538,7 @@ namespace OpenRCT2::Ui::Windows auto widgetIndex = GetViewportWidgetIndex(); if (WidgetIsVisible(*this, widgetIndex.value_or(false))) { - window_draw_viewport(&dpi, this); + window_draw_viewport(&dpi, *this); } } } @@ -577,7 +577,7 @@ namespace OpenRCT2::Ui::Windows switch (widgetIndex) { case WIDX_CLOSE: - window_close(this); + window_close(*this); break; default: { @@ -1196,7 +1196,7 @@ namespace OpenRCT2::Ui::Windows { customWidgetInfo->Text = value; w->widgets[widgetIndex].string = customWidgetInfo->Text.data(); - widget_invalidate(w, widgetIndex); + widget_invalidate(*w, widgetIndex); } } } @@ -1230,7 +1230,7 @@ namespace OpenRCT2::Ui::Windows { customWidgetInfo->Colour = colour; widget.image = GetColourButtonImage(colour); - widget_invalidate(w, widgetIndex); + widget_invalidate(*w, widgetIndex); std::vector args; auto ctx = customWidgetInfo->OnChange.context(); @@ -1275,7 +1275,7 @@ namespace OpenRCT2::Ui::Windows } customWidgetInfo->SelectedIndex = selectedIndex; - widget_invalidate(w, widgetIndex); + widget_invalidate(*w, widgetIndex); if (lastSelectedIndex != selectedIndex) { @@ -1399,7 +1399,7 @@ namespace OpenRCT2::Ui::Windows if (w->custom_info != nullptr) { auto& info = GetInfo(w); - auto scrollIndex = window_get_scroll_data_index(w, widgetIndex); + auto scrollIndex = window_get_scroll_data_index(*w, widgetIndex); if (scrollIndex < static_cast(info.ListViews.size())) { return &info.ListViews[scrollIndex]; @@ -1454,7 +1454,7 @@ namespace OpenRCT2::Ui::Windows for (auto& window : customWindows) { - window_close(window.get()); + window_close(*window.get()); } } diff --git a/src/openrct2-ui/scripting/ScViewport.hpp b/src/openrct2-ui/scripting/ScViewport.hpp index 558fa30868..c89b300b24 100644 --- a/src/openrct2-ui/scripting/ScViewport.hpp +++ b/src/openrct2-ui/scripting/ScViewport.hpp @@ -122,7 +122,7 @@ namespace OpenRCT2::Scripting { while (get_current_rotation() != value) { - window_rotate_camera(w, 1); + window_rotate_camera(*w, 1); } } } @@ -143,7 +143,7 @@ namespace OpenRCT2::Scripting if (w != nullptr) { auto i8Value = static_cast(value); - window_zoom_set(w, ZoomLevel{ i8Value }, false); + window_zoom_set(*w, ZoomLevel{ i8Value }, false); } } @@ -220,7 +220,7 @@ namespace OpenRCT2::Scripting auto coords = GetCoordsFromObject(position); if (coords) { - window_scroll_to_location(w, *coords); + window_scroll_to_location(*w, *coords); } } } diff --git a/src/openrct2-ui/scripting/ScWindow.hpp b/src/openrct2-ui/scripting/ScWindow.hpp index 6771121207..7868886b67 100644 --- a/src/openrct2-ui/scripting/ScWindow.hpp +++ b/src/openrct2-ui/scripting/ScWindow.hpp @@ -65,7 +65,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_set_position(w, { value, w->windowPos.y }); + window_set_position(*w, { value, w->windowPos.y }); } } int32_t y_get() const @@ -82,7 +82,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_set_position(w, { w->windowPos.x, value }); + window_set_position(*w, { w->windowPos.x, value }); } } int32_t width_get() const @@ -99,7 +99,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_resize(w, value - w->width, 0); + window_resize(*w, value - w->width, 0); } } int32_t height_get() const @@ -116,7 +116,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_resize(w, 0, value - w->height); + window_resize(*w, 0, value - w->height); } } int32_t minWidth_get() const @@ -133,7 +133,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_set_resize(w, value, w->min_height, w->max_width, w->max_height); + window_set_resize(*w, value, w->min_height, w->max_width, w->max_height); } } int32_t maxWidth_get() const @@ -150,7 +150,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_set_resize(w, w->min_width, w->min_height, value, w->max_height); + window_set_resize(*w, w->min_width, w->min_height, value, w->max_height); } } int32_t minHeight_get() const @@ -167,7 +167,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_set_resize(w, w->min_width, value, w->max_width, w->max_height); + window_set_resize(*w, w->min_width, value, w->max_width, w->max_height); } } int32_t maxHeight_get() const @@ -184,7 +184,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_set_resize(w, w->min_width, w->min_height, w->max_width, value); + window_set_resize(*w, w->min_width, w->min_height, w->max_width, value); } } bool isSticky_get() const @@ -283,7 +283,7 @@ namespace OpenRCT2::Scripting auto w = GetWindow(); if (w != nullptr) { - window_close(w); + window_close(*w); } } diff --git a/src/openrct2-ui/windows/Banner.cpp b/src/openrct2-ui/windows/Banner.cpp index 55634603fc..62cf6aa163 100644 --- a/src/openrct2-ui/windows/Banner.cpp +++ b/src/openrct2-ui/windows/Banner.cpp @@ -260,7 +260,7 @@ public: if (viewport != nullptr) { - window_draw_viewport(&dpi, this); + window_draw_viewport(&dpi, *this); } } diff --git a/src/openrct2-ui/windows/ClearScenery.cpp b/src/openrct2-ui/windows/ClearScenery.cpp index 48b10fa580..c89e66b77d 100644 --- a/src/openrct2-ui/windows/ClearScenery.cpp +++ b/src/openrct2-ui/windows/ClearScenery.cpp @@ -66,7 +66,7 @@ public: widgets = window_clear_scenery_widgets; hold_down_widgets = (1ULL << WIDX_INCREMENT) | (1ULL << WIDX_DECREMENT); WindowInitScrollWidgets(*this); - window_push_others_below(this); + window_push_others_below(*this); gLandToolSize = 2; gClearSceneryCost = MONEY64_UNDEFINED; diff --git a/src/openrct2-ui/windows/DebugPaint.cpp b/src/openrct2-ui/windows/DebugPaint.cpp index 9cbc0e2cc7..f8e3ec332b 100644 --- a/src/openrct2-ui/windows/DebugPaint.cpp +++ b/src/openrct2-ui/windows/DebugPaint.cpp @@ -55,7 +55,7 @@ public: widgets = window_debug_paint_widgets; InitScrollWidgets(); - window_push_others_below(this); + window_push_others_below(*this); colours[0] = TRANSLUCENT(COLOUR_BLACK); colours[1] = COLOUR_GREY; diff --git a/src/openrct2-ui/windows/DemolishRidePrompt.cpp b/src/openrct2-ui/windows/DemolishRidePrompt.cpp index f436c0eede..a00c112203 100644 --- a/src/openrct2-ui/windows/DemolishRidePrompt.cpp +++ b/src/openrct2-ui/windows/DemolishRidePrompt.cpp @@ -100,7 +100,7 @@ rct_window* WindowRideDemolishPromptOpen(Ride* ride) if (w != nullptr) { auto windowPos = w->windowPos; - window_close(w); + window_close(*w); newWindow = WindowCreate(WC_DEMOLISH_RIDE_PROMPT, windowPos, WW, WH, WF_TRANSPARENT); } else diff --git a/src/openrct2-ui/windows/EditorInventionsList.cpp b/src/openrct2-ui/windows/EditorInventionsList.cpp index ff55fb5096..b7ca15a086 100644 --- a/src/openrct2-ui/windows/EditorInventionsList.cpp +++ b/src/openrct2-ui/windows/EditorInventionsList.cpp @@ -199,7 +199,7 @@ public: { frame_no++; OnPrepareDraw(); - widget_invalidate(this, WIDX_TAB_1); + widget_invalidate(*this, WIDX_TAB_1); if (WindowEditorInventionsListDragGetItem() != nullptr) return; @@ -483,7 +483,7 @@ public: if (windowPos.x <= screenCoords.x && windowPos.y < screenCoords.y && windowPos.x + width > screenCoords.x && windowPos.y + height > screenCoords.y) { - rct_widgetindex widgetIndex = window_find_widget_from_point(this, screenCoords); + rct_widgetindex widgetIndex = window_find_widget_from_point(*this, screenCoords); auto& widget = widgets[widgetIndex]; if (widgetIndex == WIDX_PRE_RESEARCHED_SCROLL || widgetIndex == WIDX_RESEARCH_ORDER_SCROLL) { diff --git a/src/openrct2-ui/windows/EditorObjectSelection.cpp b/src/openrct2-ui/windows/EditorObjectSelection.cpp index a4250151c9..9b36d52c90 100644 --- a/src/openrct2-ui/windows/EditorObjectSelection.cpp +++ b/src/openrct2-ui/windows/EditorObjectSelection.cpp @@ -327,7 +327,7 @@ public: if (gCurrentTextBox.window.classification == classification && gCurrentTextBox.window.number == number) { window_update_textbox_caret(); - widget_invalidate(this, WIDX_FILTER_TEXT_BOX); + widget_invalidate(*this, WIDX_FILTER_TEXT_BOX); } for (rct_widgetindex i = WIDX_FILTER_RIDE_TAB_TRANSPORT; i <= WIDX_FILTER_RIDE_TAB_STALL; i++) @@ -339,7 +339,7 @@ public: if (frame_no >= window_editor_object_selection_animation_loops[i - WIDX_FILTER_RIDE_TAB_TRANSPORT]) frame_no = 0; - widget_invalidate(this, i); + widget_invalidate(*this, i); break; } } @@ -353,7 +353,7 @@ public: switch (widgetIndex) { case WIDX_CLOSE: - window_close(this); + window_close(*this); if (gScreenFlags & SCREEN_FLAGS_EDITOR) { finish_object_selection(); @@ -461,7 +461,7 @@ public: void OnResize() override { - window_set_resize(this, WW, WH, 1200, 1000); + window_set_resize(*this, WW, WH, 1200, 1000); } void OnMouseDown(rct_widgetindex widgetIndex) override @@ -601,7 +601,7 @@ public: // Close any other open windows such as options/colour schemes to prevent a crash. window_close_all(); - // window_close(w); + // window_close(*w); // This function calls window_track_list_open ManageTracks(); diff --git a/src/openrct2-ui/windows/EditorObjectiveOptions.cpp b/src/openrct2-ui/windows/EditorObjectiveOptions.cpp index 56daedc1ad..7df01198d4 100644 --- a/src/openrct2-ui/windows/EditorObjectiveOptions.cpp +++ b/src/openrct2-ui/windows/EditorObjectiveOptions.cpp @@ -340,7 +340,7 @@ static void WindowEditorObjectiveOptionsMainMouseup(rct_window* w, rct_widgetind switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -372,7 +372,7 @@ static void WindowEditorObjectiveOptionsMainMouseup(rct_window* w, rct_widgetind */ static void WindowEditorObjectiveOptionsMainResize(rct_window* w) { - window_set_resize(w, 450, 229, 450, 229); + window_set_resize(*w, 450, 229, 450, 229); } static void WindowEditorObjectiveOptionsShowObjectiveDropdown(rct_window* w) @@ -656,7 +656,7 @@ static void WindowEditorObjectiveOptionsMainUpdate(rct_window* w) w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_1); + widget_invalidate(*w, WIDX_TAB_1); parkFlags = gParkFlags; objectiveType = gScenarioObjective.Type; @@ -918,7 +918,7 @@ static void WindowEditorObjectiveOptionsRidesMouseup(rct_window* w, rct_widgetin switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -933,7 +933,7 @@ static void WindowEditorObjectiveOptionsRidesMouseup(rct_window* w, rct_widgetin */ static void WindowEditorObjectiveOptionsRidesResize(rct_window* w) { - window_set_resize(w, 380, 224, 380, 224); + window_set_resize(*w, 380, 224, 380, 224); } /** @@ -945,7 +945,7 @@ static void WindowEditorObjectiveOptionsRidesUpdate(rct_window* w) w->frame_no++; window_event_invalidate_call(w); window_event_resize_call(w); - widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(*w, WIDX_TAB_2); auto numItems = 0; for (auto& ride : GetRideManager()) diff --git a/src/openrct2-ui/windows/EditorScenarioOptions.cpp b/src/openrct2-ui/windows/EditorScenarioOptions.cpp index ad6ee88b11..35090294a9 100644 --- a/src/openrct2-ui/windows/EditorScenarioOptions.cpp +++ b/src/openrct2-ui/windows/EditorScenarioOptions.cpp @@ -378,7 +378,7 @@ static void WindowEditorScenarioOptionsFinancialMouseup(rct_window* w, rct_widge switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -410,7 +410,7 @@ static void WindowEditorScenarioOptionsFinancialMouseup(rct_window* w, rct_widge */ static void WindowEditorScenarioOptionsFinancialResize(rct_window* w) { - window_set_resize(w, 280, 149, 280, 149); + window_set_resize(*w, 280, 149, 280, 149); } static void WindowEditorScenarioOptionsShowClimateDropdown(rct_window* w) @@ -555,7 +555,7 @@ static void WindowEditorScenarioOptionsFinancialUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_1); + widget_invalidate(*w, WIDX_TAB_1); } /** @@ -682,7 +682,7 @@ static void WindowEditorScenarioOptionsGuestsMouseup(rct_window* w, rct_widgetin switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -714,7 +714,7 @@ static void WindowEditorScenarioOptionsGuestsMouseup(rct_window* w, rct_widgetin */ static void WindowEditorScenarioOptionsGuestsResize(rct_window* w) { - window_set_resize(w, 380, 149, 380, 149); + window_set_resize(*w, 380, 149, 380, 149); } /** @@ -840,7 +840,7 @@ static void WindowEditorScenarioOptionsGuestsUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(*w, WIDX_TAB_2); } /** @@ -963,7 +963,7 @@ static void WindowEditorScenarioOptionsParkMouseup(rct_window* w, rct_widgetinde switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -1020,7 +1020,7 @@ static void WindowEditorScenarioOptionsParkMouseup(rct_window* w, rct_widgetinde */ static void WindowEditorScenarioOptionsParkResize(rct_window* w) { - window_set_resize(w, 400, 200, 400, 200); + window_set_resize(*w, 400, 200, 400, 200); } /** @@ -1175,7 +1175,7 @@ static void WindowEditorScenarioOptionsParkUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_3); + widget_invalidate(*w, WIDX_TAB_3); } /** diff --git a/src/openrct2-ui/windows/Error.cpp b/src/openrct2-ui/windows/Error.cpp index fe80cf9327..5046a9dca2 100644 --- a/src/openrct2-ui/windows/Error.cpp +++ b/src/openrct2-ui/windows/Error.cpp @@ -128,7 +128,7 @@ static void WindowErrorUnknown5(rct_window* w) { w->error.var_480++; if (w->error.var_480 >= 8) - window_close(w); + window_close(*w); } /** diff --git a/src/openrct2-ui/windows/Footpath.cpp b/src/openrct2-ui/windows/Footpath.cpp index 723b5a669a..85f3a69a6a 100644 --- a/src/openrct2-ui/windows/Footpath.cpp +++ b/src/openrct2-ui/windows/Footpath.cpp @@ -208,7 +208,7 @@ rct_window* WindowFootpathOpen() window->widgets = window_footpath_widgets; WindowInitScrollWidgets(*window); - window_push_others_right(window); + window_push_others_right(*window); show_gridlines(); tool_cancel(); @@ -244,7 +244,7 @@ static void WindowFootpathMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_CONSTRUCT: WindowFootpathConstruct(); @@ -466,7 +466,7 @@ static void WindowFootpathUpdateProvisionalPathForBridgeMode(rct_window* w) auto pathConstructFlags = FootpathCreateConstructFlags(type); _window_footpath_cost = footpath_provisional_set(type, railings, footpathLoc, slope, pathConstructFlags); - widget_invalidate(w, WIDX_CONSTRUCT); + widget_invalidate(*w, WIDX_CONSTRUCT); } auto curTime = Platform::GetTicks(); @@ -500,7 +500,7 @@ static void WindowFootpathUpdateProvisionalPathForBridgeMode(rct_window* w) */ static void WindowFootpathUpdate(rct_window* w) { - widget_invalidate(w, WIDX_CONSTRUCT); + widget_invalidate(*w, WIDX_CONSTRUCT); WindowFootpathUpdateProvisionalPathForBridgeMode(w); // #2502: The camera might have changed rotation, so we need to update which directional buttons are pressed @@ -516,30 +516,30 @@ static void WindowFootpathUpdate(rct_window* w) { if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) { - window_close(w); + window_close(*w); } else if (gCurrentToolWidget.window_classification != WC_FOOTPATH) { - window_close(w); + window_close(*w); } else if (gCurrentToolWidget.widget_index != WIDX_CONSTRUCT_ON_LAND) { - window_close(w); + window_close(*w); } } else if (_footpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL_TOOL) { if (!(input_test_flag(INPUT_FLAG_TOOL_ACTIVE))) { - window_close(w); + window_close(*w); } else if (gCurrentToolWidget.window_classification != WC_FOOTPATH) { - window_close(w); + window_close(*w); } else if (gCurrentToolWidget.widget_index != WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL) { - window_close(w); + window_close(*w); } } } diff --git a/src/openrct2-ui/windows/GameBottomToolbar.cpp b/src/openrct2-ui/windows/GameBottomToolbar.cpp index a7e35f95a5..08d5b70c6b 100644 --- a/src/openrct2-ui/windows/GameBottomToolbar.cpp +++ b/src/openrct2-ui/windows/GameBottomToolbar.cpp @@ -178,7 +178,7 @@ static void WindowGameBottomToolbarMouseup(rct_window* w, rct_widgetindex widget rct_window* mainWindow = window_get_main(); if (mainWindow != nullptr) - window_scroll_to_location(mainWindow, subjectLoc.value()); + window_scroll_to_location(*mainWindow, subjectLoc.value()); } break; case WIDX_RIGHT_OUTSET: @@ -734,30 +734,30 @@ static void WindowGameBottomToolbarInvalidateDirtyWidgets(rct_window* w) if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_MONEY) { gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_MONEY; - widget_invalidate(w, WIDX_LEFT_INSET); + widget_invalidate(*w, WIDX_LEFT_INSET); } if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_DATE) { gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_DATE; - widget_invalidate(w, WIDX_RIGHT_INSET); + widget_invalidate(*w, WIDX_RIGHT_INSET); } if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_PEEP_COUNT) { gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_PEEP_COUNT; - widget_invalidate(w, WIDX_LEFT_INSET); + widget_invalidate(*w, WIDX_LEFT_INSET); } if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_CLIMATE) { gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_CLIMATE; - widget_invalidate(w, WIDX_RIGHT_INSET); + widget_invalidate(*w, WIDX_RIGHT_INSET); } if (gToolbarDirtyFlags & BTM_TB_DIRTY_FLAG_PARK_RATING) { gToolbarDirtyFlags &= ~BTM_TB_DIRTY_FLAG_PARK_RATING; - widget_invalidate(w, WIDX_LEFT_INSET); + widget_invalidate(*w, WIDX_LEFT_INSET); } } diff --git a/src/openrct2-ui/windows/Guest.cpp b/src/openrct2-ui/windows/Guest.cpp index face76e620..2c00c2823e 100644 --- a/src/openrct2-ui/windows/Guest.cpp +++ b/src/openrct2-ui/windows/Guest.cpp @@ -418,7 +418,7 @@ private: } maxWidth = std::max(minWidth, maxWidth); - window_set_resize(this, minWidth, minHeight, maxWidth, maxHeight); + window_set_resize(*this, minWidth, minHeight, maxWidth, maxHeight); } void OnPrepareDrawCommon() @@ -586,7 +586,7 @@ private: DisableWidgets(); OnPrepareDraw(); - widget_invalidate(this, WIDX_MARQUEE); + widget_invalidate(*this, WIDX_MARQUEE); OnResizeCommon(); @@ -756,7 +756,7 @@ private: // Draw the viewport no sound sprite if (viewport != nullptr) { - window_draw_viewport(&dpi, this); + window_draw_viewport(&dpi, *this); if (viewport->flags & VIEWPORT_FLAG_SOUND_ON) { gfx_draw_sprite(&dpi, ImageId(SPR_HEARING_VIEWPORT), windowPos + ScreenCoordsXY{ 2, 2 }); @@ -859,8 +859,8 @@ private: newAnimationFrame %= 24; _guestAnimationFrame = newAnimationFrame; - widget_invalidate(this, WIDX_TAB_1); - widget_invalidate(this, WIDX_TAB_2); + widget_invalidate(*this, WIDX_TAB_1); + widget_invalidate(*this, WIDX_TAB_2); const auto peep = GetGuest(); if (peep == nullptr) @@ -870,7 +870,7 @@ private: if (peep->WindowInvalidateFlags & PEEP_INVALIDATE_PEEP_ACTION) { peep->WindowInvalidateFlags &= ~PEEP_INVALIDATE_PEEP_ACTION; - widget_invalidate(this, WIDX_ACTION_LBL); + widget_invalidate(*this, WIDX_ACTION_LBL); } _marqueePosition += 2; @@ -1229,8 +1229,8 @@ private: { frame_no++; - widget_invalidate(this, WIDX_TAB_2); - widget_invalidate(this, WIDX_TAB_3); + widget_invalidate(*this, WIDX_TAB_2); + widget_invalidate(*this, WIDX_TAB_3); const auto guest = GetGuest(); if (guest == nullptr) @@ -1404,8 +1404,8 @@ private: { frame_no++; - widget_invalidate(this, WIDX_TAB_2); - widget_invalidate(this, WIDX_TAB_4); + widget_invalidate(*this, WIDX_TAB_2); + widget_invalidate(*this, WIDX_TAB_4); } void OnDrawFinance(rct_drawpixelinfo& dpi) @@ -1542,8 +1542,8 @@ private: { frame_no++; - widget_invalidate(this, WIDX_TAB_2); - widget_invalidate(this, WIDX_TAB_5); + widget_invalidate(*this, WIDX_TAB_2); + widget_invalidate(*this, WIDX_TAB_5); auto peep = GetGuest(); if (peep == nullptr) @@ -1617,8 +1617,8 @@ private: { frame_no++; - widget_invalidate(this, WIDX_TAB_2); - widget_invalidate(this, WIDX_TAB_6); + widget_invalidate(*this, WIDX_TAB_2); + widget_invalidate(*this, WIDX_TAB_6); auto peep = GetGuest(); if (peep == nullptr) diff --git a/src/openrct2-ui/windows/InstallTrack.cpp b/src/openrct2-ui/windows/InstallTrack.cpp index 548f33912c..fe12f95e45 100644 --- a/src/openrct2-ui/windows/InstallTrack.cpp +++ b/src/openrct2-ui/windows/InstallTrack.cpp @@ -121,7 +121,7 @@ rct_window* WindowInstallTrackOpen(const utf8* path) w->widgets = window_install_track_widgets; WindowInitScrollWidgets(*w); w->track_list.track_list_being_updated = false; - window_push_others_right(w); + window_push_others_right(*w); _trackPath = path; _trackName = GetNameFromTrackPath(path); @@ -156,7 +156,7 @@ static void WindowInstallTrackMouseup(rct_window* w, rct_widgetindex widgetIndex { case WIDX_CLOSE: case WIDX_CANCEL: - window_close(w); + window_close(*w); break; case WIDX_ROTATE: _currentTrackPieceDirection++; @@ -454,7 +454,7 @@ static void WindowInstallTrackDesign(rct_window* w) { if (track_repository_install(_trackPath.c_str(), _trackName.c_str())) { - window_close(w); + window_close(*w); } else { diff --git a/src/openrct2-ui/windows/Land.cpp b/src/openrct2-ui/windows/Land.cpp index da9bd4792f..8d975f2f3d 100644 --- a/src/openrct2-ui/windows/Land.cpp +++ b/src/openrct2-ui/windows/Land.cpp @@ -72,7 +72,7 @@ public: widgets = window_land_widgets; hold_down_widgets = (1ULL << WIDX_DECREMENT) | (1ULL << WIDX_INCREMENT); WindowInitScrollWidgets(*this); - window_push_others_below(this); + window_push_others_below(*this); gLandToolSize = 1; gLandToolTerrainSurface = OBJECT_ENTRY_INDEX_NULL; diff --git a/src/openrct2-ui/windows/LandRights.cpp b/src/openrct2-ui/windows/LandRights.cpp index b47212a19c..8ba5d94ac4 100644 --- a/src/openrct2-ui/windows/LandRights.cpp +++ b/src/openrct2-ui/windows/LandRights.cpp @@ -60,7 +60,7 @@ public: widgets = window_land_rights_widgets; hold_down_widgets = (1ULL << WIDX_INCREMENT) | (1ULL << WIDX_DECREMENT); WindowInitScrollWidgets(*this); - window_push_others_below(this); + window_push_others_below(*this); _landRightsMode = LAND_RIGHTS_MODE_BUY_LAND; pressed_widgets = (1ULL << WIDX_BUY_LAND_RIGHTS); diff --git a/src/openrct2-ui/windows/LoadSave.cpp b/src/openrct2-ui/windows/LoadSave.cpp index 0bbd2b5f25..8772622204 100644 --- a/src/openrct2-ui/windows/LoadSave.cpp +++ b/src/openrct2-ui/windows/LoadSave.cpp @@ -442,7 +442,7 @@ static void WindowLoadsaveMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_UP: @@ -1186,7 +1186,7 @@ static void WindowOverwritePromptMouseup(rct_window* w, rct_widgetindex widgetIn case WIDX_OVERWRITE_CANCEL: case WIDX_OVERWRITE_CLOSE: - window_close(w); + window_close(*w); break; } } diff --git a/src/openrct2-ui/windows/Map.cpp b/src/openrct2-ui/windows/Map.cpp index 4255c2dcac..b0fb9eee06 100644 --- a/src/openrct2-ui/windows/Map.cpp +++ b/src/openrct2-ui/windows/Map.cpp @@ -642,7 +642,7 @@ public: rct_window* mainWindow = window_get_main(); if (mainWindow != nullptr) { - window_scroll_to_location(mainWindow, { mapCoords, mapZ }); + window_scroll_to_location(*mainWindow, { mapCoords, mapZ }); } if (LandToolIsActive()) diff --git a/src/openrct2-ui/windows/MapGen.cpp b/src/openrct2-ui/windows/MapGen.cpp index bdcb7bce38..93c0ed1f43 100644 --- a/src/openrct2-ui/windows/MapGen.cpp +++ b/src/openrct2-ui/windows/MapGen.cpp @@ -455,7 +455,7 @@ static void WindowMapgenSharedMouseup(rct_window* w, rct_widgetindex widgetIndex switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -620,7 +620,7 @@ static void WindowMapgenBaseUpdate(rct_window* w) // Tab animation if (++w->frame_no >= TabAnimationLoops[w->page]) w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_1); + widget_invalidate(*w, WIDX_TAB_1); } static void WindowMapgenTextinput(rct_window* w, rct_widgetindex widgetIndex, char* text) @@ -809,7 +809,7 @@ static void WindowMapgenRandomUpdate(rct_window* w) // Tab animation if (++w->frame_no >= TabAnimationLoops[w->page]) w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(*w, WIDX_TAB_2); } static void WindowMapgenRandomInvalidate(rct_window* w) @@ -1007,7 +1007,7 @@ static void WindowMapgenSimplexUpdate(rct_window* w) // Tab animation if (++w->frame_no >= TabAnimationLoops[w->page]) w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_3); + widget_invalidate(*w, WIDX_TAB_3); } static void WindowMapgenSimplexInvalidate(rct_window* w) @@ -1120,37 +1120,37 @@ static void WindowMapgenHeightmapMousedown(rct_window* w, rct_widgetindex widget { case WIDX_HEIGHTMAP_STRENGTH_UP: _heightmapSmoothStrength = std::min(_heightmapSmoothStrength + 1, MAX_SMOOTH_ITERATIONS); - widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); + widget_invalidate(*w, WIDX_HEIGHTMAP_STRENGTH); break; case WIDX_HEIGHTMAP_STRENGTH_DOWN: _heightmapSmoothStrength = std::max(_heightmapSmoothStrength - 1, 1); - widget_invalidate(w, WIDX_HEIGHTMAP_STRENGTH); + widget_invalidate(*w, WIDX_HEIGHTMAP_STRENGTH); break; case WIDX_HEIGHTMAP_LOW_UP: _heightmapLow = std::min(_heightmapLow + 1, 142 - 1); _heightmapHigh = std::max(_heightmapHigh, _heightmapLow + 1); - widget_invalidate(w, WIDX_HEIGHTMAP_LOW); + widget_invalidate(*w, WIDX_HEIGHTMAP_LOW); break; case WIDX_HEIGHTMAP_LOW_DOWN: _heightmapLow = std::max(_heightmapLow - 1, 2); - widget_invalidate(w, WIDX_HEIGHTMAP_LOW); + widget_invalidate(*w, WIDX_HEIGHTMAP_LOW); break; case WIDX_HEIGHTMAP_HIGH_UP: _heightmapHigh = std::min(_heightmapHigh + 1, 142); - widget_invalidate(w, WIDX_HEIGHTMAP_HIGH); + widget_invalidate(*w, WIDX_HEIGHTMAP_HIGH); break; case WIDX_HEIGHTMAP_HIGH_DOWN: _heightmapHigh = std::max(_heightmapHigh - 1, 2 + 1); _heightmapLow = std::min(_heightmapLow, _heightmapHigh - 1); - widget_invalidate(w, WIDX_HEIGHTMAP_HIGH); + widget_invalidate(*w, WIDX_HEIGHTMAP_HIGH); break; case WIDX_HEIGHTMAP_WATER_LEVEL_UP: _waterLevel = std::min(_waterLevel + MINIMUM_WATER_HEIGHT, MINIMUM_WATER_HEIGHT + MAXIMUM_WATER_HEIGHT); - widget_invalidate(w, WIDX_HEIGHTMAP_WATER_LEVEL); + widget_invalidate(*w, WIDX_HEIGHTMAP_WATER_LEVEL); break; case WIDX_HEIGHTMAP_WATER_LEVEL_DOWN: _waterLevel = std::max(_waterLevel - MINIMUM_WATER_HEIGHT, 0); - widget_invalidate(w, WIDX_HEIGHTMAP_WATER_LEVEL); + widget_invalidate(*w, WIDX_HEIGHTMAP_WATER_LEVEL); break; } } @@ -1216,18 +1216,18 @@ static void WindowMapgenHeightmapMouseup(rct_window* w, rct_widgetindex widgetIn 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); + 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); - widget_invalidate(w, WIDX_HEIGHTMAP_NORMALIZE); + widget_invalidate(*w, WIDX_HEIGHTMAP_NORMALIZE); break; case WIDX_HEIGHTMAP_SMOOTH_TILES: _heightmapSmoothTiles = !_heightmapSmoothTiles; WidgetSetCheckboxValue(*w, WIDX_HEIGHTMAP_SMOOTH_TILES, _heightmapSmoothTiles); - widget_invalidate(w, WIDX_HEIGHTMAP_SMOOTH_TILES); + widget_invalidate(*w, WIDX_HEIGHTMAP_SMOOTH_TILES); break; } diff --git a/src/openrct2-ui/windows/MazeConstruction.cpp b/src/openrct2-ui/windows/MazeConstruction.cpp index 6cdf14d95f..8251e00bcc 100644 --- a/src/openrct2-ui/windows/MazeConstruction.cpp +++ b/src/openrct2-ui/windows/MazeConstruction.cpp @@ -179,7 +179,7 @@ public: { if ((disabledWidgets & (1ULL << i)) != (currentDisabledWidgets & (1ULL << i))) { - widget_invalidate(this, i); + widget_invalidate(*this, i); } } disabled_widgets = disabledWidgets; diff --git a/src/openrct2-ui/windows/Multiplayer.cpp b/src/openrct2-ui/windows/Multiplayer.cpp index d94e5c3fa4..1142b585ee 100644 --- a/src/openrct2-ui/windows/Multiplayer.cpp +++ b/src/openrct2-ui/windows/Multiplayer.cpp @@ -318,7 +318,7 @@ static void WindowMultiplayerInformationMouseup(rct_window* w, rct_widgetindex w switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB1: case WIDX_TAB2: @@ -385,13 +385,13 @@ static ScreenCoordsXY WindowMultiplayerInformationGetSize() static void WindowMultiplayerInformationResize(rct_window* w) { auto size = WindowMultiplayerInformationGetSize(); - window_set_resize(w, size.x, size.y, size.x, size.y); + window_set_resize(*w, size.x, size.y, size.x, size.y); } static void WindowMultiplayerInformationUpdate(rct_window* w) { w->frame_no++; - widget_invalidate(w, WIDX_TAB1 + w->page); + widget_invalidate(*w, WIDX_TAB1 + w->page); } static void WindowMultiplayerInformationInvalidate(rct_window* w) @@ -468,7 +468,7 @@ static void WindowMultiplayerPlayersMouseup(rct_window* w, rct_widgetindex widge switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB1: case WIDX_TAB2: @@ -484,7 +484,7 @@ static void WindowMultiplayerPlayersMouseup(rct_window* w, rct_widgetindex widge static void WindowMultiplayerPlayersResize(rct_window* w) { - window_set_resize(w, 420, 124, 500, 450); + window_set_resize(*w, 420, 124, 500, 450); w->no_list_items = network_get_num_players(); w->list_item_positions[0] = 0; @@ -498,7 +498,7 @@ static void WindowMultiplayerPlayersResize(rct_window* w) static void WindowMultiplayerPlayersUpdate(rct_window* w) { w->frame_no++; - widget_invalidate(w, WIDX_TAB1 + w->page); + widget_invalidate(*w, WIDX_TAB1 + w->page); } static void WindowMultiplayerPlayersScrollgetsize(rct_window* w, int32_t scrollIndex, int32_t* width, int32_t* height) @@ -676,7 +676,7 @@ static void WindowMultiplayerGroupsMouseup(rct_window* w, rct_widgetindex widget switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB1: case WIDX_TAB2: @@ -709,7 +709,7 @@ static void WindowMultiplayerGroupsMouseup(rct_window* w, rct_widgetindex widget static void WindowMultiplayerGroupsResize(rct_window* w) { - window_set_resize(w, 320, 200, 320, 500); + window_set_resize(*w, 320, 200, 320, 500); w->no_list_items = network_get_num_actions(); w->list_item_positions[0] = 0; @@ -758,7 +758,7 @@ static void WindowMultiplayerGroupsDropdown(rct_window* w, rct_widgetindex widge static void WindowMultiplayerGroupsUpdate(rct_window* w) { w->frame_no++; - widget_invalidate(w, WIDX_TAB1 + w->page); + widget_invalidate(*w, WIDX_TAB1 + w->page); } static void WindowMultiplayerGroupsScrollgetsize(rct_window* w, int32_t scrollIndex, int32_t* width, int32_t* height) @@ -934,7 +934,7 @@ static void WindowMultiplayerOptionsMouseup(rct_window* w, rct_widgetindex widge switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB1: case WIDX_TAB2: @@ -962,13 +962,13 @@ static void WindowMultiplayerOptionsMouseup(rct_window* w, rct_widgetindex widge static void WindowMultiplayerOptionsResize(rct_window* w) { - window_set_resize(w, 300, 100, 300, 100); + window_set_resize(*w, 300, 100, 300, 100); } static void WindowMultiplayerOptionsUpdate(rct_window* w) { w->frame_no++; - widget_invalidate(w, WIDX_TAB1 + w->page); + widget_invalidate(*w, WIDX_TAB1 + w->page); } static void WindowMultiplayerOptionsInvalidate(rct_window* w) diff --git a/src/openrct2-ui/windows/NetworkStatus.cpp b/src/openrct2-ui/windows/NetworkStatus.cpp index cc00579177..5aa965bdd6 100644 --- a/src/openrct2-ui/windows/NetworkStatus.cpp +++ b/src/openrct2-ui/windows/NetworkStatus.cpp @@ -112,14 +112,14 @@ static void WindowNetworkStatusMouseup(rct_window* w, rct_widgetindex widgetInde switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; } } static void WindowNetworkStatusUpdate(rct_window* w) { - widget_invalidate(w, WIDX_BACKGROUND); + widget_invalidate(*w, WIDX_BACKGROUND); } static void WindowNetworkStatusTextinput(rct_window* w, rct_widgetindex widgetIndex, char* text) diff --git a/src/openrct2-ui/windows/NewCampaign.cpp b/src/openrct2-ui/windows/NewCampaign.cpp index cd0b6a2091..1530115607 100644 --- a/src/openrct2-ui/windows/NewCampaign.cpp +++ b/src/openrct2-ui/windows/NewCampaign.cpp @@ -379,7 +379,7 @@ rct_window* WindowNewCampaignOpen(int16_t campaignType) if (w->campaign.campaign_type == campaignType) return w; - window_close(w); + window_close(*w); } w = WindowCreate(WC_NEW_CAMPAIGN, WW, WH, 0); diff --git a/src/openrct2-ui/windows/NewRide.cpp b/src/openrct2-ui/windows/NewRide.cpp index 4e42a05427..43cb8b5f9f 100644 --- a/src/openrct2-ui/windows/NewRide.cpp +++ b/src/openrct2-ui/windows/NewRide.cpp @@ -642,7 +642,7 @@ static void WindowNewRideMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_LAST_DEVELOPMENT_BUTTON: News::OpenSubject(News::ItemType::Research, gResearchLastItem->rawValue); @@ -678,7 +678,7 @@ static void WindowNewRideUpdate(rct_window* w) if (w->frame_no >= window_new_ride_tab_animation_loops[_windowNewRideCurrentTab]) w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_1 + _windowNewRideCurrentTab); + widget_invalidate(*w, WIDX_TAB_1 + _windowNewRideCurrentTab); if (w->new_ride.SelectedRide.Type != RIDE_TYPE_NULL && w->new_ride.selected_ride_countdown-- == 0) WindowNewRideSelect(w); @@ -693,7 +693,7 @@ static void WindowNewRideUpdate(rct_window* w) if (!WidgetIsHighlighted(*w, WIDX_RIDE_LIST)) { w->new_ride.HighlightedRide = { RIDE_TYPE_NULL, OBJECT_ENTRY_INDEX_NULL }; - widget_invalidate(w, WIDX_RIDE_LIST); + widget_invalidate(*w, WIDX_RIDE_LIST); } } } @@ -992,7 +992,7 @@ static void WindowNewRideSelect(rct_window* w) if (item.Type == RIDE_TYPE_NULL) return; - window_close(w); + window_close(*w); window_close_construction_windows(); if (_lastTrackDesignCount > 0) diff --git a/src/openrct2-ui/windows/News.cpp b/src/openrct2-ui/windows/News.cpp index 7159c9fd6a..54335739dc 100644 --- a/src/openrct2-ui/windows/News.cpp +++ b/src/openrct2-ui/windows/News.cpp @@ -114,7 +114,7 @@ public: auto subjectLoc = News::GetSubjectLocation(newsItem.Type, newsItem.Assoc); if (subjectLoc.has_value() && (_mainWindow = window_get_main()) != nullptr) { - window_scroll_to_location(_mainWindow, subjectLoc.value()); + window_scroll_to_location(*_mainWindow, subjectLoc.value()); } } } diff --git a/src/openrct2-ui/windows/ObjectLoadError.cpp b/src/openrct2-ui/windows/ObjectLoadError.cpp index 716be8610b..8d4542ea15 100644 --- a/src/openrct2-ui/windows/ObjectLoadError.cpp +++ b/src/openrct2-ui/windows/ObjectLoadError.cpp @@ -384,7 +384,7 @@ private: { selected_list_item = index; } - widget_invalidate(this, WIDX_SCROLL); + widget_invalidate(*this, WIDX_SCROLL); } public: @@ -409,7 +409,7 @@ public: switch (widgetIndex) { case WIDX_CLOSE: - window_close(this); + window_close(*this); return; case WIDX_COPY_CURRENT: if (selected_list_item > -1 && selected_list_item < no_list_items) @@ -437,7 +437,7 @@ public: if (!WidgetIsHighlighted(*this, WIDX_SCROLL)) { _highlightedIndex = -1; - widget_invalidate(this, WIDX_SCROLL); + widget_invalidate(*this, WIDX_SCROLL); } #ifndef DISABLE_HTTP @@ -480,7 +480,7 @@ public: else _highlightedIndex = selectedItem; - widget_invalidate(this, WIDX_SCROLL); + widget_invalidate(*this, WIDX_SCROLL); } void OnDraw(rct_drawpixelinfo& dpi) override diff --git a/src/openrct2-ui/windows/Options.cpp b/src/openrct2-ui/windows/Options.cpp index 37ea1cc848..5b05e43e2a 100644 --- a/src/openrct2-ui/windows/Options.cpp +++ b/src/openrct2-ui/windows/Options.cpp @@ -622,7 +622,7 @@ private: switch (widgetIndex) { case WIDX_CLOSE: - window_close(this); + window_close(*this); break; case WIDX_TAB_DISPLAY: case WIDX_TAB_RENDERING: diff --git a/src/openrct2-ui/windows/Park.cpp b/src/openrct2-ui/windows/Park.cpp index 49628c557b..0c5e05e8ff 100644 --- a/src/openrct2-ui/windows/Park.cpp +++ b/src/openrct2-ui/windows/Park.cpp @@ -436,7 +436,7 @@ private: void OnResizeEntrance() { flags |= WF_RESIZABLE; - window_set_resize(this, 230, 174 + 9, 230 * 3, (274 + 9) * 3); + window_set_resize(*this, 230, 174 + 9, 230 * 3, (274 + 9) * 3); InitViewport(); } @@ -486,7 +486,7 @@ private: void OnUpdateEntrance() { frame_no++; - widget_invalidate(this, WIDX_TAB_1); + widget_invalidate(*this, WIDX_TAB_1); } void OnTextInputEntrance(rct_widgetindex widgetIndex, std::string_view text) @@ -592,7 +592,7 @@ private: // Draw viewport if (viewport != nullptr) { - window_draw_viewport(&dpi, this); + window_draw_viewport(&dpi, *this); if (viewport->flags & VIEWPORT_FLAG_SOUND_ON) gfx_draw_sprite(&dpi, ImageId(SPR_HEARING_VIEWPORT), windowPos + ScreenCoordsXY{ 2, 2 }); } @@ -659,13 +659,13 @@ private: #pragma region Rating page void OnResizeRating() { - window_set_resize(this, 255, 182, 255, 182); + window_set_resize(*this, 255, 182, 255, 182); } void OnUpdateRating() { frame_no++; - widget_invalidate(this, WIDX_TAB_2); + widget_invalidate(*this, WIDX_TAB_2); } void OnPrepareDrawRating() @@ -731,14 +731,14 @@ private: #pragma region Guests page void OnResizeGuests() { - window_set_resize(this, 255, 182, 255, 182); + window_set_resize(*this, 255, 182, 255, 182); } void OnUpdateGuests() { frame_no++; _peepAnimationFrame = (_peepAnimationFrame + 1) % 24; - widget_invalidate(this, WIDX_TAB_3); + widget_invalidate(*this, WIDX_TAB_3); } void OnPrepareDrawGuests() @@ -817,7 +817,7 @@ private: #pragma region Price page void OnResizePrice() { - window_set_resize(this, 230, 124, 230, 124); + window_set_resize(*this, 230, 124, 230, 124); } void OnMouseDownPrice(rct_widgetindex widgetIndex) @@ -842,7 +842,7 @@ private: void OnUpdatePrice() { frame_no++; - widget_invalidate(this, WIDX_TAB_4); + widget_invalidate(*this, WIDX_TAB_4); } void OnPrepareDrawPrice() @@ -908,20 +908,20 @@ private: #pragma region Stats page void OnResizeStats() { - window_set_resize(this, 230, 119, 230, 119); + window_set_resize(*this, 230, 119, 230, 119); } void OnUpdateStats() { frame_no++; - widget_invalidate(this, WIDX_TAB_5); + widget_invalidate(*this, WIDX_TAB_5); // Invalidate ride count if changed const auto rideCount = ride_get_count(); if (_numberOfRides != rideCount) { _numberOfRides = rideCount; - widget_invalidate(this, WIDX_PAGE_BACKGROUND); + widget_invalidate(*this, WIDX_PAGE_BACKGROUND); } // Invalidate number of staff if changed @@ -929,7 +929,7 @@ private: if (_numberOfStaff != staffCount) { _numberOfStaff = staffCount; - widget_invalidate(this, WIDX_PAGE_BACKGROUND); + widget_invalidate(*this, WIDX_PAGE_BACKGROUND); } } @@ -1017,16 +1017,16 @@ private: { #ifndef NO_TTF if (gCurrentTTFFontSet != nullptr) - window_set_resize(this, 230, 270, 230, 270); + window_set_resize(*this, 230, 270, 230, 270); else #endif - window_set_resize(this, 230, 226, 230, 226); + window_set_resize(*this, 230, 226, 230, 226); } void OnUpdateObjective() { frame_no++; - widget_invalidate(this, WIDX_TAB_6); + widget_invalidate(*this, WIDX_TAB_6); } void OnTextInputObjective(rct_widgetindex widgetIndex, std::string_view text) @@ -1123,13 +1123,13 @@ private: #pragma region Awards page void OnResizeAwards() { - window_set_resize(this, 230, 182, 230, 182); + window_set_resize(*this, 230, 182, 230, 182); } void OnUpdateAwards() { frame_no++; - widget_invalidate(this, WIDX_TAB_7); + widget_invalidate(*this, WIDX_TAB_7); } void OnPrepareDrawAwards() diff --git a/src/openrct2-ui/windows/PatrolArea.cpp b/src/openrct2-ui/windows/PatrolArea.cpp index b36eaccd3a..9b342cfb2d 100644 --- a/src/openrct2-ui/windows/PatrolArea.cpp +++ b/src/openrct2-ui/windows/PatrolArea.cpp @@ -57,7 +57,7 @@ public: widgets = PatrolAreaWidgets; hold_down_widgets = (1ULL << WIDX_INCREMENT) | (1ULL << WIDX_DECREMENT); WindowInitScrollWidgets(*this); - window_push_others_below(this); + window_push_others_below(*this); gLandToolSize = 4; } diff --git a/src/openrct2-ui/windows/Player.cpp b/src/openrct2-ui/windows/Player.cpp index 075fadfc87..35d0fd6de9 100644 --- a/src/openrct2-ui/windows/Player.cpp +++ b/src/openrct2-ui/windows/Player.cpp @@ -205,7 +205,7 @@ void WindowPlayerOverviewMouseUp(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -224,7 +224,7 @@ void WindowPlayerOverviewMouseUp(rct_window* w, rct_widgetindex widgetIndex) auto coord = network_get_player_last_action_coord(player); if (coord.x || coord.y || coord.z) { - window_scroll_to_location(mainWindow, coord); + window_scroll_to_location(*mainWindow, coord); } } } @@ -274,17 +274,17 @@ void WindowPlayerOverviewDropdown(rct_window* w, rct_widgetindex widgetIndex, in void WindowPlayerOverviewResize(rct_window* w) { - window_set_resize(w, 240, 170, 500, 300); + window_set_resize(*w, 240, 170, 500, 300); } void WindowPlayerOverviewUpdate(rct_window* w) { w->frame_no++; - widget_invalidate(w, WIDX_TAB_1 + w->page); + widget_invalidate(*w, WIDX_TAB_1 + w->page); if (network_get_player_index(static_cast(w->number)) == -1) { - window_close(w); + window_close(*w); return; } @@ -355,7 +355,7 @@ void WindowPlayerOverviewPaint(rct_window* w, rct_drawpixelinfo* dpi) if (w->viewport != nullptr && w->var_492 != -1) { - window_draw_viewport(dpi, w); + window_draw_viewport(dpi, *w); } } @@ -433,7 +433,7 @@ void WindowPlayerStatisticsMouseUp(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -444,17 +444,17 @@ void WindowPlayerStatisticsMouseUp(rct_window* w, rct_widgetindex widgetIndex) void WindowPlayerStatisticsResize(rct_window* w) { - window_set_resize(w, 210, 80, 210, 80); + window_set_resize(*w, 210, 80, 210, 80); } void WindowPlayerStatisticsUpdate(rct_window* w) { w->frame_no++; - widget_invalidate(w, WIDX_TAB_1 + w->page); + widget_invalidate(*w, WIDX_TAB_1 + w->page); if (network_get_player_index(static_cast(w->number)) == -1) { - window_close(w); + window_close(*w); } } @@ -611,7 +611,7 @@ static void WindowPlayerUpdateViewport(rct_window* w, bool scroll) { w->viewport->viewPos = centreLoc.value(); } - widget_invalidate(w, WIDX_VIEWPORT); + widget_invalidate(*w, WIDX_VIEWPORT); } // Draw the viewport diff --git a/src/openrct2-ui/windows/RefurbishRidePrompt.cpp b/src/openrct2-ui/windows/RefurbishRidePrompt.cpp index 02ef33f6a3..7656eda2f0 100644 --- a/src/openrct2-ui/windows/RefurbishRidePrompt.cpp +++ b/src/openrct2-ui/windows/RefurbishRidePrompt.cpp @@ -99,7 +99,7 @@ rct_window* WindowRideRefurbishPromptOpen(Ride* ride) if (w != nullptr) { auto windowPos = w->windowPos; - window_close(w); + window_close(*w); newWindow = WindowCreate(WC_DEMOLISH_RIDE_PROMPT, windowPos, WW, WH, WF_TRANSPARENT); } else diff --git a/src/openrct2-ui/windows/Research.cpp b/src/openrct2-ui/windows/Research.cpp index 01d1bcc1bd..53e25d92fd 100644 --- a/src/openrct2-ui/windows/Research.cpp +++ b/src/openrct2-ui/windows/Research.cpp @@ -200,7 +200,7 @@ static void WindowResearchDevelopmentMouseup(rct_window* w, rct_widgetindex widg switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -221,7 +221,7 @@ static void WindowResearchDevelopmentUpdate(rct_window* w) // Tab animation if (++w->frame_no >= window_research_tab_animation_loops[w->page]) w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_1); + widget_invalidate(*w, WIDX_TAB_1); } /** @@ -396,7 +396,7 @@ static void WindowResearchFundingMouseup(rct_window* w, rct_widgetindex widgetIn switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -468,7 +468,7 @@ static void WindowResearchFundingUpdate(rct_window* w) // Tab animation if (++w->frame_no >= window_research_tab_animation_loops[w->page]) w->frame_no = 0; - widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(*w, WIDX_TAB_2); } /** diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index adddad0851..321c811e38 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -1624,7 +1624,7 @@ static void WindowRideMainMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -1646,7 +1646,7 @@ static void WindowRideMainMouseup(rct_window* w, rct_widgetindex widgetIndex) ride_construct(ride); if (window_find_by_number(WC_RIDE_CONSTRUCTION, ride->id.ToUnderlying()) != nullptr) { - window_close(w); + window_close(*w); } } break; @@ -1721,7 +1721,7 @@ static void WindowRideMainResize(rct_window* w) } w->flags |= WF_RESIZABLE; - window_set_resize(w, 316, minHeight, 500, 450); + window_set_resize(*w, 316, minHeight, 500, 450); // Unlike with other windows, the focus needs to be recentred so it’s best to just reset it. w->focus = std::nullopt; WindowRideInitViewport(w); @@ -2220,7 +2220,7 @@ static void WindowRideMainUpdate(rct_window* w) // Update tab animation w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_1); + widget_invalidate(*w, WIDX_TAB_1); // Update status auto ride = get_ride(w->rideId); @@ -2246,7 +2246,7 @@ static void WindowRideMainUpdate(rct_window* w) } ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_MAIN; } - widget_invalidate(w, WIDX_STATUS); + widget_invalidate(*w, WIDX_STATUS); } /** @@ -2567,7 +2567,7 @@ static void WindowRideMainPaint(rct_window* w, rct_drawpixelinfo* dpi) // Viewport and ear icon if (w->viewport != nullptr) { - window_draw_viewport(dpi, w); + window_draw_viewport(dpi, *w); if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON) gfx_draw_sprite(dpi, ImageId(SPR_HEARING_VIEWPORT), w->windowPos + ScreenCoordsXY{ 2, 2 }); } @@ -2623,7 +2623,7 @@ static void WindowRideVehicleMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -2646,7 +2646,7 @@ static void WindowRideVehicleMouseup(rct_window* w, rct_widgetindex widgetIndex) */ static void WindowRideVehicleResize(rct_window* w) { - window_set_resize(w, 316, 214, 316, 214); + window_set_resize(*w, 316, 214, 316, 214); } /** @@ -2717,7 +2717,7 @@ static void WindowRideVehicleUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_2); + widget_invalidate(*w, WIDX_TAB_2); } static OpenRCT2String WindowRideVehicleTooltip(rct_window* const w, const rct_widgetindex widgetIndex, rct_string_id fallback) @@ -3152,7 +3152,7 @@ static void WindowRideOperatingMouseup(rct_window* w, rct_widgetindex widgetInde switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -3192,7 +3192,7 @@ static void WindowRideOperatingMouseup(rct_window* w, rct_widgetindex widgetInde */ static void WindowRideOperatingResize(rct_window* w) { - window_set_resize(w, 316, 186, 316, 186); + window_set_resize(*w, 316, 186, 316, 186); } /** @@ -3392,7 +3392,7 @@ static void WindowRideOperatingUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_3); + widget_invalidate(*w, WIDX_TAB_3); auto ride = get_ride(w->rideId); if (ride != nullptr && ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_OPERATING) @@ -3787,7 +3787,7 @@ static void WindowRideMaintenanceMouseup(rct_window* w, rct_widgetindex widgetIn switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -3816,7 +3816,7 @@ static void WindowRideMaintenanceMouseup(rct_window* w, rct_widgetindex widgetIn */ static void WindowRideMaintenanceResize(rct_window* w) { - window_set_resize(w, 316, 135, 316, 135); + window_set_resize(*w, 316, 135, 316, 135); } /** @@ -4033,7 +4033,7 @@ static void WindowRideMaintenanceUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_4); + widget_invalidate(*w, WIDX_TAB_4); auto ride = get_ride(w->rideId); if (ride != nullptr && ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_MAINTENANCE) @@ -4294,7 +4294,7 @@ static void WindowRideColourMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -4330,7 +4330,7 @@ static void WindowRideColourMouseup(rct_window* w, rct_widgetindex widgetIndex) */ static void WindowRideColourResize(rct_window* w) { - window_set_resize(w, 316, 207, 316, 207); + window_set_resize(*w, 316, 207, 316, 207); } /** @@ -4581,8 +4581,8 @@ static void WindowRideColourUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_5); - widget_invalidate(w, WIDX_VEHICLE_PREVIEW); + widget_invalidate(*w, WIDX_TAB_5); + widget_invalidate(*w, WIDX_VEHICLE_PREVIEW); } /** @@ -5044,7 +5044,7 @@ static void WindowRideMusicMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -5071,7 +5071,7 @@ static void WindowRideMusicMouseup(rct_window* w, rct_widgetindex widgetIndex) static void WindowRideMusicResize(rct_window* w) { w->flags |= WF_RESIZABLE; - window_set_resize(w, 316, 81, 316, 81); + window_set_resize(*w, 316, 81, 316, 81); } static std::string GetMusicString(ObjectEntryIndex musicObjectIndex) @@ -5183,7 +5183,7 @@ static void WindowRideMusicUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_6); + widget_invalidate(*w, WIDX_TAB_6); } /** @@ -5400,7 +5400,7 @@ static void WindowRideMeasurementsMouseup(rct_window* w, rct_widgetindex widgetI switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -5435,7 +5435,7 @@ static void WindowRideMeasurementsMouseup(rct_window* w, rct_widgetindex widgetI */ static void WindowRideMeasurementsResize(rct_window* w) { - window_set_resize(w, 316, 234, 316, 234); + window_set_resize(*w, 316, 234, 316, 234); } /** @@ -5494,7 +5494,7 @@ static void WindowRideMeasurementsUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_7); + widget_invalidate(*w, WIDX_TAB_7); } /** @@ -5893,7 +5893,7 @@ static void WindowRideGraphsMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -5916,7 +5916,7 @@ static void WindowRideGraphsMouseup(rct_window* w, rct_widgetindex widgetIndex) */ static void WindowRideGraphsResize(rct_window* w) { - window_set_resize(w, 316, 182, 500, 450); + window_set_resize(*w, 316, 182, 500, 450); } /** @@ -5953,9 +5953,9 @@ static void WindowRideGraphsUpdate(rct_window* w) w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_8); + widget_invalidate(*w, WIDX_TAB_8); window_event_invalidate_call(w); - widget_invalidate(w, WIDX_GRAPH); + widget_invalidate(*w, WIDX_GRAPH); widget = &window_ride_graphs_widgets[WIDX_GRAPH]; x = w->scrolls[0].h_left; @@ -6481,7 +6481,7 @@ static void WindowRideIncomeMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -6534,7 +6534,7 @@ static void WindowRideIncomeMouseup(rct_window* w, rct_widgetindex widgetIndex) */ static void WindowRideIncomeResize(rct_window* w) { - window_set_resize(w, 316, 194, 316, 194); + window_set_resize(*w, 316, 194, 316, 194); } /** @@ -6568,7 +6568,7 @@ static void WindowRideIncomeUpdate(rct_window* w) { w->frame_no++; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_9); + widget_invalidate(*w, WIDX_TAB_9); auto ride = get_ride(w->rideId); if (ride != nullptr && ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_INCOME) @@ -6832,7 +6832,7 @@ static void WindowRideCustomerMouseup(rct_window* w, rct_widgetindex widgetIndex switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_TAB_1: case WIDX_TAB_2: @@ -6880,7 +6880,7 @@ static void WindowRideCustomerMouseup(rct_window* w, rct_widgetindex widgetIndex static void WindowRideCustomerResize(rct_window* w) { w->flags |= WF_RESIZABLE; - window_set_resize(w, 316, 163, 316, 163); + window_set_resize(*w, 316, 163, 316, 163); } /** @@ -6894,7 +6894,7 @@ static void WindowRideCustomerUpdate(rct_window* w) w->picked_peep_frame = 0; window_event_invalidate_call(w); - widget_invalidate(w, WIDX_TAB_10); + widget_invalidate(*w, WIDX_TAB_10); auto ride = get_ride(w->rideId); if (ride != nullptr && ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_CUSTOMER) diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index 1f0fbb1a5f..21421b52e0 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -176,7 +176,7 @@ static void CloseRideWindowForConstruction(RideId rideId) { rct_window* w = window_find_by_number(WC_RIDE, rideId.ToUnderlying()); if (w != nullptr && w->page == 1) - window_close(w); + window_close(*w); } static void RideConstructPlacedForwardGameActionCallback(const GameAction* ga, const GameActions::Result* result); @@ -211,7 +211,7 @@ public: colours[1] = COLOUR_DARK_BROWN; colours[2] = COLOUR_DARK_BROWN; - window_push_others_right(this); + window_push_others_right(*this); show_gridlines(); _currentTrackPrice = MONEY32_UNDEFINED; @@ -851,7 +851,7 @@ public: { if ((disabledWidgets & (1ULL << i)) != (currentDisabledWidgets & (1ULL << i))) { - widget_invalidate(this, i); + widget_invalidate(*this, i); } } disabled_widgets = disabledWidgets; @@ -879,7 +879,7 @@ public: case TrackElemType::Whirlpool | RideConstructionSpecialPieceSelected: case TrackElemType::Rapids | RideConstructionSpecialPieceSelected: case TrackElemType::Waterfall | RideConstructionSpecialPieceSelected: - widget_invalidate(this, WIDX_CONSTRUCT); + widget_invalidate(*this, WIDX_CONSTRUCT); break; } @@ -2732,7 +2732,7 @@ static void CloseConstructWindowOnCompletion(Ride* ride) { if (ride_are_all_possible_entrances_and_exits_built(ride).Successful) { - window_close(w); + window_close(*w); } else { diff --git a/src/openrct2-ui/windows/RideList.cpp b/src/openrct2-ui/windows/RideList.cpp index 6e75fcbf12..a3cfa5c31f 100644 --- a/src/openrct2-ui/windows/RideList.cpp +++ b/src/openrct2-ui/windows/RideList.cpp @@ -215,7 +215,7 @@ public: switch (widgetIndex) { case WIDX_CLOSE: - window_close(this); + window_close(*this); break; case WIDX_SORT: list_information_type = _windowRideListInformationType; @@ -358,7 +358,7 @@ public: void OnUpdate() override { frame_no = (frame_no + 1) % 64; - widget_invalidate(this, WIDX_TAB_1 + page); + widget_invalidate(*this, WIDX_TAB_1 + page); if (_windowRideListInformationType != INFORMATION_TYPE_STATUS) Invalidate(); } diff --git a/src/openrct2-ui/windows/SavePrompt.cpp b/src/openrct2-ui/windows/SavePrompt.cpp index 566e8943cd..b16acdda8b 100644 --- a/src/openrct2-ui/windows/SavePrompt.cpp +++ b/src/openrct2-ui/windows/SavePrompt.cpp @@ -122,7 +122,7 @@ rct_window* WindowSavePromptOpen() window = window_bring_to_front_by_class(WC_SAVE_PROMPT); if (window != nullptr) { - window_close(window); + window_close(*window); } if (gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) @@ -199,7 +199,7 @@ static void WindowSavePromptMouseup(rct_window* w, rct_widgetindex widgetIndex) break; case WQIDX_CLOSE: case WQIDX_CANCEL: - window_close(w); + window_close(*w); break; } return; @@ -221,7 +221,7 @@ static void WindowSavePromptMouseup(rct_window* w, rct_widgetindex widgetIndex) { intent = create_save_game_as_intent(); } - window_close(w); + window_close(*w); intent->putExtra(INTENT_EXTRA_CALLBACK, reinterpret_cast(WindowSavePromptCallback)); context_open_intent(intent.get()); break; @@ -231,7 +231,7 @@ static void WindowSavePromptMouseup(rct_window* w, rct_widgetindex widgetIndex) return; case WIDX_CLOSE: case WIDX_CANCEL: - window_close(w); + window_close(*w); return; } } diff --git a/src/openrct2-ui/windows/ScenarioSelect.cpp b/src/openrct2-ui/windows/ScenarioSelect.cpp index d80757d34d..41b89ee23b 100644 --- a/src/openrct2-ui/windows/ScenarioSelect.cpp +++ b/src/openrct2-ui/windows/ScenarioSelect.cpp @@ -268,7 +268,7 @@ static void WindowScenarioselectMouseup(rct_window* w, rct_widgetindex widgetInd { if (widgetIndex == WIDX_CLOSE) { - window_close(w); + window_close(*w); } } @@ -348,7 +348,7 @@ static void WindowScenarioselectScrollmousedown(rct_window* w, int32_t scrollInd _callback(listItem.scenario.scenario->path); if (_titleEditor) { - window_close(w); + window_close(*w); } } break; diff --git a/src/openrct2-ui/windows/Scenery.cpp b/src/openrct2-ui/windows/Scenery.cpp index 14feb33706..a0cd653652 100644 --- a/src/openrct2-ui/windows/Scenery.cpp +++ b/src/openrct2-ui/windows/Scenery.cpp @@ -160,8 +160,8 @@ public: _activeTabIndex = 0; } - window_move_position(this, { context_get_width() - GetRequiredWidth(), 0x1D }); - window_push_others_below(this); + window_move_position(*this, { context_get_width() - GetRequiredWidth(), 0x1D }); + window_push_others_below(*this); } void OnClose() override @@ -316,7 +316,7 @@ public: { // Find out what scenery the cursor is over const CursorState* state = context_get_cursor_state(); - rct_widgetindex widgetIndex = window_find_widget_from_point(this, state->position); + rct_widgetindex widgetIndex = window_find_widget_from_point(*this, state->position); if (widgetIndex == WIDX_SCENERY_LIST) { ScreenCoordsXY scrollPos = {}; @@ -350,7 +350,7 @@ public: if (window.y < 44 || window.x <= width) { - rct_widgetindex widgetIndex = window_find_widget_from_point(this, state->position); + rct_widgetindex widgetIndex = window_find_widget_from_point(*this, state->position); if (widgetIndex >= WIDX_SCENERY_TAB_CONTENT_PANEL) { _hoverCounter++; diff --git a/src/openrct2-ui/windows/SceneryScatter.cpp b/src/openrct2-ui/windows/SceneryScatter.cpp index f4060cca00..ee0c02a365 100644 --- a/src/openrct2-ui/windows/SceneryScatter.cpp +++ b/src/openrct2-ui/windows/SceneryScatter.cpp @@ -60,7 +60,7 @@ public: widgets = window_scenery_scatter_widgets; hold_down_widgets = (1ULL << WIDX_INCREMENT) | (1ULL << WIDX_DECREMENT); WindowInitScrollWidgets(*this); - window_push_others_below(this); + window_push_others_below(*this); gWindowSceneryScatterEnabled = true; gWindowSceneryScatterSize = 16; @@ -93,7 +93,7 @@ public: switch (widgetIndex) { case WIDX_CLOSE: - window_close(this); + window_close(*this); break; case WIDX_PREVIEW: diff --git a/src/openrct2-ui/windows/ServerList.cpp b/src/openrct2-ui/windows/ServerList.cpp index d8f760b3a1..6881d54319 100644 --- a/src/openrct2-ui/windows/ServerList.cpp +++ b/src/openrct2-ui/windows/ServerList.cpp @@ -141,7 +141,7 @@ rct_window* WindowServerListOpen() window->page = 0; window->list_information_type = 0; - window_set_resize(window, WWIDTH_MIN, WHEIGHT_MIN, WWIDTH_MAX, WHEIGHT_MAX); + window_set_resize(*window, WWIDTH_MIN, WHEIGHT_MIN, WWIDTH_MAX, WHEIGHT_MAX); safe_strcpy(_playerName, gConfigNetwork.player_name.c_str(), sizeof(_playerName)); @@ -164,7 +164,7 @@ static void WindowServerListMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_PLAYER_NAME_INPUT: window_start_textbox(w, widgetIndex, STR_STRING, _playerName, 63); @@ -202,7 +202,7 @@ static void WindowServerListMouseup(rct_window* w, rct_widgetindex widgetIndex) static void WindowServerListResize(rct_window* w) { - window_set_resize(w, WWIDTH_MIN, WHEIGHT_MIN, WWIDTH_MAX, WHEIGHT_MAX); + window_set_resize(*w, WWIDTH_MIN, WHEIGHT_MIN, WWIDTH_MAX, WHEIGHT_MAX); } static void WindowServerListDropdown(rct_window* w, rct_widgetindex widgetIndex, int32_t dropdownIndex) @@ -240,7 +240,7 @@ static void WindowServerListUpdate(rct_window* w) if (gCurrentTextBox.window.classification == w->classification && gCurrentTextBox.window.number == w->number) { window_update_textbox_caret(); - widget_invalidate(w, WIDX_PLAYER_NAME_INPUT); + widget_invalidate(*w, WIDX_PLAYER_NAME_INPUT); } ServerListFetchServersCheck(w); } @@ -326,7 +326,7 @@ static void WindowServerListTextinput(rct_window* w, rct_widgetindex widgetIndex config_save_default(); } - widget_invalidate(w, WIDX_PLAYER_NAME_INPUT); + widget_invalidate(*w, WIDX_PLAYER_NAME_INPUT); break; case WIDX_ADD_SERVER: diff --git a/src/openrct2-ui/windows/ServerStart.cpp b/src/openrct2-ui/windows/ServerStart.cpp index be31bf4770..1a7dc0e0e6 100644 --- a/src/openrct2-ui/windows/ServerStart.cpp +++ b/src/openrct2-ui/windows/ServerStart.cpp @@ -159,10 +159,10 @@ public: if (gCurrentTextBox.window.classification == classification && gCurrentTextBox.window.number == number) { window_update_textbox_caret(); - widget_invalidate(this, WIDX_NAME_INPUT); - widget_invalidate(this, WIDX_DESCRIPTION_INPUT); - widget_invalidate(this, WIDX_GREETING_INPUT); - widget_invalidate(this, WIDX_PASSWORD_INPUT); + widget_invalidate(*this, WIDX_NAME_INPUT); + widget_invalidate(*this, WIDX_DESCRIPTION_INPUT); + widget_invalidate(*this, WIDX_GREETING_INPUT); + widget_invalidate(*this, WIDX_PASSWORD_INPUT); } } void OnTextInput(rct_widgetindex widgetIndex, std::string_view text) override @@ -187,7 +187,7 @@ public: gConfigNetwork.default_port = atoi(_port); config_save_default(); - widget_invalidate(this, WIDX_NAME_INPUT); + widget_invalidate(*this, WIDX_NAME_INPUT); break; case WIDX_NAME_INPUT: if (strcmp(_name, temp.c_str()) == 0) @@ -205,7 +205,7 @@ public: config_save_default(); } - widget_invalidate(this, WIDX_NAME_INPUT); + widget_invalidate(*this, WIDX_NAME_INPUT); break; case WIDX_DESCRIPTION_INPUT: if (strcmp(_description, temp.c_str()) == 0) @@ -223,7 +223,7 @@ public: config_save_default(); } - widget_invalidate(this, WIDX_DESCRIPTION_INPUT); + widget_invalidate(*this, WIDX_DESCRIPTION_INPUT); break; case WIDX_GREETING_INPUT: if (strcmp(_greeting, temp.c_str()) == 0) @@ -241,7 +241,7 @@ public: config_save_default(); } - widget_invalidate(this, WIDX_GREETING_INPUT); + widget_invalidate(*this, WIDX_GREETING_INPUT); break; case WIDX_PASSWORD_INPUT: if (strcmp(_password, temp.c_str()) == 0) @@ -253,7 +253,7 @@ public: safe_strcpy(_password, temp.c_str(), sizeof(_password)); } - widget_invalidate(this, WIDX_PASSWORD_INPUT); + widget_invalidate(*this, WIDX_PASSWORD_INPUT); break; } } diff --git a/src/openrct2-ui/windows/ShortcutKeys.cpp b/src/openrct2-ui/windows/ShortcutKeys.cpp index bd0f01f958..1ea67532d2 100644 --- a/src/openrct2-ui/windows/ShortcutKeys.cpp +++ b/src/openrct2-ui/windows/ShortcutKeys.cpp @@ -194,7 +194,7 @@ public: void OnResize() override { - window_set_resize(this, min_width, min_height, max_width, max_height); + window_set_resize(*this, min_width, min_height, max_width, max_height); } void OnUpdate() override diff --git a/src/openrct2-ui/windows/Sign.cpp b/src/openrct2-ui/windows/Sign.cpp index ef7a609a12..a88bf948bd 100644 --- a/src/openrct2-ui/windows/Sign.cpp +++ b/src/openrct2-ui/windows/Sign.cpp @@ -285,7 +285,7 @@ public: if (viewport != nullptr) { - window_draw_viewport(&dpi, this); + window_draw_viewport(&dpi, *this); } } diff --git a/src/openrct2-ui/windows/Staff.cpp b/src/openrct2-ui/windows/Staff.cpp index d49160a347..b65bcad1e9 100644 --- a/src/openrct2-ui/windows/Staff.cpp +++ b/src/openrct2-ui/windows/Staff.cpp @@ -528,7 +528,7 @@ private: // Draw the viewport no sound sprite if (viewport != nullptr) { - window_draw_viewport(dpi, this); + window_draw_viewport(dpi, *this); if (viewport->flags & VIEWPORT_FLAG_SOUND_ON) { diff --git a/src/openrct2-ui/windows/StaffFirePrompt.cpp b/src/openrct2-ui/windows/StaffFirePrompt.cpp index b83fbfe668..4a128405d2 100644 --- a/src/openrct2-ui/windows/StaffFirePrompt.cpp +++ b/src/openrct2-ui/windows/StaffFirePrompt.cpp @@ -88,7 +88,7 @@ static void WindowStaffFireMouseup(rct_window* w, rct_widgetindex widgetIndex) } case WIDX_CANCEL: case WIDX_CLOSE: - window_close(w); + window_close(*w); } } diff --git a/src/openrct2-ui/windows/TextInput.cpp b/src/openrct2-ui/windows/TextInput.cpp index 9280c65131..af6222100e 100644 --- a/src/openrct2-ui/windows/TextInput.cpp +++ b/src/openrct2-ui/windows/TextInput.cpp @@ -134,7 +134,7 @@ public: auto parentWindow = GetParentWindow(); if (parentWindow == nullptr) { - window_close(this); + window_close(*this); return; } } @@ -155,12 +155,12 @@ public: case WIDX_CLOSE: context_stop_text_input(); ExecuteCallback(false); - window_close(this); + window_close(*this); break; case WIDX_OKAY: context_stop_text_input(); ExecuteCallback(true); - window_close(this); + window_close(*this); } } @@ -170,7 +170,7 @@ public: int32_t newHeight = CalculateWindowHeight(_buffer.data()); if (newHeight != height) { - window_set_resize(this, WW, newHeight, WW, newHeight); + window_set_resize(*this, WW, newHeight, WW, newHeight); } widgets[WIDX_OKAY].top = newHeight - 22; @@ -299,7 +299,7 @@ public: { context_stop_text_input(); ExecuteCallback(true); - window_close(this); + window_close(*this); } static int32_t CalculateWindowHeight(std::string_view text) diff --git a/src/openrct2-ui/windows/Themes.cpp b/src/openrct2-ui/windows/Themes.cpp index f82e9affe3..7f1bdf4f00 100644 --- a/src/openrct2-ui/windows/Themes.cpp +++ b/src/openrct2-ui/windows/Themes.cpp @@ -348,7 +348,7 @@ static void WindowThemesMouseup(rct_window* w, rct_widgetindex widgetIndex) switch (widgetIndex) { case WIDX_THEMES_CLOSE: - window_close(w); + window_close(*w); break; case WIDX_THEMES_DUPLICATE_BUTTON:; activeAvailableThemeIndex = ThemeManagerGetAvailableThemeIndex(); @@ -596,7 +596,7 @@ void WindowThemesUpdate(rct_window* w) if (w->frame_no >= window_themes_tab_animation_loops[_selected_tab]) w->frame_no = 0; - widget_invalidate(w, WIDX_THEMES_SETTINGS_TAB + _selected_tab); + widget_invalidate(*w, WIDX_THEMES_SETTINGS_TAB + _selected_tab); } void WindowThemesScrollgetsize(rct_window* w, int32_t scrollIndex, int32_t* width, int32_t* height) @@ -654,7 +654,7 @@ void WindowThemesScrollmousedown(rct_window* w, int32_t scrollIndex, const Scree uint8_t colour = ThemeGetColour(wc, _colour_index_2); WindowDropdownShowColour(w, &(window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK]), w->colours[1], colour); - widget_invalidate(w, WIDX_THEMES_LIST); + widget_invalidate(*w, WIDX_THEMES_LIST); } } else if ( diff --git a/src/openrct2-ui/windows/TileInspector.cpp b/src/openrct2-ui/windows/TileInspector.cpp index 3bdfc48b7f..8ac98e42c3 100644 --- a/src/openrct2-ui/windows/TileInspector.cpp +++ b/src/openrct2-ui/windows/TileInspector.cpp @@ -782,7 +782,7 @@ static void WindowTileInspectorMouseup(rct_window* w, rct_widgetindex widgetInde { case WIDX_CLOSE: tool_cancel(); - window_close(w); + window_close(*w); return; case WIDX_BUTTON_REMOVE: { @@ -893,7 +893,7 @@ static void WindowTileInspectorMouseup(rct_window* w, rct_widgetindex widgetInde { case WIDX_TRACK_CHECK_APPLY_TO_ALL: windowTileInspectorApplyToAll ^= 1; - widget_invalidate(w, widgetIndex); + widget_invalidate(*w, widgetIndex); break; case WIDX_TRACK_CHECK_CHAIN_LIFT: { @@ -1164,11 +1164,11 @@ static void WindowTileInspectorUpdate(rct_window* w) if (!WidgetIsHighlighted(*w, WIDX_LIST)) { windowTileInspectorHighlightedIndex = -1; - widget_invalidate(w, WIDX_LIST); + widget_invalidate(*w, WIDX_LIST); } if (gCurrentToolWidget.window_classification != WC_TILE_INSPECTOR) - window_close(w); + window_close(*w); } static void WindowTileInspectorDropdown(rct_window* w, rct_widgetindex widgetIndex, int32_t dropdownIndex) @@ -1358,7 +1358,7 @@ static void WindowTileInspectorScrollmouseover(rct_window* w, int32_t scrollInde else windowTileInspectorHighlightedIndex = index; - widget_invalidate(w, WIDX_LIST); + widget_invalidate(*w, WIDX_LIST); } static void WindowTileInspectorInvalidate(rct_window* w) @@ -1423,19 +1423,19 @@ static void WindowTileInspectorInvalidate(rct_window* w) WidgetSetEnabled( *w, WIDX_BUTTON_MOVE_UP, (windowTileInspectorSelectedIndex != -1 && windowTileInspectorSelectedIndex < windowTileInspectorElementCount - 1)); - widget_invalidate(w, WIDX_BUTTON_MOVE_UP); + widget_invalidate(*w, WIDX_BUTTON_MOVE_UP); // Move Down button WidgetSetEnabled(*w, WIDX_BUTTON_MOVE_DOWN, (windowTileInspectorSelectedIndex > 0)); - widget_invalidate(w, WIDX_BUTTON_MOVE_DOWN); + widget_invalidate(*w, WIDX_BUTTON_MOVE_DOWN); // Copy button WidgetSetEnabled(*w, WIDX_BUTTON_COPY, windowTileInspectorSelectedIndex >= 0); - widget_invalidate(w, WIDX_BUTTON_COPY); + widget_invalidate(*w, WIDX_BUTTON_COPY); // Paste button WidgetSetEnabled(*w, WIDX_BUTTON_PASTE, windowTileInspectorTileSelected && windowTileInspectorElementCopied); - widget_invalidate(w, WIDX_BUTTON_PASTE); + widget_invalidate(*w, WIDX_BUTTON_PASTE); w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; @@ -1668,9 +1668,9 @@ static void WindowTileInspectorInvalidate(rct_window* w) // Wall slope dropdown WidgetSetEnabled(*w, WIDX_WALL_DROPDOWN_SLOPE, canBeSloped); - widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE); + widget_invalidate(*w, WIDX_WALL_DROPDOWN_SLOPE); WidgetSetEnabled(*w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON, canBeSloped); - widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON); + 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); diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index eef736eb6a..f8e1be61fb 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -366,11 +366,11 @@ static void WindowTopToolbarMouseup(rct_window* w, rct_widgetindex widgetIndex) break; case WIDX_ZOOM_OUT: if ((mainWindow = window_get_main()) != nullptr) - window_zoom_out(mainWindow, false); + window_zoom_out(*mainWindow, false); break; case WIDX_ZOOM_IN: if ((mainWindow = window_get_main()) != nullptr) - window_zoom_in(mainWindow, false); + window_zoom_in(*mainWindow, false); break; case WIDX_CLEAR_SCENERY: ToggleClearSceneryWindow(w, WIDX_CLEAR_SCENERY); @@ -3073,7 +3073,7 @@ static void WindowTopToolbarLandToolDrag(const ScreenCoordsXY& screenPos) rct_window* window = window_find_from_point(screenPos); if (window == nullptr) return; - rct_widgetindex widget_index = window_find_widget_from_point(window, screenPos); + rct_widgetindex widget_index = window_find_widget_from_point(*window, screenPos); if (widget_index == -1) return; const auto& widget = window->widgets[widget_index]; @@ -3116,7 +3116,7 @@ static void WindowTopToolbarWaterToolDrag(const ScreenCoordsXY& screenPos) rct_window* window = window_find_from_point(screenPos); if (!window) return; - rct_widgetindex widget_index = window_find_widget_from_point(window, screenPos); + rct_widgetindex widget_index = window_find_widget_from_point(*window, screenPos); if (widget_index == -1) return; const auto& widget = window->widgets[widget_index]; @@ -3446,12 +3446,12 @@ static void TopToolbarRotateMenuDropdown(int16_t dropdownIndex) { if (dropdownIndex == 0) { - window_rotate_camera(w, 1); + window_rotate_camera(*w, 1); w->Invalidate(); } else if (dropdownIndex == 1) { - window_rotate_camera(w, -1); + window_rotate_camera(*w, -1); w->Invalidate(); } } diff --git a/src/openrct2-ui/windows/TrackDesignManage.cpp b/src/openrct2-ui/windows/TrackDesignManage.cpp index 5ab5237f19..69e6230f32 100644 --- a/src/openrct2-ui/windows/TrackDesignManage.cpp +++ b/src/openrct2-ui/windows/TrackDesignManage.cpp @@ -135,7 +135,7 @@ static void WindowTrackManageMouseup(rct_window* w, rct_widgetindex widgetIndex) { case WIDX_CLOSE: window_close_by_class(WC_TRACK_DELETE_PROMPT); - window_close(w); + window_close(*w); break; case WIDX_RENAME: WindowTextInputRawOpen( @@ -174,7 +174,7 @@ static void WindowTrackManageTextinput(rct_window* w, rct_widgetindex widgetInde if (track_repository_rename(_trackDesignFileReference->path, text)) { window_close_by_class(WC_TRACK_DELETE_PROMPT); - window_close(w); + window_close(*w); WindowTrackDesignListReloadTracks(); } else @@ -222,10 +222,10 @@ static void WindowTrackDeletePromptMouseup(rct_window* w, rct_widgetindex widget { case WIDX_CLOSE: case WIDX_PROMPT_CANCEL: - window_close(w); + window_close(*w); break; case WIDX_PROMPT_DELETE: - window_close(w); + window_close(*w); if (track_repository_delete(_trackDesignFileReference->path)) { window_close_by_class(WC_MANAGE_TRACK_DESIGN); diff --git a/src/openrct2-ui/windows/TrackDesignPlace.cpp b/src/openrct2-ui/windows/TrackDesignPlace.cpp index e2bbc3dd69..04d4503b20 100644 --- a/src/openrct2-ui/windows/TrackDesignPlace.cpp +++ b/src/openrct2-ui/windows/TrackDesignPlace.cpp @@ -81,7 +81,7 @@ public: WindowInitScrollWidgets(*this); tool_set(*this, WIDX_PRICE, Tool::Crosshair); input_set_flag(INPUT_FLAG_6, true); - window_push_others_right(this); + window_push_others_right(*this); show_gridlines(); _miniPreview.resize(TRACK_MINI_PREVIEW_SIZE); _placementCost = MONEY32_UNDEFINED; @@ -200,7 +200,7 @@ public: if (cost != _placementCost) { _placementCost = cost; - widget_invalidate(this, WIDX_PRICE); + widget_invalidate(*this, WIDX_PRICE); } TrackDesignPreviewDrawOutlines(tds, _trackDesign.get(), GetOrAllocateRide(PreviewRideId), trackLoc); @@ -243,7 +243,7 @@ public: intent.putExtra(INTENT_EXTRA_RIDE_ID, rideId.ToUnderlying()); context_open_intent(&intent); auto wnd = window_find_by_class(WC_TRACK_DESIGN_PLACE); - window_close(wnd); + window_close(*wnd); } else { diff --git a/src/openrct2-ui/windows/TrackList.cpp b/src/openrct2-ui/windows/TrackList.cpp index 9121830dcd..981a79c816 100644 --- a/src/openrct2-ui/windows/TrackList.cpp +++ b/src/openrct2-ui/windows/TrackList.cpp @@ -223,7 +223,7 @@ public: selected_list_item = 1; } gTrackDesignSceneryToggle = false; - window_push_others_right(this); + window_push_others_right(*this); _currentTrackPieceDirection = 2; _trackDesignPreviewPixels.resize(4 * TRACK_PREVIEW_IMAGE_SIZE); @@ -421,7 +421,7 @@ public: if (gCurrentTextBox.window.classification == classification && gCurrentTextBox.window.number == number) { window_update_textbox_caret(); - widget_invalidate(this, WIDX_FILTER_STRING); // TODO Check this + widget_invalidate(*this, WIDX_FILTER_STRING); // TODO Check this } if (track_list.reload_track_designs) diff --git a/src/openrct2-ui/windows/Transparency.cpp b/src/openrct2-ui/windows/Transparency.cpp index 2bc06dd51c..d52ad0e64b 100644 --- a/src/openrct2-ui/windows/Transparency.cpp +++ b/src/openrct2-ui/windows/Transparency.cpp @@ -93,7 +93,7 @@ public: void OnOpen() override { widgets = window_transparency_main_widgets; - window_push_others_below(this); + window_push_others_below(*this); auto* w = window_get_main(); if (w != nullptr) diff --git a/src/openrct2-ui/windows/ViewClipping.cpp b/src/openrct2-ui/windows/ViewClipping.cpp index 9feed37ccf..efb39dc375 100644 --- a/src/openrct2-ui/windows/ViewClipping.cpp +++ b/src/openrct2-ui/windows/ViewClipping.cpp @@ -86,7 +86,7 @@ public: switch (widgetIndex) { case WIDX_CLOSE: - window_close(this); + window_close(*this); break; case WIDX_CLIP_CHECKBOX_ENABLE: { @@ -188,7 +188,7 @@ public: gClipSelectionB = _previousClipSelectionB; } - widget_invalidate(this, WIDX_CLIP_HEIGHT_SLIDER); + widget_invalidate(*this, WIDX_CLIP_HEIGHT_SLIDER); } void OnToolUpdate(rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords) override @@ -352,7 +352,7 @@ public: // Initialise the clip height slider from the current clip height value. this->SetClipHeight(gClipHeight); - window_push_others_below(this); + window_push_others_below(*this); // Get the main viewport to set the view clipping flag. rct_window* mainWindow = window_get_main(); diff --git a/src/openrct2-ui/windows/Viewport.cpp b/src/openrct2-ui/windows/Viewport.cpp index 59c0224bec..411b8f8418 100644 --- a/src/openrct2-ui/windows/Viewport.cpp +++ b/src/openrct2-ui/windows/Viewport.cpp @@ -114,7 +114,7 @@ public: } // Not sure how to invalidate part of the viewport that has changed, this will have to do for now - // widget_invalidate(this, WIDX_VIEWPORT); + // widget_invalidate(*this, WIDX_VIEWPORT); } void OnMouseUp(rct_widgetindex widgetIndex) override @@ -144,7 +144,7 @@ public: { auto info = get_map_coordinates_from_pos( { windowPos.x + (width / 2), windowPos.y + (height / 2) }, ViewportInteractionItemAll); - window_scroll_to_location(mainWindow, { info.Loc, tile_element_height(info.Loc) }); + window_scroll_to_location(*mainWindow, { info.Loc, tile_element_height(info.Loc) }); } break; } @@ -156,7 +156,7 @@ public: // Draw viewport if (viewport != nullptr) - window_draw_viewport(&dpi, this); + window_draw_viewport(&dpi, *this); } void OnResize() override @@ -170,7 +170,7 @@ public: min_width = WW; min_height = WH; - window_set_resize(this, min_width, min_height, max_width, max_height); + window_set_resize(*this, min_width, min_height, max_width, max_height); } void OnPrepareDraw() override diff --git a/src/openrct2-ui/windows/Water.cpp b/src/openrct2-ui/windows/Water.cpp index 5f4e02e2ba..931c735957 100644 --- a/src/openrct2-ui/windows/Water.cpp +++ b/src/openrct2-ui/windows/Water.cpp @@ -48,7 +48,7 @@ public: widgets = window_water_widgets; hold_down_widgets = (1ULL << WIDX_INCREMENT) | (1ULL << WIDX_DECREMENT); WindowInitScrollWidgets(*this); - window_push_others_below(this); + window_push_others_below(*this); gLandToolSize = 1; gWaterToolRaiseCost = MONEY64_UNDEFINED; diff --git a/src/openrct2/ReplayManager.cpp b/src/openrct2/ReplayManager.cpp index 37438f9354..2419ffafce 100644 --- a/src/openrct2/ReplayManager.cpp +++ b/src/openrct2/ReplayManager.cpp @@ -855,7 +855,7 @@ namespace OpenRCT2 { auto* mainWindow = window_get_main(); if (mainWindow != nullptr) - window_scroll_to_location(mainWindow, result.Position); + window_scroll_to_location(*mainWindow, result.Position); } replayQueue.erase(replayQueue.begin()); diff --git a/src/openrct2/actions/RideSetStatusAction.cpp b/src/openrct2/actions/RideSetStatusAction.cpp index f37e77b66d..60c9bd6822 100644 --- a/src/openrct2/actions/RideSetStatusAction.cpp +++ b/src/openrct2/actions/RideSetStatusAction.cpp @@ -203,7 +203,7 @@ GameActions::Result RideSetStatusAction::Execute() const rct_window* constructionWindow = window_find_by_number(WC_RIDE_CONSTRUCTION, _rideIndex.ToUnderlying()); if (constructionWindow != nullptr) { - window_close(constructionWindow); + window_close(*constructionWindow); } if (_status == RideStatus::Testing) diff --git a/src/openrct2/interface/InteractiveConsole.cpp b/src/openrct2/interface/InteractiveConsole.cpp index 4019e855e9..771b591f89 100644 --- a/src/openrct2/interface/InteractiveConsole.cpp +++ b/src/openrct2/interface/InteractiveConsole.cpp @@ -1148,7 +1148,7 @@ static int32_t cc_set(InteractiveConsole& console, const arguments_t& argv) } else if (newRotation != currentRotation && mainWindow != nullptr) { - window_rotate_camera(mainWindow, newRotation - currentRotation); + window_rotate_camera(*mainWindow, newRotation - currentRotation); } console.Execute("get current_rotation"); } diff --git a/src/openrct2/interface/Window.cpp b/src/openrct2/interface/Window.cpp index 254f721070..cca2a1e953 100644 --- a/src/openrct2/interface/Window.cpp +++ b/src/openrct2/interface/Window.cpp @@ -178,7 +178,7 @@ static void window_close_surplus(int32_t cap, int8_t avoid_classification) { continue; } - window_close(foundW); + window_close(*foundW); } } @@ -205,9 +205,9 @@ void window_set_window_limit(int32_t value) * * @param window The window to close (esi). */ -void window_close(rct_window* w) +void window_close(rct_window& w) { - auto itWindow = window_get_iterator(w); + auto itWindow = window_get_iterator(&w); if (itWindow == g_window_list.end()) return; @@ -223,7 +223,7 @@ void window_close(rct_window* w) window->Invalidate(); // The window list may have been modified in the close event - itWindow = window_get_iterator(w); + itWindow = window_get_iterator(&w); if (itWindow != g_window_list.end()) g_window_list.erase(itWindow); } @@ -245,7 +245,7 @@ template static void window_close_by_condition(TPred pred, uint3 // we need to break this current iteration and restart. size_t previousCount = g_window_list.size(); - window_close(window.get()); + window_close(*window.get()); if ((flags & WindowCloseFlags::CloseSingle) != 0) { @@ -411,7 +411,7 @@ rct_window* window_find_from_point(const ScreenCoordsXY& screenCoords) if (w->flags & WF_NO_BACKGROUND) { - auto widgetIndex = window_find_widget_from_point(w.get(), screenCoords); + auto widgetIndex = window_find_widget_from_point(*w.get(), screenCoords); if (widgetIndex == -1) continue; } @@ -430,16 +430,16 @@ rct_window* window_find_from_point(const ScreenCoordsXY& screenCoords) * returns widget_index (edx) * EDI NEEDS TO BE SET TO w->widgets[widget_index] AFTER */ -rct_widgetindex window_find_widget_from_point(rct_window* w, const ScreenCoordsXY& screenCoords) +rct_widgetindex window_find_widget_from_point(rct_window& w, const ScreenCoordsXY& screenCoords) { // Invalidate the window - window_event_invalidate_call(w); + window_event_invalidate_call(&w); // Find the widget at point x, y rct_widgetindex widget_index = -1; for (int32_t i = 0;; i++) { - const auto& widget = w->widgets[i]; + const auto& widget = w.widgets[i]; if (widget.type == WindowWidgetType::Last) { break; @@ -447,8 +447,8 @@ rct_widgetindex window_find_widget_from_point(rct_window* w, const ScreenCoordsX if (widget.type != WindowWidgetType::Empty && widget.IsVisible()) { - if (screenCoords.x >= w->windowPos.x + widget.left && screenCoords.x <= w->windowPos.x + widget.right - && screenCoords.y >= w->windowPos.y + widget.top && screenCoords.y <= w->windowPos.y + widget.bottom) + if (screenCoords.x >= w.windowPos.x + widget.left && screenCoords.x <= w.windowPos.x + widget.right + && screenCoords.y >= w.windowPos.y + widget.top && screenCoords.y <= w.windowPos.y + widget.bottom) { widget_index = i; } @@ -458,7 +458,7 @@ rct_widgetindex window_find_widget_from_point(rct_window* w, const ScreenCoordsX // Return next widget if a dropdown if (widget_index != -1) { - const auto& widget = w->widgets[widget_index]; + const auto& widget = w.widgets[widget_index]; if (widget.type == WindowWidgetType::DropdownMenu) widget_index++; } @@ -521,22 +521,21 @@ void window_invalidate_all() * Invalidates the specified widget of a window. * rct2: 0x006EC402 */ -void widget_invalidate(rct_window* w, rct_widgetindex widgetIndex) +void widget_invalidate(rct_window& w, rct_widgetindex widgetIndex) { - assert(w != nullptr); #ifdef DEBUG for (int32_t i = 0; i <= widgetIndex; i++) { - assert(w->widgets[i].type != WindowWidgetType::Last); + assert(w.widgets[i].type != WindowWidgetType::Last); } #endif - const auto& widget = w->widgets[widgetIndex]; + const auto& widget = w.widgets[widgetIndex]; if (widget.left == -2) return; - gfx_set_dirty_blocks({ { w->windowPos + ScreenCoordsXY{ widget.left, widget.top } }, - { w->windowPos + ScreenCoordsXY{ widget.right + 1, widget.bottom + 1 } } }); + gfx_set_dirty_blocks({ { w.windowPos + ScreenCoordsXY{ widget.left, widget.top } }, + { w.windowPos + ScreenCoordsXY{ widget.right + 1, widget.bottom + 1 } } }); } template static void widget_invalidate_by_condition(TPred pred) @@ -557,7 +556,7 @@ void widget_invalidate_by_class(rct_windowclass cls, rct_widgetindex widgetIndex window_visit_each([cls, widgetIndex](rct_window* w) { if (w->classification == cls) { - widget_invalidate(w, widgetIndex); + widget_invalidate(*w, widgetIndex); } }); } @@ -571,7 +570,7 @@ void widget_invalidate_by_number(rct_windowclass cls, rct_windownumber number, r window_visit_each([cls, number, widgetIndex](rct_window* w) { if (w->classification == cls && w->number == number) { - widget_invalidate(w, widgetIndex); + widget_invalidate(*w, widgetIndex); } }); } @@ -582,7 +581,7 @@ void widget_invalidate_by_number(rct_windowclass cls, rct_windownumber number, r * * @param w The window (esi). */ -void window_update_scroll_widgets(rct_window* w) +void window_update_scroll_widgets(rct_window& w) { int32_t scrollIndex, width, height, scrollPositionChanged; rct_widgetindex widgetIndex; @@ -590,16 +589,15 @@ void window_update_scroll_widgets(rct_window* w) widgetIndex = 0; scrollIndex = 0; - assert(w != nullptr); - for (widget = w->widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++) + for (widget = w.widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++) { if (widget->type != WindowWidgetType::Scroll) continue; - auto& scroll = w->scrolls[scrollIndex]; + auto& scroll = w.scrolls[scrollIndex]; width = 0; height = 0; - window_get_scroll_size(w, scrollIndex, &width, &height); + window_get_scroll_size(&w, scrollIndex, &width, &height); if (height == 0) { scroll.v_top = 0; @@ -626,22 +624,21 @@ void window_update_scroll_widgets(rct_window* w) if (scrollPositionChanged) { - WidgetScrollUpdateThumbs(*w, widgetIndex); - w->Invalidate(); + WidgetScrollUpdateThumbs(w, widgetIndex); + w.Invalidate(); } scrollIndex++; } } -int32_t window_get_scroll_data_index(rct_window* w, rct_widgetindex widget_index) +int32_t window_get_scroll_data_index(rct_window& w, rct_widgetindex widget_index) { int32_t i, result; result = 0; - assert(w != nullptr); for (i = 0; i < widget_index; i++) { - const auto& widget = w->widgets[i]; + const auto& widget = w.widgets[i]; if (widget.type == WindowWidgetType::Scroll) result++; } @@ -732,26 +729,26 @@ rct_window* window_bring_to_front_by_number(rct_windowclass cls, rct_windownumbe * * rct2: 0x006EE65A */ -void window_push_others_right(rct_window* window) +void window_push_others_right(rct_window& window) { window_visit_each([window](rct_window* w) { - if (w == window) + if (w == &window) return; if (w->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT)) return; - if (w->windowPos.x >= window->windowPos.x + window->width) + if (w->windowPos.x >= window.windowPos.x + window.width) return; - if (w->windowPos.x + w->width <= window->windowPos.x) + if (w->windowPos.x + w->width <= window.windowPos.x) return; - if (w->windowPos.y >= window->windowPos.y + window->height) + if (w->windowPos.y >= window.windowPos.y + window.height) return; - if (w->windowPos.y + w->height <= window->windowPos.y) + if (w->windowPos.y + w->height <= window.windowPos.y) return; w->Invalidate(); - if (window->windowPos.x + window->width + 13 >= context_get_width()) + if (window.windowPos.x + window.width + 13 >= context_get_width()) return; - auto push_amount = window->windowPos.x + window->width - w->windowPos.x + 3; + auto push_amount = window.windowPos.x + window.width - w->windowPos.x + 3; w->windowPos.x += push_amount; w->Invalidate(); if (w->viewport != nullptr) @@ -763,29 +760,29 @@ void window_push_others_right(rct_window* window) * * rct2: 0x006EE6EA */ -void window_push_others_below(rct_window* w1) +void window_push_others_below(rct_window& w1) { // Enumerate through all other windows window_visit_each([w1](rct_window* w2) { - if (w1 == w2) + if (&w1 == w2) return; // ? if (w2->flags & (WF_STICK_TO_BACK | WF_STICK_TO_FRONT)) return; // Check if w2 intersects with w1 - if (w2->windowPos.x > (w1->windowPos.x + w1->width) || w2->windowPos.x + w2->width < w1->windowPos.x) + if (w2->windowPos.x > (w1.windowPos.x + w1.width) || w2->windowPos.x + w2->width < w1.windowPos.x) return; - if (w2->windowPos.y > (w1->windowPos.y + w1->height) || w2->windowPos.y + w2->height < w1->windowPos.y) + if (w2->windowPos.y > (w1.windowPos.y + w1.height) || w2->windowPos.y + w2->height < w1.windowPos.y) return; // Check if there is room to push it down - if (w1->windowPos.y + w1->height + 80 >= context_get_height()) + if (w1.windowPos.y + w1.height + 80 >= context_get_height()) return; // Invalidate the window's current area w2->Invalidate(); - int32_t push_amount = w1->windowPos.y + w1->height - w2->windowPos.y + 3; + int32_t push_amount = w1.windowPos.y + w1.height - w2->windowPos.y + 3; w2->windowPos.y += push_amount; // Invalidate the window's new area @@ -821,27 +818,26 @@ rct_window* window_get_main() * @param y (ecx) * @param z (edx) */ -void window_scroll_to_location(rct_window* w, const CoordsXYZ& coords) +void window_scroll_to_location(rct_window& w, const CoordsXYZ& coords) { - assert(w != nullptr); - window_unfollow_sprite(w); - if (w->viewport != nullptr) + window_unfollow_sprite(&w); + if (w.viewport != nullptr) { int16_t height = tile_element_height(coords); if (coords.z < height - 16) { - if (!(w->viewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE)) + if (!(w.viewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE)) { - w->viewport->flags |= VIEWPORT_FLAG_UNDERGROUND_INSIDE; - w->Invalidate(); + w.viewport->flags |= VIEWPORT_FLAG_UNDERGROUND_INSIDE; + w.Invalidate(); } } else { - if (w->viewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) + if (w.viewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE) { - w->viewport->flags &= ~VIEWPORT_FLAG_UNDERGROUND_INSIDE; - w->Invalidate(); + w.viewport->flags &= ~VIEWPORT_FLAG_UNDERGROUND_INSIDE; + w.Invalidate(); } } @@ -853,10 +849,10 @@ void window_scroll_to_location(rct_window* w, const CoordsXYZ& coords) bool found = false; while (!found) { - auto x2 = w->viewport->pos.x + static_cast(w->viewport->width * window_scroll_locations[i][0]); - auto y2 = w->viewport->pos.y + static_cast(w->viewport->height * window_scroll_locations[i][1]); + auto x2 = w.viewport->pos.x + static_cast(w.viewport->width * window_scroll_locations[i][0]); + auto y2 = w.viewport->pos.y + static_cast(w.viewport->height * window_scroll_locations[i][1]); - auto it = window_get_iterator(w); + auto it = window_get_iterator(&w); for (; it != g_window_list.end(); it++) { auto w2 = (*it).get(); @@ -885,14 +881,14 @@ void window_scroll_to_location(rct_window* w, const CoordsXYZ& coords) } } // rct2: 0x006E7C76 - if (w->viewport_target_sprite.IsNull()) + if (w.viewport_target_sprite.IsNull()) { - if (!(w->flags & WF_NO_SCROLLING)) + if (!(w.flags & WF_NO_SCROLLING)) { - w->savedViewPos = screenCoords - - ScreenCoordsXY{ static_cast(w->viewport->view_width * window_scroll_locations[i][0]), - static_cast(w->viewport->view_height * window_scroll_locations[i][1]) }; - w->flags |= WF_SCROLLING_TO_LOCATION; + w.savedViewPos = screenCoords + - ScreenCoordsXY{ static_cast(w.viewport->view_width * window_scroll_locations[i][0]), + static_cast(w.viewport->view_height * window_scroll_locations[i][1]) }; + w.flags |= WF_SCROLLING_TO_LOCATION; } } } @@ -914,9 +910,9 @@ static void call_event_viewport_rotate_on_all_windows() * 1: clockwise * -1: anti-clockwise */ -void window_rotate_camera(rct_window* w, int32_t direction) +void window_rotate_camera(rct_window& w, int32_t direction) { - rct_viewport* viewport = w->viewport; + rct_viewport* viewport = w.viewport; if (viewport == nullptr) return; @@ -948,24 +944,24 @@ void window_rotate_camera(rct_window* w, int32_t direction) if (centreLoc.has_value()) { - w->savedViewPos = centreLoc.value(); + w.savedViewPos = centreLoc.value(); viewport->viewPos = *centreLoc; } - w->Invalidate(); + w.Invalidate(); call_event_viewport_rotate_on_all_windows(); reset_all_sprite_quadrant_placements(); } void window_viewport_get_map_coords_by_cursor( - rct_window* w, int32_t* map_x, int32_t* map_y, int32_t* offset_x, int32_t* offset_y) + rct_window& w, int32_t* map_x, int32_t* map_y, int32_t* offset_x, int32_t* offset_y) { // Get mouse position to offset against. auto mouseCoords = context_get_cursor_position_scaled(); // Compute map coordinate by mouse position. - auto viewportPos = w->viewport->ScreenToViewportCoord(mouseCoords); + auto viewportPos = w.viewport->ScreenToViewportCoord(mouseCoords); auto coordsXYZ = viewport_adjust_for_map_height(viewportPos); auto mapCoords = viewport_coord_to_map_coord(viewportPos, coordsXYZ.z); *map_x = mapCoords.x; @@ -974,7 +970,7 @@ void window_viewport_get_map_coords_by_cursor( // Get viewport coordinates centring around the tile. int32_t z = tile_element_height(mapCoords); - auto centreLoc = centre_2d_coordinates({ mapCoords.x, mapCoords.y, z }, w->viewport); + auto centreLoc = centre_2d_coordinates({ mapCoords.x, mapCoords.y, z }, w.viewport); if (!centreLoc) { log_error("Invalid location."); @@ -982,19 +978,19 @@ void window_viewport_get_map_coords_by_cursor( } // Rebase mouse position onto centre of window, and compensate for zoom level. - int32_t rebased_x = w->viewport->zoom.ApplyTo(w->width / 2 - mouseCoords.x); - int32_t rebased_y = w->viewport->zoom.ApplyTo(w->height / 2 - mouseCoords.y); + int32_t rebased_x = w.viewport->zoom.ApplyTo(w.width / 2 - mouseCoords.x); + int32_t rebased_y = w.viewport->zoom.ApplyTo(w.height / 2 - mouseCoords.y); // Compute cursor offset relative to tile. - *offset_x = w->viewport->zoom.ApplyTo(w->savedViewPos.x - (centreLoc->x + rebased_x)); - *offset_y = w->viewport->zoom.ApplyTo(w->savedViewPos.y - (centreLoc->y + rebased_y)); + *offset_x = w.viewport->zoom.ApplyTo(w.savedViewPos.x - (centreLoc->x + rebased_x)); + *offset_y = w.viewport->zoom.ApplyTo(w.savedViewPos.y - (centreLoc->y + rebased_y)); } -void window_viewport_centre_tile_around_cursor(rct_window* w, int32_t map_x, int32_t map_y, int32_t offset_x, int32_t offset_y) +void window_viewport_centre_tile_around_cursor(rct_window& w, int32_t map_x, int32_t map_y, int32_t offset_x, int32_t offset_y) { // Get viewport coordinates centring around the tile. int32_t z = tile_element_height({ map_x, map_y }); - auto centreLoc = centre_2d_coordinates({ map_x, map_y, z }, w->viewport); + auto centreLoc = centre_2d_coordinates({ map_x, map_y, z }, w.viewport); if (!centreLoc.has_value()) { @@ -1006,12 +1002,12 @@ void window_viewport_centre_tile_around_cursor(rct_window* w, int32_t map_x, int auto mouseCoords = context_get_cursor_position_scaled(); // Rebase mouse position onto centre of window, and compensate for zoom level. - int32_t rebased_x = w->viewport->zoom.ApplyTo((w->width >> 1) - mouseCoords.x); - int32_t rebased_y = w->viewport->zoom.ApplyTo((w->height >> 1) - mouseCoords.y); + int32_t rebased_x = w.viewport->zoom.ApplyTo((w.width >> 1) - mouseCoords.x); + int32_t rebased_y = w.viewport->zoom.ApplyTo((w.height >> 1) - mouseCoords.y); // Apply offset to the viewport. - w->savedViewPos = { centreLoc->x + rebased_x + w->viewport->zoom.ApplyInversedTo(offset_x), - centreLoc->y + rebased_y + w->viewport->zoom.ApplyInversedTo(offset_y) }; + w.savedViewPos = { centreLoc->x + rebased_x + w.viewport->zoom.ApplyInversedTo(offset_x), + centreLoc->y + rebased_y + w.viewport->zoom.ApplyInversedTo(offset_y) }; } /** @@ -1022,14 +1018,14 @@ void window_check_all_valid_zoom() window_visit_each([](rct_window* w) { if (w->viewport != nullptr && w->viewport->zoom < ZoomLevel::min()) { - window_zoom_set(w, ZoomLevel::min(), false); + window_zoom_set(*w, ZoomLevel::min(), false); } }); } -void window_zoom_set(rct_window* w, ZoomLevel zoomLevel, bool atCursor) +void window_zoom_set(rct_window& w, ZoomLevel zoomLevel, bool atCursor) { - rct_viewport* v = w->viewport; + rct_viewport* v = w.viewport; if (v == nullptr) return; @@ -1051,8 +1047,8 @@ void window_zoom_set(rct_window* w, ZoomLevel zoomLevel, bool atCursor) while (v->zoom > zoomLevel) { v->zoom--; - w->savedViewPos.x += v->view_width / 4; - w->savedViewPos.y += v->view_height / 4; + w.savedViewPos.x += v->view_width / 4; + w.savedViewPos.y += v->view_height / 4; v->view_width /= 2; v->view_height /= 2; } @@ -1061,8 +1057,8 @@ void window_zoom_set(rct_window* w, ZoomLevel zoomLevel, bool atCursor) while (v->zoom < zoomLevel) { v->zoom++; - w->savedViewPos.x -= v->view_width / 2; - w->savedViewPos.y -= v->view_height / 2; + w.savedViewPos.x -= v->view_width / 2; + w.savedViewPos.y -= v->view_height / 2; v->view_width *= 2; v->view_height *= 2; } @@ -1075,26 +1071,26 @@ void window_zoom_set(rct_window* w, ZoomLevel zoomLevel, bool atCursor) // HACK: Prevents the redraw from failing when there is // a window on top of the viewport. - window_bring_to_front(w); - w->Invalidate(); + window_bring_to_front(&w); + w.Invalidate(); } /** * * rct2: 0x006887A6 */ -void window_zoom_in(rct_window* w, bool atCursor) +void window_zoom_in(rct_window& w, bool atCursor) { - window_zoom_set(w, w->viewport->zoom - 1, atCursor); + window_zoom_set(w, w.viewport->zoom - 1, atCursor); } /** * * rct2: 0x006887E0 */ -void window_zoom_out(rct_window* w, bool atCursor) +void window_zoom_out(rct_window& w, bool atCursor) { - window_zoom_set(w, w->viewport->zoom + 1, atCursor); + window_zoom_set(w, w.viewport->zoom + 1, atCursor); } void main_window_zoom(bool zoomIn, bool atCursor) @@ -1113,22 +1109,22 @@ void main_window_zoom(bool zoomIn, bool atCursor) return; if (zoomIn) - window_zoom_in(mainWindow, atCursor); + window_zoom_in(*mainWindow, atCursor); else - window_zoom_out(mainWindow, atCursor); + window_zoom_out(*mainWindow, atCursor); } /** * Splits a drawing of a window into regions that can be seen and are not hidden * by other opaque overlapping windows. */ -void window_draw(rct_drawpixelinfo* dpi, rct_window* w, int32_t left, int32_t top, int32_t right, int32_t bottom) +void window_draw(rct_drawpixelinfo* dpi, rct_window& w, int32_t left, int32_t top, int32_t right, int32_t bottom) { - if (!window_is_visible(w)) + if (!window_is_visible(&w)) return; // Divide the draws up for only the visible regions of the window recursively - auto itPos = window_get_iterator(w); + auto itPos = window_get_iterator(&w); for (auto it = std::next(itPos); it != g_window_list.end(); it++) { // Check if this window overlaps w @@ -1144,26 +1140,26 @@ void window_draw(rct_drawpixelinfo* dpi, rct_window* w, int32_t left, int32_t to if (topwindow->windowPos.x > left) { // Split draw at topwindow.left - window_draw_core(dpi, w, left, top, topwindow->windowPos.x, bottom); - window_draw_core(dpi, w, topwindow->windowPos.x, top, right, bottom); + window_draw_core(dpi, &w, left, top, topwindow->windowPos.x, bottom); + window_draw_core(dpi, &w, topwindow->windowPos.x, top, right, bottom); } else if (topwindow->windowPos.x + topwindow->width < right) { // Split draw at topwindow.right - window_draw_core(dpi, w, left, top, topwindow->windowPos.x + topwindow->width, bottom); - window_draw_core(dpi, w, topwindow->windowPos.x + topwindow->width, top, right, bottom); + window_draw_core(dpi, &w, left, top, topwindow->windowPos.x + topwindow->width, bottom); + window_draw_core(dpi, &w, topwindow->windowPos.x + topwindow->width, top, right, bottom); } else if (topwindow->windowPos.y > top) { // Split draw at topwindow.top - window_draw_core(dpi, w, left, top, right, topwindow->windowPos.y); - window_draw_core(dpi, w, left, topwindow->windowPos.y, right, bottom); + window_draw_core(dpi, &w, left, top, right, topwindow->windowPos.y); + window_draw_core(dpi, &w, left, topwindow->windowPos.y, right, bottom); } else if (topwindow->windowPos.y + topwindow->height < bottom) { // Split draw at topwindow.bottom - window_draw_core(dpi, w, left, top, right, topwindow->windowPos.y + topwindow->height); - window_draw_core(dpi, w, left, topwindow->windowPos.y + topwindow->height, right, bottom); + window_draw_core(dpi, &w, left, top, right, topwindow->windowPos.y + topwindow->height); + window_draw_core(dpi, &w, left, topwindow->windowPos.y + topwindow->height, right, bottom); } // Drawing for this region should be done now, exit @@ -1171,7 +1167,7 @@ void window_draw(rct_drawpixelinfo* dpi, rct_window* w, int32_t left, int32_t to } // No windows overlap - window_draw_core(dpi, w, left, top, right, bottom); + window_draw_core(dpi, &w, left, top, right, bottom); } /** @@ -1268,81 +1264,81 @@ static void window_draw_single(rct_drawpixelinfo* dpi, rct_window* w, int32_t le * @param dpi (edi) * @param w (esi) */ -void window_draw_viewport(rct_drawpixelinfo* dpi, rct_window* w) +void window_draw_viewport(rct_drawpixelinfo* dpi, rct_window& w) { - viewport_render(dpi, w->viewport, { { dpi->x, dpi->y }, { dpi->x + dpi->width, dpi->y + dpi->height } }); + viewport_render(dpi, w.viewport, { { dpi->x, dpi->y }, { dpi->x + dpi->width, dpi->y + dpi->height } }); } -void window_set_position(rct_window* w, const ScreenCoordsXY& screenCoords) +void window_set_position(rct_window& w, const ScreenCoordsXY& screenCoords) { - window_move_position(w, screenCoords - w->windowPos); + window_move_position(w, screenCoords - w.windowPos); } -void window_move_position(rct_window* w, const ScreenCoordsXY& deltaCoords) +void window_move_position(rct_window& w, const ScreenCoordsXY& deltaCoords) { if (deltaCoords.x == 0 && deltaCoords.y == 0) return; // Invalidate old region - w->Invalidate(); + w.Invalidate(); // Translate window and viewport - w->windowPos += deltaCoords; - if (w->viewport != nullptr) + w.windowPos += deltaCoords; + if (w.viewport != nullptr) { - w->viewport->pos += deltaCoords; + w.viewport->pos += deltaCoords; } // Invalidate new region - w->Invalidate(); + w.Invalidate(); } -void window_resize(rct_window* w, int32_t dw, int32_t dh) +void window_resize(rct_window& w, int32_t dw, int32_t dh) { if (dw == 0 && dh == 0) return; // Invalidate old region - w->Invalidate(); + w.Invalidate(); // Clamp new size to minimum and maximum - w->width = std::clamp(w->width + dw, w->min_width, w->max_width); - w->height = std::clamp(w->height + dh, w->min_height, w->max_height); + w.width = std::clamp(w.width + dw, w.min_width, w.max_width); + w.height = std::clamp(w.height + dh, w.min_height, w.max_height); - window_event_resize_call(w); - window_event_invalidate_call(w); + window_event_resize_call(&w); + window_event_invalidate_call(&w); // Update scroll widgets for (int32_t i = 0; i < 3; i++) { - auto& scroll = w->scrolls[i]; + auto& scroll = w.scrolls[i]; scroll.h_right = WINDOW_SCROLL_UNDEFINED; scroll.v_bottom = WINDOW_SCROLL_UNDEFINED; } window_update_scroll_widgets(w); // Invalidate new region - w->Invalidate(); + w.Invalidate(); } -void window_set_resize(rct_window* w, int32_t minWidth, int32_t minHeight, int32_t maxWidth, int32_t maxHeight) +void window_set_resize(rct_window& w, int32_t minWidth, int32_t minHeight, int32_t maxWidth, int32_t maxHeight) { - w->min_width = minWidth; - w->min_height = minHeight; - w->max_width = maxWidth; - w->max_height = maxHeight; + w.min_width = minWidth; + w.min_height = minHeight; + w.max_width = maxWidth; + w.max_height = maxHeight; // Clamp width and height to minimum and maximum - int32_t width = std::clamp(w->width, std::min(minWidth, maxWidth), std::max(minWidth, maxWidth)); - int32_t height = std::clamp(w->height, std::min(minHeight, maxHeight), std::max(minHeight, maxHeight)); + int32_t width = std::clamp(w.width, std::min(minWidth, maxWidth), std::max(minWidth, maxWidth)); + int32_t height = std::clamp(w.height, std::min(minHeight, maxHeight), std::max(minHeight, maxHeight)); // Resize window if size has changed - if (w->width != width || w->height != height) + if (w.width != width || w.height != height) { - w->Invalidate(); - w->width = width; - w->height = height; - w->Invalidate(); + w.Invalidate(); + w.width = width; + w.height = height; + w.Invalidate(); } } @@ -1813,21 +1809,21 @@ void window_update_viewport_ride_music() } } -static void window_snap_left(rct_window* w, int32_t proximity) +static void window_snap_left(rct_window& w, int32_t proximity) { const auto* mainWindow = window_get_main(); - auto wBottom = w->windowPos.y + w->height; - auto wLeftProximity = w->windowPos.x - (proximity * 2); - auto wRightProximity = w->windowPos.x + (proximity * 2); + auto wBottom = w.windowPos.y + w.height; + auto wLeftProximity = w.windowPos.x - (proximity * 2); + auto wRightProximity = w.windowPos.x + (proximity * 2); auto rightMost = INT32_MIN; window_visit_each([&](rct_window* w2) { - if (w2 == w || w2 == mainWindow) + if (w2 == &w || w2 == mainWindow) return; auto right = w2->windowPos.x + w2->width; - if (wBottom < w2->windowPos.y || w->windowPos.y > w2->windowPos.y + w2->height) + if (wBottom < w2->windowPos.y || w.windowPos.y > w2->windowPos.y + w2->height) return; if (right < wLeftProximity || right > wRightProximity) @@ -1840,24 +1836,24 @@ static void window_snap_left(rct_window* w, int32_t proximity) rightMost = std::max(rightMost, 0); if (rightMost != INT32_MIN) - w->windowPos.x = rightMost; + w.windowPos.x = rightMost; } -static void window_snap_top(rct_window* w, int32_t proximity) +static void window_snap_top(rct_window& w, int32_t proximity) { const auto* mainWindow = window_get_main(); - auto wRight = w->windowPos.x + w->width; - auto wTopProximity = w->windowPos.y - (proximity * 2); - auto wBottomProximity = w->windowPos.y + (proximity * 2); + auto wRight = w.windowPos.x + w.width; + auto wTopProximity = w.windowPos.y - (proximity * 2); + auto wBottomProximity = w.windowPos.y + (proximity * 2); auto bottomMost = INT32_MIN; window_visit_each([&](rct_window* w2) { - if (w2 == w || w2 == mainWindow) + if (w2 == &w || w2 == mainWindow) return; auto bottom = w2->windowPos.y + w2->height; - if (wRight < w2->windowPos.x || w->windowPos.x > w2->windowPos.x + w2->width) + if (wRight < w2->windowPos.x || w.windowPos.x > w2->windowPos.x + w2->width) return; if (bottom < wTopProximity || bottom > wBottomProximity) @@ -1870,23 +1866,23 @@ static void window_snap_top(rct_window* w, int32_t proximity) bottomMost = std::max(bottomMost, 0); if (bottomMost != INT32_MIN) - w->windowPos.y = bottomMost; + w.windowPos.y = bottomMost; } -static void window_snap_right(rct_window* w, int32_t proximity) +static void window_snap_right(rct_window& w, int32_t proximity) { const auto* mainWindow = window_get_main(); - auto wRight = w->windowPos.x + w->width; - auto wBottom = w->windowPos.y + w->height; + auto wRight = w.windowPos.x + w.width; + auto wBottom = w.windowPos.y + w.height; auto wLeftProximity = wRight - (proximity * 2); auto wRightProximity = wRight + (proximity * 2); auto leftMost = INT32_MAX; window_visit_each([&](rct_window* w2) { - if (w2 == w || w2 == mainWindow) + if (w2 == &w || w2 == mainWindow) return; - if (wBottom < w2->windowPos.y || w->windowPos.y > w2->windowPos.y + w2->height) + if (wBottom < w2->windowPos.y || w.windowPos.y > w2->windowPos.y + w2->height) return; if (w2->windowPos.x < wLeftProximity || w2->windowPos.x > wRightProximity) @@ -1900,23 +1896,23 @@ static void window_snap_right(rct_window* w, int32_t proximity) leftMost = std::min(leftMost, screenWidth); if (leftMost != INT32_MAX) - w->windowPos.x = leftMost - w->width; + w.windowPos.x = leftMost - w.width; } -static void window_snap_bottom(rct_window* w, int32_t proximity) +static void window_snap_bottom(rct_window& w, int32_t proximity) { const auto* mainWindow = window_get_main(); - auto wRight = w->windowPos.x + w->width; - auto wBottom = w->windowPos.y + w->height; + auto wRight = w.windowPos.x + w.width; + auto wBottom = w.windowPos.y + w.height; auto wTopProximity = wBottom - (proximity * 2); auto wBottomProximity = wBottom + (proximity * 2); auto topMost = INT32_MAX; window_visit_each([&](rct_window* w2) { - if (w2 == w || w2 == mainWindow) + if (w2 == &w || w2 == mainWindow) return; - if (wRight < w2->windowPos.x || w->windowPos.x > w2->windowPos.x + w2->width) + if (wRight < w2->windowPos.x || w.windowPos.x > w2->windowPos.x + w2->width) return; if (w2->windowPos.y < wTopProximity || w2->windowPos.y > wBottomProximity) @@ -1930,38 +1926,38 @@ static void window_snap_bottom(rct_window* w, int32_t proximity) topMost = std::min(topMost, screenHeight); if (topMost != INT32_MAX) - w->windowPos.y = topMost - w->height; + w.windowPos.y = topMost - w.height; } -void window_move_and_snap(rct_window* w, ScreenCoordsXY newWindowCoords, int32_t snapProximity) +void window_move_and_snap(rct_window& w, ScreenCoordsXY newWindowCoords, int32_t snapProximity) { - auto originalPos = w->windowPos; + auto originalPos = w.windowPos; int32_t minY = (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) ? 1 : TOP_TOOLBAR_HEIGHT + 2; newWindowCoords.y = std::clamp(newWindowCoords.y, minY, context_get_height() - 34); if (snapProximity > 0) { - w->windowPos = newWindowCoords; + w.windowPos = newWindowCoords; window_snap_right(w, snapProximity); window_snap_bottom(w, snapProximity); window_snap_left(w, snapProximity); window_snap_top(w, snapProximity); - if (w->windowPos == originalPos) + if (w.windowPos == originalPos) return; - newWindowCoords = w->windowPos; - w->windowPos = originalPos; + newWindowCoords = w.windowPos; + w.windowPos = originalPos; } window_set_position(w, newWindowCoords); } -int32_t window_can_resize(rct_window* w) +int32_t window_can_resize(rct_window& w) { - return (w->flags & WF_RESIZABLE) && (w->min_width != w->max_width || w->min_height != w->max_height); + return (w.flags & WF_RESIZABLE) && (w.min_width != w.max_width || w.min_height != w.max_height); } /** @@ -2019,7 +2015,7 @@ void window_cancel_textbox() gUsingWidgetTextBox = false; if (w != nullptr) { - widget_invalidate(w, gCurrentTextBox.widget_index); + widget_invalidate(*w, gCurrentTextBox.widget_index); } gCurrentTextBox.widget_index = static_cast(WindowWidgetType::Last); } @@ -2038,7 +2034,7 @@ void window_update_textbox() { gTextBoxFrameNo = 0; rct_window* w = window_find_by_number(gCurrentTextBox.window.classification, gCurrentTextBox.window.number); - widget_invalidate(w, gCurrentTextBox.widget_index); + widget_invalidate(*w, gCurrentTextBox.widget_index); window_event_textinput_call(w, gCurrentTextBox.widget_index, gTextBoxInput); } } @@ -2103,7 +2099,7 @@ void window_draw_all(rct_drawpixelinfo* dpi, int32_t left, int32_t top, int32_t return; if (left >= w->windowPos.x + w->width || top >= w->windowPos.y + w->height) return; - window_draw(&windowDPI, w, left, top, right, bottom); + window_draw(&windowDPI, *w, left, top, right, bottom); }); } @@ -2198,7 +2194,7 @@ rct_windowclass window_get_classification(rct_window* window) void WidgetScrollUpdateThumbs(rct_window& w, rct_widgetindex widget_index) { const auto& widget = w.widgets[widget_index]; - auto& scroll = w.scrolls[window_get_scroll_data_index(&w, widget_index)]; + auto& scroll = w.scrolls[window_get_scroll_data_index(w, widget_index)]; if (scroll.flags & HSCROLLBAR_VISIBLE) { diff --git a/src/openrct2/interface/Window.h b/src/openrct2/interface/Window.h index 508318c32e..a248221632 100644 --- a/src/openrct2/interface/Window.h +++ b/src/openrct2/interface/Window.h @@ -691,7 +691,7 @@ rct_window* WindowCreateAutoPos( rct_window* WindowCreateCentred( int32_t width, int32_t height, rct_window_event_list* event_handlers, rct_windowclass cls, uint32_t flags); -void window_close(rct_window* window); +void window_close(rct_window& window); void window_close_by_class(rct_windowclass cls); void window_close_by_number(rct_windowclass cls, rct_windownumber number); void window_close_by_number(rct_windowclass cls, EntityId number); @@ -703,45 +703,45 @@ rct_window* window_find_by_class(rct_windowclass cls); rct_window* window_find_by_number(rct_windowclass cls, rct_windownumber number); rct_window* window_find_by_number(rct_windowclass cls, EntityId id); rct_window* window_find_from_point(const ScreenCoordsXY& screenCoords); -rct_widgetindex window_find_widget_from_point(rct_window* w, const ScreenCoordsXY& screenCoords); +rct_widgetindex window_find_widget_from_point(rct_window& w, const ScreenCoordsXY& screenCoords); void window_invalidate_by_class(rct_windowclass cls); void window_invalidate_by_number(rct_windowclass cls, rct_windownumber number); void window_invalidate_by_number(rct_windowclass cls, EntityId id); void window_invalidate_all(); -void widget_invalidate(rct_window* w, rct_widgetindex widgetIndex); +void widget_invalidate(rct_window& w, rct_widgetindex widgetIndex); void widget_invalidate_by_class(rct_windowclass cls, rct_widgetindex widgetIndex); void widget_invalidate_by_number(rct_windowclass cls, rct_windownumber number, rct_widgetindex widgetIndex); void WindowInitScrollWidgets(rct_window& w); -void window_update_scroll_widgets(rct_window* w); -int32_t window_get_scroll_data_index(rct_window* w, rct_widgetindex widget_index); +void window_update_scroll_widgets(rct_window& w); +int32_t window_get_scroll_data_index(rct_window& w, rct_widgetindex widget_index); -void window_push_others_right(rct_window* w); -void window_push_others_below(rct_window* w1); +void window_push_others_right(rct_window& w); +void window_push_others_below(rct_window& w1); rct_window* window_get_main(); -void window_scroll_to_location(rct_window* w, const CoordsXYZ& coords); -void window_rotate_camera(rct_window* w, int32_t direction); +void window_scroll_to_location(rct_window& w, const CoordsXYZ& coords); +void window_rotate_camera(rct_window& w, int32_t direction); void window_viewport_get_map_coords_by_cursor( - rct_window* w, int32_t* map_x, int32_t* map_y, int32_t* offset_x, int32_t* offset_y); -void window_viewport_centre_tile_around_cursor(rct_window* w, int32_t map_x, int32_t map_y, int32_t offset_x, int32_t offset_y); + rct_window& w, int32_t* map_x, int32_t* map_y, int32_t* offset_x, int32_t* offset_y); +void window_viewport_centre_tile_around_cursor(rct_window& w, int32_t map_x, int32_t map_y, int32_t offset_x, int32_t offset_y); void window_check_all_valid_zoom(); -void window_zoom_set(rct_window* w, ZoomLevel zoomLevel, bool atCursor); -void window_zoom_in(rct_window* w, bool atCursor); -void window_zoom_out(rct_window* w, bool atCursor); +void window_zoom_set(rct_window& w, ZoomLevel zoomLevel, bool atCursor); +void window_zoom_in(rct_window& w, bool atCursor); +void window_zoom_out(rct_window& w, bool atCursor); void main_window_zoom(bool zoomIn, bool atCursor); -void window_show_textinput(rct_window* w, rct_widgetindex widgetIndex, uint16_t title, uint16_t text, int32_t value); +void window_show_textinput(rct_window& w, rct_widgetindex widgetIndex, uint16_t title, uint16_t text, int32_t value); void window_draw_all(rct_drawpixelinfo* dpi, int32_t left, int32_t top, int32_t right, int32_t bottom); -void window_draw(rct_drawpixelinfo* dpi, rct_window* w, int32_t left, int32_t top, int32_t right, int32_t bottom); +void window_draw(rct_drawpixelinfo* dpi, rct_window& w, int32_t left, int32_t top, int32_t right, int32_t bottom); void WindowDrawWidgets(rct_window& w, rct_drawpixelinfo* dpi); -void window_draw_viewport(rct_drawpixelinfo* dpi, rct_window* w); +void window_draw_viewport(rct_drawpixelinfo* dpi, rct_window& w); -void window_set_position(rct_window* w, const ScreenCoordsXY& screenCoords); -void window_move_position(rct_window* w, const ScreenCoordsXY& screenCoords); -void window_resize(rct_window* w, int32_t dw, int32_t dh); -void window_set_resize(rct_window* w, int32_t minWidth, int32_t minHeight, int32_t maxWidth, int32_t maxHeight); +void window_set_position(rct_window& w, const ScreenCoordsXY& screenCoords); +void window_move_position(rct_window& w, const ScreenCoordsXY& screenCoords); +void window_resize(rct_window& w, int32_t dw, int32_t dh); +void window_set_resize(rct_window& w, int32_t minWidth, int32_t minHeight, int32_t maxWidth, int32_t maxHeight); bool tool_set(const rct_window& w, rct_widgetindex widgetIndex, Tool tool); void tool_cancel(); @@ -795,8 +795,8 @@ void window_event_scroll_paint_call(rct_window* w, rct_drawpixelinfo* dpi, int32 void InvalidateAllWindowsAfterInput(); void textinput_cancel(); -void window_move_and_snap(rct_window* w, ScreenCoordsXY newWindowCoords, int32_t snapProximity); -int32_t window_can_resize(rct_window* w); +void window_move_and_snap(rct_window& w, ScreenCoordsXY newWindowCoords, int32_t snapProximity); +int32_t window_can_resize(rct_window& w); void window_start_textbox( rct_window* call_w, rct_widgetindex call_widget, rct_string_id existing_text, char* existing_args, int32_t maxLength); diff --git a/src/openrct2/interface/Window_internal.cpp b/src/openrct2/interface/Window_internal.cpp index f192d3ae27..7684cced70 100644 --- a/src/openrct2/interface/Window_internal.cpp +++ b/src/openrct2/interface/Window_internal.cpp @@ -7,7 +7,7 @@ void rct_window::SetLocation(const CoordsXYZ& coords) { - window_scroll_to_location(this, coords); + window_scroll_to_location(*this, coords); flags &= ~WF_SCROLLING_TO_LOCATION; } @@ -20,7 +20,7 @@ void rct_window::ScrollToViewport() auto mainWindow = window_get_main(); if (mainWindow != nullptr) - window_scroll_to_location(mainWindow, newCoords); + window_scroll_to_location(*mainWindow, newCoords); } void rct_window::Invalidate() diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index de8e9def22..091a8460c7 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -3808,7 +3808,7 @@ void Ride::ConstructMissingEntranceOrExit() const if (type != RIDE_TYPE_MAZE) { auto location = incompleteStation->GetStart(); - window_scroll_to_location(w, location); + window_scroll_to_location(*w, location); CoordsXYE trackElement; ride_try_get_origin_element(this, &trackElement); @@ -3834,7 +3834,7 @@ static void ride_scroll_to_track_error(CoordsXYE* trackElement) auto* w = window_get_main(); if (w != nullptr) { - window_scroll_to_location(w, { *trackElement, trackElement->element->GetBaseZ() }); + window_scroll_to_location(*w, { *trackElement, trackElement->element->GetBaseZ() }); ride_modify(trackElement); } } diff --git a/src/openrct2/ride/RideConstruction.cpp b/src/openrct2/ride/RideConstruction.cpp index 0879c032b3..030a92e610 100644 --- a/src/openrct2/ride/RideConstruction.cpp +++ b/src/openrct2/ride/RideConstruction.cpp @@ -142,7 +142,7 @@ void ride_construct(Ride* ride) rct_window* w = window_get_main(); if (w != nullptr && ride_modify(&trackElement)) - window_scroll_to_location(w, { trackElement, trackElement.element->GetBaseZ() }); + window_scroll_to_location(*w, { trackElement, trackElement.element->GetBaseZ() }); } else { diff --git a/src/openrct2/title/Command/RotateView.cpp b/src/openrct2/title/Command/RotateView.cpp index 448e1455de..028d529119 100644 --- a/src/openrct2/title/Command/RotateView.cpp +++ b/src/openrct2/title/Command/RotateView.cpp @@ -20,7 +20,7 @@ namespace OpenRCT2::Title { for (uint_fast8_t i = 0; i < Rotations; i++) { - window_rotate_camera(w, 1); + window_rotate_camera(*w, 1); } } diff --git a/src/openrct2/title/Command/SetZoom.cpp b/src/openrct2/title/Command/SetZoom.cpp index 8a56b760e6..8f254edd9c 100644 --- a/src/openrct2/title/Command/SetZoom.cpp +++ b/src/openrct2/title/Command/SetZoom.cpp @@ -19,7 +19,7 @@ namespace OpenRCT2::Title rct_window* w = window_get_main(); if (w != nullptr) { - window_zoom_set(w, ZoomLevel{ static_cast(Zoom) }, false); + window_zoom_set(*w, ZoomLevel{ static_cast(Zoom) }, false); } return 0;