Rename rct_widget to Widget

This commit is contained in:
Gymnasiast 2022-12-24 16:50:29 +01:00
parent b97ee766d5
commit 162b01204d
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
88 changed files with 363 additions and 367 deletions

View File

@ -73,7 +73,7 @@ void TileElementRightClick(int32_t type, TileElement* tileElement, const ScreenC
static void GameHandleInputMouse(const ScreenCoordsXY& screenCoords, MouseState state); static void GameHandleInputMouse(const ScreenCoordsXY& screenCoords, MouseState state);
static void InputWidgetLeft(const ScreenCoordsXY& screenCoords, rct_window* w, WidgetIndex widgetIndex); static void InputWidgetLeft(const ScreenCoordsXY& screenCoords, rct_window* w, WidgetIndex widgetIndex);
void InputStateWidgetPressed( void InputStateWidgetPressed(
const ScreenCoordsXY& screenCoords, MouseState state, WidgetIndex widgetIndex, rct_window* w, rct_widget* widget); const ScreenCoordsXY& screenCoords, MouseState state, WidgetIndex widgetIndex, rct_window* w, Widget* widget);
void SetCursor(CursorID cursor_id); void SetCursor(CursorID cursor_id);
static void InputWindowPositionContinue( static void InputWindowPositionContinue(
rct_window& w, const ScreenCoordsXY& lastScreenCoords, const ScreenCoordsXY& newScreenCoords); rct_window& w, const ScreenCoordsXY& lastScreenCoords, const ScreenCoordsXY& newScreenCoords);
@ -268,7 +268,7 @@ static void InputScrollRight(const ScreenCoordsXY& screenCoords, MouseState stat
static void GameHandleInputMouse(const ScreenCoordsXY& screenCoords, MouseState state) static void GameHandleInputMouse(const ScreenCoordsXY& screenCoords, MouseState state)
{ {
rct_window* w; rct_window* w;
rct_widget* widget; Widget* widget;
WidgetIndex widgetIndex; WidgetIndex widgetIndex;
// Get window and widget under cursor position // Get window and widget under cursor position
@ -916,7 +916,7 @@ static void InputWidgetOver(const ScreenCoordsXY& screenCoords, rct_window* w, W
{ {
WindowClass windowClass = WindowClass::Null; WindowClass windowClass = WindowClass::Null;
rct_windownumber windowNumber = 0; rct_windownumber windowNumber = 0;
rct_widget* widget = nullptr; Widget* widget = nullptr;
if (w != nullptr) if (w != nullptr)
{ {
@ -1202,7 +1202,7 @@ void ProcessMouseTool(const ScreenCoordsXY& screenCoords)
* rct2: 0x006E8DA7 * rct2: 0x006E8DA7
*/ */
void InputStateWidgetPressed( void InputStateWidgetPressed(
const ScreenCoordsXY& screenCoords, MouseState state, WidgetIndex widgetIndex, rct_window* w, rct_widget* widget) const ScreenCoordsXY& screenCoords, MouseState state, WidgetIndex widgetIndex, rct_window* w, Widget* widget)
{ {
WindowClass cursor_w_class; WindowClass cursor_w_class;
rct_windownumber cursor_w_number; rct_windownumber cursor_w_number;

View File

@ -52,9 +52,9 @@ void WindowDropdownShowImage(
int32_t itemHeight, int32_t numColumns); int32_t itemHeight, int32_t numColumns);
void WindowDropdownClose(); void WindowDropdownClose();
int32_t DropdownIndexFromPoint(const ScreenCoordsXY& loc, rct_window* w); int32_t DropdownIndexFromPoint(const ScreenCoordsXY& loc, rct_window* w);
void WindowDropdownShowColour(rct_window* w, rct_widget* widget, uint8_t dropdownColour, uint8_t selectedColour); void WindowDropdownShowColour(rct_window* w, Widget* widget, uint8_t dropdownColour, uint8_t selectedColour);
void WindowDropdownShowColourAvailable( void WindowDropdownShowColourAvailable(
rct_window* w, rct_widget* widget, uint8_t dropdownColour, uint8_t selectedColour, uint32_t availableColours); rct_window* w, Widget* widget, uint8_t dropdownColour, uint8_t selectedColour, uint32_t availableColours);
uint32_t DropdownGetAppropriateImageDropdownItemsPerRow(uint32_t numItems); uint32_t DropdownGetAppropriateImageDropdownItemsPerRow(uint32_t numItems);
bool WindowDropDownHasMultipleColumns(size_t numItems); bool WindowDropDownHasMultipleColumns(size_t numItems);

View File

@ -55,7 +55,7 @@ uint32_t LandTool::SizeToSpriteIndex(uint16_t size)
return 0xFFFFFFFF; return 0xFFFFFFFF;
} }
void LandTool::ShowSurfaceStyleDropdown(rct_window* w, rct_widget* widget, ObjectEntryIndex currentSurfaceType) void LandTool::ShowSurfaceStyleDropdown(rct_window* w, Widget* widget, ObjectEntryIndex currentSurfaceType)
{ {
auto& objManager = GetContext()->GetObjectManager(); auto& objManager = GetContext()->GetObjectManager();
@ -89,7 +89,7 @@ void LandTool::ShowSurfaceStyleDropdown(rct_window* w, rct_widget* widget, Objec
gDropdownDefaultIndex = defaultIndex; gDropdownDefaultIndex = defaultIndex;
} }
void LandTool::ShowEdgeStyleDropdown(rct_window* w, rct_widget* widget, ObjectEntryIndex currentEdgeType) void LandTool::ShowEdgeStyleDropdown(rct_window* w, Widget* widget, ObjectEntryIndex currentEdgeType)
{ {
auto& objManager = GetContext()->GetObjectManager(); auto& objManager = GetContext()->GetObjectManager();

View File

@ -29,6 +29,6 @@ extern money64 gWaterToolLowerCost;
namespace LandTool namespace LandTool
{ {
uint32_t SizeToSpriteIndex(uint16_t size); uint32_t SizeToSpriteIndex(uint16_t size);
void ShowSurfaceStyleDropdown(rct_window* w, rct_widget* widget, ObjectEntryIndex currentSurfaceType); void ShowSurfaceStyleDropdown(rct_window* w, Widget* widget, ObjectEntryIndex currentSurfaceType);
void ShowEdgeStyleDropdown(rct_window* w, rct_widget* widget, ObjectEntryIndex currentEdgeType); void ShowEdgeStyleDropdown(rct_window* w, Widget* widget, ObjectEntryIndex currentEdgeType);
} // namespace LandTool } // namespace LandTool

View File

@ -443,7 +443,7 @@ static void WidgetTextInset(rct_drawpixelinfo* dpi, rct_window& w, WidgetIndex w
WidgetText(dpi, w, widgetIndex); WidgetText(dpi, w, widgetIndex);
} }
static std::pair<StringId, void*> WidgetGetStringidAndArgs(const rct_widget& widget) static std::pair<StringId, void*> WidgetGetStringidAndArgs(const Widget& widget)
{ {
auto stringId = widget.text; auto stringId = widget.text;
void* formatArgs = gCommonFormatArgs; void* formatArgs = gCommonFormatArgs;
@ -932,11 +932,11 @@ bool WidgetIsActiveTool(const rct_window& w, WidgetIndex widgetIndex)
* edi: widget * edi: widget
*/ */
void WidgetScrollGetPart( void WidgetScrollGetPart(
rct_window& w, const rct_widget* widget, const ScreenCoordsXY& screenCoords, ScreenCoordsXY& retScreenCoords, rct_window& w, const Widget* widget, const ScreenCoordsXY& screenCoords, ScreenCoordsXY& retScreenCoords,
int32_t* output_scroll_area, int32_t* scroll_id) int32_t* output_scroll_area, int32_t* scroll_id)
{ {
*scroll_id = 0; *scroll_id = 0;
for (rct_widget* iterator = w.widgets; iterator != widget; iterator++) for (Widget* iterator = w.widgets; iterator != widget; iterator++)
{ {
if (iterator->type == WindowWidgetType::Scroll) if (iterator->type == WindowWidgetType::Scroll)
{ {
@ -1036,7 +1036,7 @@ void WidgetScrollGetPart(
} }
} }
rct_widget* GetWidgetByIndex(const rct_window& w, WidgetIndex widgetIndex) Widget* GetWidgetByIndex(const rct_window& w, WidgetIndex widgetIndex)
{ {
// Make sure we don't go out of bounds if we are given a bad widget index // Make sure we don't go out of bounds if we are given a bad widget index
WidgetIndex index = 0; WidgetIndex index = 0;
@ -1056,7 +1056,7 @@ rct_widget* GetWidgetByIndex(const rct_window& w, WidgetIndex widgetIndex)
static void SafeSetWidgetFlag(rct_window& w, WidgetIndex widgetIndex, WidgetFlags mask, bool value) static void SafeSetWidgetFlag(rct_window& w, WidgetIndex widgetIndex, WidgetFlags mask, bool value)
{ {
rct_widget* widget = GetWidgetByIndex(w, widgetIndex); Widget* widget = GetWidgetByIndex(w, widgetIndex);
if (widget == nullptr) if (widget == nullptr)
{ {
return; return;

View File

@ -13,4 +13,4 @@
#include <openrct2/interface/Widget.h> #include <openrct2/interface/Widget.h>
ImageId GetColourButtonImage(colour_t colour); ImageId GetColourButtonImage(colour_t colour);
rct_widget* GetWidgetByIndex(const rct_window& w, WidgetIndex widgetIndex); Widget* GetWidgetByIndex(const rct_window& w, WidgetIndex widgetIndex);

View File

@ -307,10 +307,10 @@ rct_window* WindowCreateCentred(int32_t width, int32_t height, WindowEventList*
return WindowCreate(pos, width, height, event_handlers, cls, flags); return WindowCreate(pos, width, height, event_handlers, cls, flags);
} }
static int32_t WindowGetWidgetIndex(const rct_window& w, rct_widget* widget) static int32_t WindowGetWidgetIndex(const rct_window& w, Widget* widget)
{ {
int32_t i = 0; int32_t i = 0;
for (rct_widget* widget2 = w.widgets; widget2->type != WindowWidgetType::Last; widget2++, i++) for (Widget* widget2 = w.widgets; widget2->type != WindowWidgetType::Last; widget2++, i++)
if (widget == widget2) if (widget == widget2)
return i; return i;
return -1; return -1;
@ -323,7 +323,7 @@ static int32_t WindowGetScrollIndex(const rct_window& w, int32_t targetWidgetInd
int32_t scrollIndex = 0; int32_t scrollIndex = 0;
WidgetIndex widgetIndex = 0; WidgetIndex widgetIndex = 0;
for (rct_widget* widget = w.widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++) for (Widget* widget = w.widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++)
{ {
if (widgetIndex == targetWidgetIndex) if (widgetIndex == targetWidgetIndex)
break; break;
@ -334,9 +334,9 @@ static int32_t WindowGetScrollIndex(const rct_window& w, int32_t targetWidgetInd
return scrollIndex; return scrollIndex;
} }
static rct_widget* WindowGetScrollWidget(const rct_window& w, int32_t scrollIndex) static Widget* WindowGetScrollWidget(const rct_window& w, int32_t scrollIndex)
{ {
for (rct_widget* widget = w.widgets; widget->type != WindowWidgetType::Last; widget++) for (Widget* widget = w.widgets; widget->type != WindowWidgetType::Last; widget++)
{ {
if (widget->type != WindowWidgetType::Scroll) if (widget->type != WindowWidgetType::Scroll)
continue; continue;
@ -356,7 +356,7 @@ static rct_widget* WindowGetScrollWidget(const rct_window& w, int32_t scrollInde
static void WindowScrollWheelInput(rct_window& w, int32_t scrollIndex, int32_t wheel) static void WindowScrollWheelInput(rct_window& w, int32_t scrollIndex, int32_t wheel)
{ {
auto& scroll = w.scrolls[scrollIndex]; auto& scroll = w.scrolls[scrollIndex];
rct_widget* widget = WindowGetScrollWidget(w, scrollIndex); Widget* widget = WindowGetScrollWidget(w, scrollIndex);
WidgetIndex widgetIndex = WindowGetWidgetIndex(w, widget); WidgetIndex widgetIndex = WindowGetWidgetIndex(w, widget);
if (scroll.flags & VSCROLLBAR_VISIBLE) if (scroll.flags & VSCROLLBAR_VISIBLE)
@ -387,7 +387,7 @@ static void WindowScrollWheelInput(rct_window& w, int32_t scrollIndex, int32_t w
static int32_t WindowWheelInput(rct_window& w, int32_t wheel) static int32_t WindowWheelInput(rct_window& w, int32_t wheel)
{ {
int32_t i = 0; int32_t i = 0;
for (rct_widget* widget = w.widgets; widget->type != WindowWidgetType::Last; widget++) for (Widget* widget = w.widgets; widget->type != WindowWidgetType::Last; widget++)
{ {
if (widget->type != WindowWidgetType::Scroll) if (widget->type != WindowWidgetType::Scroll)
continue; continue;
@ -575,7 +575,7 @@ void ApplyScreenSaverLockSetting()
*/ */
void WindowInitScrollWidgets(rct_window& w) void WindowInitScrollWidgets(rct_window& w)
{ {
rct_widget* widget; Widget* widget;
int32_t widget_index, scroll_index; int32_t widget_index, scroll_index;
int32_t width, height; int32_t width, height;
@ -617,7 +617,7 @@ void WindowInitScrollWidgets(rct_window& w)
*/ */
void WindowDrawWidgets(rct_window& w, rct_drawpixelinfo* dpi) void WindowDrawWidgets(rct_window& w, rct_drawpixelinfo* dpi)
{ {
rct_widget* widget; Widget* widget;
WidgetIndex widgetIndex; WidgetIndex widgetIndex;
if ((w.flags & WF_TRANSPARENT) && !(w.flags & WF_NO_BACKGROUND)) if ((w.flags & WF_TRANSPARENT) && !(w.flags & WF_NO_BACKGROUND))
@ -663,7 +663,7 @@ void WindowDrawWidgets(rct_window& w, rct_drawpixelinfo* dpi)
static void WindowInvalidatePressedImageButton(const rct_window& w) static void WindowInvalidatePressedImageButton(const rct_window& w)
{ {
WidgetIndex widgetIndex; WidgetIndex widgetIndex;
rct_widget* widget; Widget* widget;
widgetIndex = 0; widgetIndex = 0;
for (widget = w.widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++) for (widget = w.widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++)

View File

@ -816,7 +816,7 @@ std::optional<RowColumn> CustomListView::GetItemIndexAt(const ScreenCoordsXY& po
return result; return result;
} }
rct_widget* CustomListView::GetWidget() const Widget* CustomListView::GetWidget() const
{ {
size_t scrollIndex = 0; size_t scrollIndex = 0;
for (auto widget = ParentWindow->widgets; widget->type != WindowWidgetType::Last; widget++) for (auto widget = ParentWindow->widgets; widget->type != WindowWidgetType::Last; widget++)

View File

@ -147,7 +147,7 @@ namespace OpenRCT2::Ui::Windows
rct_drawpixelinfo* dpi, const ScreenCoordsXY& pos, const ScreenSize& size, const char* text, rct_drawpixelinfo* dpi, const ScreenCoordsXY& pos, const ScreenSize& size, const char* text,
bool isHighlighted) const; bool isHighlighted) const;
std::optional<RowColumn> GetItemIndexAt(const ScreenCoordsXY& pos); std::optional<RowColumn> GetItemIndexAt(const ScreenCoordsXY& pos);
rct_widget* GetWidget() const; Widget* GetWidget() const;
void Invalidate(); void Invalidate();
}; };
} // namespace OpenRCT2::Ui::Windows } // namespace OpenRCT2::Ui::Windows

View File

@ -47,7 +47,7 @@ namespace OpenRCT2::Ui::Windows
WIDX_TAB_0, WIDX_TAB_0,
}; };
static rct_widget CustomDefaultWidgets[] = { static Widget CustomDefaultWidgets[] = {
{ WindowWidgetType::Frame, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, // panel / background { WindowWidgetType::Frame, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WindowWidgetType::Caption, 0, 1, 0, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, // title bar { WindowWidgetType::Caption, 0, 1, 0, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, // title bar
{ WindowWidgetType::CloseBox, 0, 0, 0, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button { WindowWidgetType::CloseBox, 0, 0, 0, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
@ -335,7 +335,7 @@ namespace OpenRCT2::Ui::Windows
public: public:
std::shared_ptr<Plugin> Owner; std::shared_ptr<Plugin> Owner;
CustomWindowDesc Desc; CustomWindowDesc Desc;
std::vector<rct_widget> Widgets; std::vector<Widget> Widgets;
std::vector<size_t> WidgetIndexMap; std::vector<size_t> WidgetIndexMap;
std::vector<CustomListView> ListViews; std::vector<CustomListView> ListViews;
@ -895,7 +895,7 @@ namespace OpenRCT2::Ui::Windows
} }
for (size_t tabDescIndex = 0; tabDescIndex < info.Desc.Tabs.size(); tabDescIndex++) for (size_t tabDescIndex = 0; tabDescIndex < info.Desc.Tabs.size(); tabDescIndex++)
{ {
rct_widget widget{}; Widget widget{};
widget.type = WindowWidgetType::Tab; widget.type = WindowWidgetType::Tab;
widget.colour = 1; widget.colour = 1;
widget.left = static_cast<int16_t>(3 + (tabDescIndex * 31)); widget.left = static_cast<int16_t>(3 + (tabDescIndex * 31));
@ -952,9 +952,9 @@ namespace OpenRCT2::Ui::Windows
UpdateViewport(); UpdateViewport();
} }
static void CreateWidget(std::vector<rct_widget>& widgetList, const CustomWidgetDesc& desc) static void CreateWidget(std::vector<Widget>& widgetList, const CustomWidgetDesc& desc)
{ {
rct_widget widget{}; Widget widget{};
widget.colour = 1; widget.colour = 1;
widget.left = desc.X; widget.left = desc.X;
widget.top = desc.Y; widget.top = desc.Y;

View File

@ -409,7 +409,7 @@ namespace OpenRCT2::Scripting
return window_find_by_number(_class, _number); return window_find_by_number(_class, _number);
} }
rct_widget* GetWidget() const Widget* GetWidget() const
{ {
auto w = GetWindow(); auto w = GetWindow();
if (w != nullptr) if (w != nullptr)

View File

@ -61,7 +61,7 @@ enum WindowAboutWidgetIdx {
MakeRemapWidget({ 3, 17}, {91, TABHEIGHT - 16}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), /* about OpenRCT2 button */ \ MakeRemapWidget({ 3, 17}, {91, TABHEIGHT - 16}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), /* about OpenRCT2 button */ \
MakeRemapWidget({94, 17}, {91, TABHEIGHT - 16}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE) /* about RCT2 button */ MakeRemapWidget({94, 17}, {91, TABHEIGHT - 16}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE) /* about RCT2 button */
static rct_widget _windowAboutOpenRCT2Widgets[] = { static Widget _windowAboutOpenRCT2Widgets[] = {
WIDGETS_MAIN, WIDGETS_MAIN,
MakeWidget({10, 60}, {WW - 20, 20}, WindowWidgetType::LabelCentred, WindowColour::Secondary, STR_ABOUT_OPENRCT2_DESCRIPTION), // Introduction MakeWidget({10, 60}, {WW - 20, 20}, WindowWidgetType::LabelCentred, WindowColour::Secondary, STR_ABOUT_OPENRCT2_DESCRIPTION), // Introduction
MakeWidget({30, 90}, {128, 128}, WindowWidgetType::Placeholder, WindowColour::Secondary, STR_NONE), // OpenRCT2 Logo MakeWidget({30, 90}, {128, 128}, WindowWidgetType::Placeholder, WindowColour::Secondary, STR_NONE), // OpenRCT2 Logo
@ -75,12 +75,12 @@ static rct_widget _windowAboutOpenRCT2Widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _windowAboutRCT2Widgets[] = { static Widget _windowAboutRCT2Widgets[] = {
WIDGETS_MAIN, WIDGETS_MAIN,
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *_windowAboutPageWidgets[] = { static Widget *_windowAboutPageWidgets[] = {
_windowAboutOpenRCT2Widgets, _windowAboutOpenRCT2Widgets,
_windowAboutRCT2Widgets, _windowAboutRCT2Widgets,
}; };

View File

@ -37,7 +37,7 @@ enum WindowAssetPacksWidgetIdx {
WIDX_APPLY, WIDX_APPLY,
}; };
static rct_widget WindowAssetPacksWidgets[] = { static Widget WindowAssetPacksWidgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 0 }, { 0, 0 }, WindowWidgetType::LabelCentred, WindowColour::Secondary, STR_HIGH_PRIORITY), MakeWidget({ 0, 0 }, { 0, 0 }, WindowWidgetType::LabelCentred, WindowColour::Secondary, STR_HIGH_PRIORITY),
MakeWidget({ 0, 0 }, { 0, 0 }, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL), MakeWidget({ 0, 0 }, { 0, 0 }, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL),

View File

@ -56,7 +56,7 @@ static constexpr const StringId BannerColouredTextFormats[] = {
STR_TEXT_COLOUR_PALESILVER, STR_TEXT_COLOUR_PALESILVER,
}; };
static rct_widget window_banner_widgets[] = { static Widget window_banner_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 3, 17}, {85, 60}, WindowWidgetType::Viewport, WindowColour::Secondary, 0x0FFFFFFFE ), // tab content panel MakeWidget({ 3, 17}, {85, 60}, WindowWidgetType::Viewport, WindowColour::Secondary, 0x0FFFFFFFE ), // tab content panel
MakeWidget({WW - 25, 19}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RENAME, STR_CHANGE_BANNER_TEXT_TIP ), // change banner button MakeWidget({WW - 25, 19}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RENAME, STR_CHANGE_BANNER_TEXT_TIP ), // change banner button
@ -77,7 +77,7 @@ private:
void CreateViewport() void CreateViewport()
{ {
rct_widget* viewportWidget = &window_banner_widgets[WIDX_VIEWPORT]; Widget* viewportWidget = &window_banner_widgets[WIDX_VIEWPORT];
viewport_create( viewport_create(
this, windowPos + ScreenCoordsXY{ viewportWidget->left + 1, viewportWidget->top + 1 }, this, windowPos + ScreenCoordsXY{ viewportWidget->left + 1, viewportWidget->top + 1 },
(viewportWidget->width()) - 1, (viewportWidget->height()) - 1, Focus(_bannerViewPos)); (viewportWidget->width()) - 1, (viewportWidget->height()) - 1, Focus(_bannerViewPos));
@ -144,7 +144,7 @@ public:
void OnMouseDown(WidgetIndex widgetIndex) override void OnMouseDown(WidgetIndex widgetIndex) override
{ {
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
auto* banner = GetBanner(GetBannerIndex()); auto* banner = GetBanner(GetBannerIndex());
if (banner == nullptr) if (banner == nullptr)
{ {
@ -271,7 +271,7 @@ public:
{ {
return; return;
} }
rct_widget* colourBtn = &window_banner_widgets[WIDX_MAIN_COLOUR]; Widget* colourBtn = &window_banner_widgets[WIDX_MAIN_COLOUR];
colourBtn->type = WindowWidgetType::Empty; colourBtn->type = WindowWidgetType::Empty;
auto* bannerEntry = GetBannerEntry(banner->type); auto* bannerEntry = GetBannerEntry(banner->type);
@ -289,7 +289,7 @@ public:
| (1uLL << WIDX_TEXT_COLOUR_DROPDOWN_BUTTON); | (1uLL << WIDX_TEXT_COLOUR_DROPDOWN_BUTTON);
} }
colourBtn->image = GetColourButtonImage(banner->colour).ToUInt32(); colourBtn->image = GetColourButtonImage(banner->colour).ToUInt32();
rct_widget* dropDownWidget = &window_banner_widgets[WIDX_TEXT_COLOUR_DROPDOWN]; Widget* dropDownWidget = &window_banner_widgets[WIDX_TEXT_COLOUR_DROPDOWN];
dropDownWidget->text = BannerColouredTextFormats[banner->text_colour]; dropDownWidget->text = BannerColouredTextFormats[banner->text_colour];
} }
}; };

View File

@ -42,7 +42,7 @@ static constexpr const StringId WINDOW_TITLE = STR_CHANGELOG_TITLE;
constexpr int32_t MIN_WW = 300; constexpr int32_t MIN_WW = 300;
constexpr int32_t MIN_WH = 250; constexpr int32_t MIN_WH = 250;
static rct_widget _windowChangelogWidgets[] = { static Widget _windowChangelogWidgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({0, 14}, {500, 382}, WindowWidgetType::Resize, WindowColour::Secondary ), // content panel MakeWidget({0, 14}, {500, 382}, WindowWidgetType::Resize, WindowColour::Secondary ), // content panel
MakeWidget({3, 16}, {495, 366}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_BOTH ), // scroll area MakeWidget({3, 16}, {495, 366}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_BOTH ), // scroll area

View File

@ -200,7 +200,7 @@ static constexpr const int32_t TAB_START = 3;
MakeTab ({65, 17}, STR_PARK_CHEATS_TIP ), /* tab 3 */ \ MakeTab ({65, 17}, STR_PARK_CHEATS_TIP ), /* tab 3 */ \
MakeTab ({96, 17}, STR_RIDE_CHEATS_TIP ) /* tab 4 */ MakeTab ({96, 17}, STR_RIDE_CHEATS_TIP ) /* tab 4 */
static rct_widget window_cheats_money_widgets[] = static Widget window_cheats_money_widgets[] =
{ {
MAIN_CHEATS_WIDGETS, MAIN_CHEATS_WIDGETS,
MakeWidget ({ 11, 48}, CHEAT_BUTTON, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAKE_PARK_NO_MONEY), // No money MakeWidget ({ 11, 48}, CHEAT_BUTTON, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAKE_PARK_NO_MONEY), // No money
@ -218,7 +218,7 @@ static rct_widget window_cheats_money_widgets[] =
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_cheats_guests_widgets[] = static Widget window_cheats_guests_widgets[] =
{ {
MAIN_CHEATS_WIDGETS, MAIN_CHEATS_WIDGETS,
MakeWidget({ 5, 48}, {238, 279}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_SET_GUESTS_PARAMETERS ), // Guests parameters group frame MakeWidget({ 5, 48}, {238, 279}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_SET_GUESTS_PARAMETERS ), // Guests parameters group frame
@ -252,7 +252,7 @@ static rct_widget window_cheats_guests_widgets[] =
}; };
//Strings for following moved to window_cheats_paint() //Strings for following moved to window_cheats_paint()
static rct_widget window_cheats_misc_widgets[] = static Widget window_cheats_misc_widgets[] =
{ {
MAIN_CHEATS_WIDGETS, MAIN_CHEATS_WIDGETS,
MakeWidget ({ 5, 48}, {238, 60}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_GENERAL_GROUP ), // General group MakeWidget ({ 5, 48}, {238, 60}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_GENERAL_GROUP ), // General group
@ -290,7 +290,7 @@ static rct_widget window_cheats_misc_widgets[] =
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_cheats_rides_widgets[] = static Widget window_cheats_rides_widgets[] =
{ {
MAIN_CHEATS_WIDGETS, MAIN_CHEATS_WIDGETS,
MakeWidget({ 11, 48}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_FIX_ALL_RIDES, STR_CHEAT_FIX_ALL_RIDES_TIP ), // Fix all rides MakeWidget({ 11, 48}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_FIX_ALL_RIDES, STR_CHEAT_FIX_ALL_RIDES_TIP ), // Fix all rides
@ -317,7 +317,7 @@ static rct_widget window_cheats_rides_widgets[] =
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *window_cheats_page_widgets[] = static Widget *window_cheats_page_widgets[] =
{ {
window_cheats_money_widgets, window_cheats_money_widgets,
window_cheats_guests_widgets, window_cheats_guests_widgets,
@ -812,7 +812,7 @@ private:
break; break;
case WIDX_WEATHER_DROPDOWN_BUTTON: case WIDX_WEATHER_DROPDOWN_BUTTON:
{ {
rct_widget* dropdownWidget = widget - 1; Widget* dropdownWidget = widget - 1;
for (size_t i = 0; i < std::size(WeatherTypes); i++) for (size_t i = 0; i < std::size(WeatherTypes); i++)
{ {
@ -829,7 +829,7 @@ private:
break; break;
case WIDX_STAFF_SPEED_DROPDOWN_BUTTON: case WIDX_STAFF_SPEED_DROPDOWN_BUTTON:
{ {
rct_widget* dropdownWidget; Widget* dropdownWidget;
dropdownWidget = widget - 1; dropdownWidget = widget - 1;

View File

@ -36,7 +36,7 @@ static constexpr const int32_t WH = 94;
static constexpr ScreenSize CLEAR_SCENERY_BUTTON = { 24, 24 }; static constexpr ScreenSize CLEAR_SCENERY_BUTTON = { 24, 24 };
static rct_widget window_clear_scenery_widgets[] = { static Widget window_clear_scenery_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget( MakeWidget(
{ 27, 17 }, { 44, 32 }, WindowWidgetType::ImgBtn, WindowColour::Primary, SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box { 27, 17 }, { 44, 32 }, WindowWidgetType::ImgBtn, WindowColour::Primary, SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box

View File

@ -35,7 +35,7 @@ enum WindowCustomCurrencyWidgetIdx {
WIDX_AFFIX_DROPDOWN_BUTTON, WIDX_AFFIX_DROPDOWN_BUTTON,
}; };
static rct_widget window_custom_currency_widgets[] = { static Widget window_custom_currency_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeSpinnerWidgets({100, 30}, {101, 11}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_CURRENCY_FORMAT), // NB: 3 widgets MakeSpinnerWidgets({100, 30}, {101, 11}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_CURRENCY_FORMAT), // NB: 3 widgets
MakeWidget ({120, 50}, { 81, 11}, WindowWidgetType::Button, WindowColour::Secondary, STR_EMPTY ), MakeWidget ({120, 50}, { 81, 11}, WindowWidgetType::Button, WindowColour::Secondary, STR_EMPTY ),

View File

@ -33,7 +33,7 @@ enum WindowDebugPaintWidgetIdx
constexpr int32_t WINDOW_WIDTH = 200; constexpr int32_t WINDOW_WIDTH = 200;
constexpr int32_t WINDOW_HEIGHT = 8 + 15 + 15 + 15 + 15 + 11 + 8; constexpr int32_t WINDOW_HEIGHT = 8 + 15 + 15 + 15 + 15 + 11 + 8;
static rct_widget window_debug_paint_widgets[] = { static Widget window_debug_paint_widgets[] = {
MakeWidget({0, 0}, {WINDOW_WIDTH, WINDOW_HEIGHT}, WindowWidgetType::Frame, WindowColour::Primary ), MakeWidget({0, 0}, {WINDOW_WIDTH, WINDOW_HEIGHT}, WindowWidgetType::Frame, WindowColour::Primary ),
MakeWidget({8, 8 + 15 * 0}, { 185, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_WIDE_PATHS ), MakeWidget({8, 8 + 15 * 0}, { 185, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_WIDE_PATHS ),
MakeWidget({8, 8 + 15 * 1}, { 185, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_BLOCKED_TILES ), MakeWidget({8, 8 + 15 * 1}, { 185, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_BLOCKED_TILES ),

View File

@ -31,7 +31,7 @@ enum WindowRideDemolishWidgetIdx
WIDX_CANCEL WIDX_CANCEL
}; };
static rct_widget window_ride_demolish_widgets[] = static Widget window_ride_demolish_widgets[] =
{ {
WINDOW_SHIM_WHITE(STR_DEMOLISH_RIDE, WW, WH), WINDOW_SHIM_WHITE(STR_DEMOLISH_RIDE, WW, WH),
MakeWidget({ 10, WH - 22}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_DEMOLISH ), MakeWidget({ 10, WH - 22}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_DEMOLISH ),

View File

@ -39,7 +39,7 @@ enum
WIDX_BACKGROUND, WIDX_BACKGROUND,
}; };
static rct_widget window_dropdown_widgets[] = { static Widget window_dropdown_widgets[] = {
MakeWidget({ 0, 0 }, { 1, 1 }, WindowWidgetType::ImgBtn, WindowColour::Primary), MakeWidget({ 0, 0 }, { 1, 1 }, WindowWidgetType::ImgBtn, WindowColour::Primary),
WIDGETS_END, WIDGETS_END,
}; };
@ -446,7 +446,7 @@ int32_t DropdownIndexFromPoint(const ScreenCoordsXY& loc, rct_window* w)
/** /**
* rct2: 0x006ED43D * rct2: 0x006ED43D
*/ */
void WindowDropdownShowColour(rct_window* w, rct_widget* widget, uint8_t dropdownColour, uint8_t selectedColour) void WindowDropdownShowColour(rct_window* w, Widget* widget, uint8_t dropdownColour, uint8_t selectedColour)
{ {
int32_t defaultIndex = -1; int32_t defaultIndex = -1;
// Set items // Set items

View File

@ -35,7 +35,7 @@ enum {
WIDX_NEXT_STEP_BUTTON, // 8 WIDX_NEXT_STEP_BUTTON, // 8
}; };
static rct_widget _editorBottomToolbarWidgets[] = { static Widget _editorBottomToolbarWidgets[] = {
MakeWidget({ 0, 0}, {200, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary), MakeWidget({ 0, 0}, {200, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary),
MakeWidget({ 2, 2}, {196, 30}, WindowWidgetType::FlatBtn, WindowColour::Primary), MakeWidget({ 2, 2}, {196, 30}, WindowWidgetType::FlatBtn, WindowColour::Primary),
MakeWidget({440, 0}, {200, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary), MakeWidget({440, 0}, {200, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary),

View File

@ -46,7 +46,7 @@ enum {
WIDX_RANDOM_SHUFFLE WIDX_RANDOM_SHUFFLE
}; };
static rct_widget _inventionListWidgets[] = { static Widget _inventionListWidgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {600, 357}, WindowWidgetType::Resize, WindowColour::Secondary ), MakeWidget({ 0, 43}, {600, 357}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17} ), MakeTab ({ 3, 17} ),
@ -59,7 +59,7 @@ static rct_widget _inventionListWidgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _inventionListDragWidgets[] = { static Widget _inventionListDragWidgets[] = {
MakeWidget({0, 0}, {150, 14}, WindowWidgetType::ImgBtn, WindowColour::Primary), MakeWidget({0, 0}, {150, 14}, WindowWidgetType::ImgBtn, WindowColour::Primary),
WIDGETS_END, WIDGETS_END,
}; };

View File

@ -191,7 +191,7 @@ validate_global_widx(WC_EDITOR_OBJECT_SELECTION, WIDX_TAB_1);
static bool _window_editor_object_selection_widgets_initialised; static bool _window_editor_object_selection_widgets_initialised;
// clang-format off // clang-format off
static std::vector<rct_widget> _window_editor_object_selection_widgets = { static std::vector<Widget> _window_editor_object_selection_widgets = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {WW, 357}, WindowWidgetType::Resize, WindowColour::Secondary ), MakeWidget({ 0, 43}, {WW, 357}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeWidget({470, 22}, {122, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_OBJECT_SELECTION_ADVANCED, STR_OBJECT_SELECTION_ADVANCED_TIP), MakeWidget({470, 22}, {122, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_OBJECT_SELECTION_ADVANCED, STR_OBJECT_SELECTION_ADVANCED_TIP),

View File

@ -92,7 +92,7 @@ enum {
MakeTab ({ 3, 17}, STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP ), \ MakeTab ({ 3, 17}, STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP ), \
MakeTab ({ 34, 17}, STR_SELECT_RIDES_TO_BE_PRESERVED_TIP ) MakeTab ({ 34, 17}, STR_SELECT_RIDES_TO_BE_PRESERVED_TIP )
static rct_widget window_editor_objective_options_main_widgets[] = { static Widget window_editor_objective_options_main_widgets[] = {
MAIN_OBJECTIVE_OPTIONS_WIDGETS, MAIN_OBJECTIVE_OPTIONS_WIDGETS,
MakeWidget ({ 98, 48}, {344, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_NONE, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP ), MakeWidget ({ 98, 48}, {344, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_NONE, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP ),
MakeWidget ({430, 49}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP ), MakeWidget ({430, 49}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP ),
@ -106,13 +106,13 @@ static rct_widget window_editor_objective_options_main_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_editor_objective_options_rides_widgets[] = { static Widget window_editor_objective_options_rides_widgets[] = {
MAIN_OBJECTIVE_OPTIONS_WIDGETS, MAIN_OBJECTIVE_OPTIONS_WIDGETS,
MakeWidget({ 3, 60}, {374, 161}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL), MakeWidget({ 3, 60}, {374, 161}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *window_editor_objective_options_widgets[] = { static Widget *window_editor_objective_options_widgets[] = {
window_editor_objective_options_main_widgets, window_editor_objective_options_main_widgets,
window_editor_objective_options_rides_widgets, window_editor_objective_options_rides_widgets,
}; };
@ -123,7 +123,7 @@ static rct_widget *window_editor_objective_options_widgets[] = {
static void WindowEditorObjectiveOptionsMainMouseup(rct_window *w, WidgetIndex widgetIndex); static void WindowEditorObjectiveOptionsMainMouseup(rct_window *w, WidgetIndex widgetIndex);
static void WindowEditorObjectiveOptionsMainResize(rct_window *w); static void WindowEditorObjectiveOptionsMainResize(rct_window *w);
static void WindowEditorObjectiveOptionsMainMousedown(rct_window *w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowEditorObjectiveOptionsMainMousedown(rct_window *w, WidgetIndex widgetIndex, Widget* widget);
static void WindowEditorObjectiveOptionsMainDropdown(rct_window *w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowEditorObjectiveOptionsMainDropdown(rct_window *w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowEditorObjectiveOptionsMainUpdate(rct_window *w); static void WindowEditorObjectiveOptionsMainUpdate(rct_window *w);
static void WindowEditorObjectiveOptionsMainTextinput(rct_window *w, WidgetIndex widgetIndex, char *text); static void WindowEditorObjectiveOptionsMainTextinput(rct_window *w, WidgetIndex widgetIndex, char *text);
@ -230,7 +230,7 @@ static void WindowEditorObjectiveOptionsAnchorBorderWidgets(rct_window* w)
static void WindowEditorObjectiveOptionsDrawTabImages(rct_window* w, rct_drawpixelinfo* dpi) static void WindowEditorObjectiveOptionsDrawTabImages(rct_window* w, rct_drawpixelinfo* dpi)
{ {
rct_widget* widget; Widget* widget;
int32_t spriteIndex; int32_t spriteIndex;
// Tab 1 // Tab 1
@ -372,7 +372,7 @@ static void WindowEditorObjectiveOptionsMainResize(rct_window* w)
static void WindowEditorObjectiveOptionsShowObjectiveDropdown(rct_window* w) static void WindowEditorObjectiveOptionsShowObjectiveDropdown(rct_window* w)
{ {
int32_t numItems = 0, objectiveType; int32_t numItems = 0, objectiveType;
rct_widget* dropdownWidget; Widget* dropdownWidget;
uint32_t parkFlags; uint32_t parkFlags;
dropdownWidget = &w->widgets[WIDX_OBJECTIVE]; dropdownWidget = &w->widgets[WIDX_OBJECTIVE];
@ -412,7 +412,7 @@ static void WindowEditorObjectiveOptionsShowObjectiveDropdown(rct_window* w)
static void WindowEditorObjectiveOptionsShowCategoryDropdown(rct_window* w) static void WindowEditorObjectiveOptionsShowCategoryDropdown(rct_window* w)
{ {
int32_t i; int32_t i;
rct_widget* dropdownWidget; Widget* dropdownWidget;
dropdownWidget = &w->widgets[WIDX_CATEGORY]; dropdownWidget = &w->widgets[WIDX_CATEGORY];
@ -585,7 +585,7 @@ static void WindowEditorObjectiveOptionsArg2Decrease(rct_window* w)
* *
* rct2: 0x00671A0D * rct2: 0x00671A0D
*/ */
static void WindowEditorObjectiveOptionsMainMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowEditorObjectiveOptionsMainMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1013,7 +1013,7 @@ static void WindowEditorObjectiveOptionsRidesScrollmouseover(
*/ */
static void WindowEditorObjectiveOptionsRidesInvalidate(rct_window* w) static void WindowEditorObjectiveOptionsRidesInvalidate(rct_window* w)
{ {
rct_widget* widgets; Widget* widgets;
widgets = window_editor_objective_options_widgets[w->page]; widgets = window_editor_objective_options_widgets[w->page];
if (w->widgets != widgets) if (w->widgets != widgets)

View File

@ -118,7 +118,7 @@ enum {
WIDX_HARD_GUEST_GENERATION WIDX_HARD_GUEST_GENERATION
}; };
static rct_widget window_editor_scenario_options_financial_widgets[] = { static Widget window_editor_scenario_options_financial_widgets[] = {
WINDOW_SHIM(STR_SCENARIO_OPTIONS_FINANCIAL, WW_FINANCIAL, WH_FINANCIAL), WINDOW_SHIM(STR_SCENARIO_OPTIONS_FINANCIAL, WW_FINANCIAL, WH_FINANCIAL),
MakeWidget ({ 0, 43}, { WW_FINANCIAL, 106}, WindowWidgetType::Resize, WindowColour::Secondary ), MakeWidget ({ 0, 43}, { WW_FINANCIAL, 106}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_SCENARIO_OPTIONS_FINANCIAL_TIP), MakeTab ({ 3, 17}, STR_SCENARIO_OPTIONS_FINANCIAL_TIP),
@ -133,7 +133,7 @@ static rct_widget window_editor_scenario_options_financial_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_editor_scenario_options_guests_widgets[] = { static Widget window_editor_scenario_options_guests_widgets[] = {
WINDOW_SHIM(STR_SCENARIO_OPTIONS_GUESTS, WW_GUESTS, WH_GUESTS), WINDOW_SHIM(STR_SCENARIO_OPTIONS_GUESTS, WW_GUESTS, WH_GUESTS),
MakeWidget ({ 0, 43}, { WW_GUESTS, 106}, WindowWidgetType::Resize, WindowColour::Secondary), MakeWidget ({ 0, 43}, { WW_GUESTS, 106}, WindowWidgetType::Resize, WindowColour::Secondary),
MakeRemapWidget ({ 3, 17}, { 31, 27}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP ), MakeRemapWidget ({ 3, 17}, { 31, 27}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP ),
@ -148,7 +148,7 @@ static rct_widget window_editor_scenario_options_guests_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_editor_scenario_options_park_widgets[] = { static Widget window_editor_scenario_options_park_widgets[] = {
WINDOW_SHIM(STR_SCENARIO_OPTIONS_PARK, WW_PARK, WH_PARK), WINDOW_SHIM(STR_SCENARIO_OPTIONS_PARK, WW_PARK, WH_PARK),
MakeWidget ({ 0, 43}, { WW_PARK, 106}, WindowWidgetType::Resize, WindowColour::Secondary ), MakeWidget ({ 0, 43}, { WW_PARK, 106}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeRemapWidget ({ 3, 17}, { 31, 27}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP), MakeRemapWidget ({ 3, 17}, { 31, 27}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP),
@ -169,7 +169,7 @@ static rct_widget window_editor_scenario_options_park_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *window_editor_scenario_options_widgets[] = { static Widget *window_editor_scenario_options_widgets[] = {
window_editor_scenario_options_financial_widgets, window_editor_scenario_options_financial_widgets,
window_editor_scenario_options_guests_widgets, window_editor_scenario_options_guests_widgets,
window_editor_scenario_options_park_widgets, window_editor_scenario_options_park_widgets,
@ -322,7 +322,7 @@ private:
void DrawTabImages(rct_drawpixelinfo& dpi) void DrawTabImages(rct_drawpixelinfo& dpi)
{ {
rct_widget* widget; Widget* widget;
int32_t spriteIndex; int32_t spriteIndex;
// Tab 1 // Tab 1
@ -545,7 +545,7 @@ private:
void FinancialPrepareDraw() void FinancialPrepareDraw()
{ {
rct_widget* newWidgets = window_editor_scenario_options_widgets[page]; Widget* newWidgets = window_editor_scenario_options_widgets[page];
if (widgets != newWidgets) if (widgets != newWidgets)
{ {
widgets = newWidgets; widgets = newWidgets;
@ -803,7 +803,7 @@ private:
void GuestsPrepareDraw() void GuestsPrepareDraw()
{ {
rct_widget* newWidgets = window_editor_scenario_options_widgets[page]; Widget* newWidgets = window_editor_scenario_options_widgets[page];
if (widgets != newWidgets) if (widgets != newWidgets)
{ {
widgets = newWidgets; widgets = newWidgets;
@ -956,8 +956,8 @@ private:
void ParkMouseDown(WidgetIndex widgetIndex) void ParkMouseDown(WidgetIndex widgetIndex)
{ {
rct_widget* dropdownWidget; Widget* dropdownWidget;
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1102,7 +1102,7 @@ private:
void ParkPrepareDraw() void ParkPrepareDraw()
{ {
rct_widget* newWidgets = window_editor_scenario_options_widgets[page]; Widget* newWidgets = window_editor_scenario_options_widgets[page];
if (widgets != newWidgets) if (widgets != newWidgets)
{ {
widgets = newWidgets; widgets = newWidgets;

View File

@ -23,7 +23,7 @@ enum {
WIDX_BACKGROUND WIDX_BACKGROUND
}; };
static rct_widget window_error_widgets[] = { static Widget window_error_widgets[] = {
MakeWidget({0, 0}, {200, 42}, WindowWidgetType::ImgBtn, WindowColour::Primary), MakeWidget({0, 0}, {200, 42}, WindowWidgetType::ImgBtn, WindowColour::Primary),
WIDGETS_END, WIDGETS_END,
}; };

View File

@ -109,7 +109,7 @@ static constexpr const int32_t RSW_OTHER_TABS = WW_OTHER_TABS;
MakeTab({127, 17}, STR_FINANCES_SHOW_MARKETING_TAB_TIP ), \ MakeTab({127, 17}, STR_FINANCES_SHOW_MARKETING_TAB_TIP ), \
MakeTab({158, 17}, STR_FINANCES_RESEARCH_TIP ) MakeTab({158, 17}, STR_FINANCES_RESEARCH_TIP )
static rct_widget _windowFinancesSummaryWidgets[] = static Widget _windowFinancesSummaryWidgets[] =
{ {
MAIN_FINANCES_WIDGETS(STR_FINANCIAL_SUMMARY, RSW_OTHER_TABS, RSH_SUMMARY, WW_OTHER_TABS, WH_SUMMARY), MAIN_FINANCES_WIDGETS(STR_FINANCIAL_SUMMARY, RSW_OTHER_TABS, RSH_SUMMARY, WW_OTHER_TABS, WH_SUMMARY),
MakeWidget ({130, 50}, {391, 211}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_HORIZONTAL ), MakeWidget ({130, 50}, {391, 211}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_HORIZONTAL ),
@ -117,25 +117,25 @@ static rct_widget _windowFinancesSummaryWidgets[] =
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _windowFinancesCashWidgets[] = static Widget _windowFinancesCashWidgets[] =
{ {
MAIN_FINANCES_WIDGETS(STR_FINANCIAL_GRAPH, RSW_OTHER_TABS, RSH_OTHER_TABS, WW_OTHER_TABS, WH_OTHER_TABS), MAIN_FINANCES_WIDGETS(STR_FINANCIAL_GRAPH, RSW_OTHER_TABS, RSH_OTHER_TABS, WW_OTHER_TABS, WH_OTHER_TABS),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _windowFinancesParkValueWidgets[] = static Widget _windowFinancesParkValueWidgets[] =
{ {
MAIN_FINANCES_WIDGETS(STR_PARK_VALUE_GRAPH, RSW_OTHER_TABS, RSH_OTHER_TABS, WW_OTHER_TABS, WH_OTHER_TABS), MAIN_FINANCES_WIDGETS(STR_PARK_VALUE_GRAPH, RSW_OTHER_TABS, RSH_OTHER_TABS, WW_OTHER_TABS, WH_OTHER_TABS),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _windowFinancesProfitWidgets[] = static Widget _windowFinancesProfitWidgets[] =
{ {
MAIN_FINANCES_WIDGETS(STR_PROFIT_GRAPH, RSW_OTHER_TABS, RSH_OTHER_TABS, WW_OTHER_TABS, WH_OTHER_TABS), MAIN_FINANCES_WIDGETS(STR_PROFIT_GRAPH, RSW_OTHER_TABS, RSH_OTHER_TABS, WW_OTHER_TABS, WH_OTHER_TABS),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _windowFinancesMarketingWidgets[] = static Widget _windowFinancesMarketingWidgets[] =
{ {
MAIN_FINANCES_WIDGETS(STR_MARKETING, RSW_OTHER_TABS, RSH_OTHER_TABS, WW_OTHER_TABS, WH_OTHER_TABS), MAIN_FINANCES_WIDGETS(STR_MARKETING, RSW_OTHER_TABS, RSH_OTHER_TABS, WW_OTHER_TABS, WH_OTHER_TABS),
MakeWidget({3, 47}, { WW_OTHER_TABS - 6, 45}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_MARKETING_CAMPAIGNS_IN_OPERATION ), MakeWidget({3, 47}, { WW_OTHER_TABS - 6, 45}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_MARKETING_CAMPAIGNS_IN_OPERATION ),
@ -149,7 +149,7 @@ static rct_widget _windowFinancesMarketingWidgets[] =
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _windowFinancesResearchWidgets[] = static Widget _windowFinancesResearchWidgets[] =
{ {
MAIN_FINANCES_WIDGETS(STR_RESEARCH_FUNDING, RSW_RESEARCH, RSH_RESEARCH, WW_RESEARCH, WH_RESEARCH), MAIN_FINANCES_WIDGETS(STR_RESEARCH_FUNDING, RSW_RESEARCH, RSH_RESEARCH, WW_RESEARCH, WH_RESEARCH),
MakeWidget({ 3, 47}, { WW_RESEARCH - 6, 45}, WindowWidgetType::Groupbox, WindowColour::Tertiary, STR_RESEARCH_FUNDING_ ), MakeWidget({ 3, 47}, { WW_RESEARCH - 6, 45}, WindowWidgetType::Groupbox, WindowColour::Tertiary, STR_RESEARCH_FUNDING_ ),
@ -167,7 +167,7 @@ static rct_widget _windowFinancesResearchWidgets[] =
}; };
// clang-format on // clang-format on
static rct_widget* _windowFinancesPageWidgets[] = { static Widget* _windowFinancesPageWidgets[] = {
_windowFinancesSummaryWidgets, // WINDOW_FINANCES_PAGE_SUMMARY _windowFinancesSummaryWidgets, // WINDOW_FINANCES_PAGE_SUMMARY
_windowFinancesCashWidgets, // WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH _windowFinancesCashWidgets, // WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH
_windowFinancesParkValueWidgets, // WINDOW_FINANCES_PAGE_VALUE_GRAPH _windowFinancesParkValueWidgets, // WINDOW_FINANCES_PAGE_VALUE_GRAPH
@ -363,7 +363,7 @@ public:
auto screenCoords = ScreenCoordsXY{ 0, TABLE_CELL_HEIGHT + 2 }; auto screenCoords = ScreenCoordsXY{ 0, TABLE_CELL_HEIGHT + 2 };
rct_widget self = widgets[WIDX_SUMMARY_SCROLL]; Widget self = widgets[WIDX_SUMMARY_SCROLL];
int32_t row_width = std::max<uint16_t>(scrolls[0].h_right, self.width()); int32_t row_width = std::max<uint16_t>(scrolls[0].h_right, self.width());
// Expenditure / Income row labels // Expenditure / Income row labels
@ -587,7 +587,7 @@ public:
void OnDrawFinancialGraph(rct_drawpixelinfo& dpi) void OnDrawFinancialGraph(rct_drawpixelinfo& dpi)
{ {
rct_widget* pageWidget = &_windowFinancesCashWidgets[WIDX_PAGE_BACKGROUND]; Widget* pageWidget = &_windowFinancesCashWidgets[WIDX_PAGE_BACKGROUND];
auto graphTopLeft = windowPos + ScreenCoordsXY{ pageWidget->left + 4, pageWidget->top + 15 }; auto graphTopLeft = windowPos + ScreenCoordsXY{ pageWidget->left + 4, pageWidget->top + 15 };
auto graphBottomRight = windowPos + ScreenCoordsXY{ pageWidget->right - 4, pageWidget->bottom - 4 }; auto graphBottomRight = windowPos + ScreenCoordsXY{ pageWidget->right - 4, pageWidget->bottom - 4 };
@ -650,7 +650,7 @@ public:
void OnDrawParkValueGraph(rct_drawpixelinfo& dpi) void OnDrawParkValueGraph(rct_drawpixelinfo& dpi)
{ {
rct_widget* pageWidget = &_windowFinancesCashWidgets[WIDX_PAGE_BACKGROUND]; Widget* pageWidget = &_windowFinancesCashWidgets[WIDX_PAGE_BACKGROUND];
auto graphTopLeft = windowPos + ScreenCoordsXY{ pageWidget->left + 4, pageWidget->top + 15 }; auto graphTopLeft = windowPos + ScreenCoordsXY{ pageWidget->left + 4, pageWidget->top + 15 };
auto graphBottomRight = windowPos + ScreenCoordsXY{ pageWidget->right - 4, pageWidget->bottom - 4 }; auto graphBottomRight = windowPos + ScreenCoordsXY{ pageWidget->right - 4, pageWidget->bottom - 4 };
@ -707,7 +707,7 @@ public:
void OnDrawProfitGraph(rct_drawpixelinfo& dpi) void OnDrawProfitGraph(rct_drawpixelinfo& dpi)
{ {
rct_widget* pageWidget = &_windowFinancesCashWidgets[WIDX_PAGE_BACKGROUND]; Widget* pageWidget = &_windowFinancesCashWidgets[WIDX_PAGE_BACKGROUND];
auto graphTopLeft = windowPos + ScreenCoordsXY{ pageWidget->left + 4, pageWidget->top + 15 }; auto graphTopLeft = windowPos + ScreenCoordsXY{ pageWidget->left + 4, pageWidget->top + 15 };
auto graphBottomRight = windowPos + ScreenCoordsXY{ pageWidget->right - 4, pageWidget->bottom - 4 }; auto graphBottomRight = windowPos + ScreenCoordsXY{ pageWidget->right - 4, pageWidget->bottom - 4 };
@ -902,7 +902,7 @@ public:
if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON)
return; return;
rct_widget* dropdownWidget = &widgets[widgetIndex - 1]; Widget* dropdownWidget = &widgets[widgetIndex - 1];
for (std::size_t i = 0; i < std::size(ResearchFundingLevelNames); i++) for (std::size_t i = 0; i < std::size(ResearchFundingLevelNames); i++)
{ {

View File

@ -82,7 +82,7 @@ enum WindowFootpathWidgetIdx
WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL, WIDX_CONSTRUCT_BRIDGE_OR_TUNNEL,
}; };
static rct_widget window_footpath_widgets[] = { static Widget window_footpath_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW_WINDOW, WH_WINDOW), WINDOW_SHIM(WINDOW_TITLE, WW_WINDOW, WH_WINDOW),
// Type group // Type group
@ -630,7 +630,7 @@ private:
* *
* rct2: 0x006A7F88 * rct2: 0x006A7F88
*/ */
void WindowFootpathShowFootpathTypesDialog(rct_widget* widget, bool showQueues) void WindowFootpathShowFootpathTypesDialog(Widget* widget, bool showQueues)
{ {
auto& objManager = OpenRCT2::GetContext()->GetObjectManager(); auto& objManager = OpenRCT2::GetContext()->GetObjectManager();
@ -710,7 +710,7 @@ private:
gDropdownDefaultIndex = static_cast<int32_t>(*defaultIndex); gDropdownDefaultIndex = static_cast<int32_t>(*defaultIndex);
} }
void WindowFootpathShowRailingsTypesDialog(rct_widget* widget) void WindowFootpathShowRailingsTypesDialog(Widget* widget)
{ {
uint32_t numRailingsTypes = 0; uint32_t numRailingsTypes = 0;
// If the game is in sandbox mode, also show paths that are normally restricted to the scenario editor // If the game is in sandbox mode, also show paths that are normally restricted to the scenario editor

View File

@ -48,7 +48,7 @@ enum WindowGameBottomToolbarWidgetIdx
WIDX_DATE WIDX_DATE
}; };
static rct_widget window_game_bottom_toolbar_widgets[] = static Widget window_game_bottom_toolbar_widgets[] =
{ {
MakeWidget({ 0, 0}, {142, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary ), // Left outset panel MakeWidget({ 0, 0}, {142, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary ), // Left outset panel
MakeWidget({ 2, 2}, {138, 30}, WindowWidgetType::ImgBtn, WindowColour::Primary ), // Left inset panel MakeWidget({ 2, 2}, {138, 30}, WindowWidgetType::ImgBtn, WindowColour::Primary ), // Left inset panel
@ -401,7 +401,7 @@ static void WindowGameBottomToolbarDrawLeftPanel(rct_drawpixelinfo* dpi, rct_win
// Draw money // Draw money
if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) if (!(gParkFlags & PARK_FLAGS_NO_MONEY))
{ {
rct_widget widget = window_game_bottom_toolbar_widgets[WIDX_MONEY]; Widget widget = window_game_bottom_toolbar_widgets[WIDX_MONEY];
auto screenCoords = ScreenCoordsXY{ w->windowPos.x + widget.midX(), auto screenCoords = ScreenCoordsXY{ w->windowPos.x + widget.midX(),
w->windowPos.y + widget.midY() - (line_height == 10 ? 5 : 6) }; w->windowPos.y + widget.midY() - (line_height == 10 ? 5 : 6) };
@ -429,7 +429,7 @@ static void WindowGameBottomToolbarDrawLeftPanel(rct_drawpixelinfo* dpi, rct_win
// Draw guests // Draw guests
{ {
rct_widget widget = window_game_bottom_toolbar_widgets[WIDX_GUESTS]; Widget widget = window_game_bottom_toolbar_widgets[WIDX_GUESTS];
auto screenCoords = ScreenCoordsXY{ w->windowPos.x + widget.midX(), w->windowPos.y + widget.midY() - 6 }; auto screenCoords = ScreenCoordsXY{ w->windowPos.x + widget.midX(), w->windowPos.y + widget.midY() - 6 };
StringId stringId = gNumGuestsInPark == 1 ? _guestCountFormatsSingular[gGuestChangeModifier] StringId stringId = gNumGuestsInPark == 1 ? _guestCountFormatsSingular[gGuestChangeModifier]
@ -445,7 +445,7 @@ static void WindowGameBottomToolbarDrawLeftPanel(rct_drawpixelinfo* dpi, rct_win
// Draw park rating // Draw park rating
{ {
rct_widget widget = window_game_bottom_toolbar_widgets[WIDX_PARK_RATING]; Widget widget = window_game_bottom_toolbar_widgets[WIDX_PARK_RATING];
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget.left + 11, widget.midY() - 5 }; auto screenCoords = w->windowPos + ScreenCoordsXY{ widget.left + 11, widget.midY() - 5 };
WindowGameBottomToolbarDrawParkRating( WindowGameBottomToolbarDrawParkRating(
@ -555,7 +555,7 @@ static void WindowGameBottomToolbarDrawNewsItem(rct_drawpixelinfo* dpi, rct_wind
{ {
int32_t width; int32_t width;
News::Item* newsItem; News::Item* newsItem;
rct_widget* middleOutsetWidget; Widget* middleOutsetWidget;
middleOutsetWidget = &window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET]; middleOutsetWidget = &window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET];
newsItem = News::GetItem(0); newsItem = News::GetItem(0);
@ -654,7 +654,7 @@ static void WindowGameBottomToolbarDrawNewsItem(rct_drawpixelinfo* dpi, rct_wind
static void WindowGameBottomToolbarDrawMiddlePanel(rct_drawpixelinfo* dpi, rct_window* w) static void WindowGameBottomToolbarDrawMiddlePanel(rct_drawpixelinfo* dpi, rct_window* w)
{ {
rct_widget* middleOutsetWidget = &window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET]; Widget* middleOutsetWidget = &window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET];
gfx_fill_rect_inset( gfx_fill_rect_inset(
dpi, dpi,

View File

@ -92,7 +92,7 @@ static constexpr int32_t TabWidth = 30;
MakeTab({ 189, 17 }, STR_DEBUG_TIP) /* Tab 7 */ MakeTab({ 189, 17 }, STR_DEBUG_TIP) /* Tab 7 */
// clang-format off // clang-format off
static rct_widget _guestWindowWidgetsOverview[] = { static Widget _guestWindowWidgetsOverview[] = {
MAIN_GUEST_WIDGETS, MAIN_GUEST_WIDGETS,
MakeWidget({ 3, 45}, {164, 12}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // Label Thought marquee MakeWidget({ 3, 45}, {164, 12}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // Label Thought marquee
MakeWidget({ 3, 57}, {164, 87}, WindowWidgetType::Viewport, WindowColour::Secondary ), // Viewport MakeWidget({ 3, 57}, {164, 87}, WindowWidgetType::Viewport, WindowColour::Secondary ), // Viewport
@ -105,33 +105,33 @@ static rct_widget _guestWindowWidgetsOverview[] = {
}; };
// clang-format on // clang-format on
static rct_widget _guestWindowWidgetsStats[] = { static Widget _guestWindowWidgetsStats[] = {
MAIN_GUEST_WIDGETS, MAIN_GUEST_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _guestWindowWidgetsRides[] = { static Widget _guestWindowWidgetsRides[] = {
MAIN_GUEST_WIDGETS, MAIN_GUEST_WIDGETS,
MakeWidget({ 3, 57 }, { 186, 87 }, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL), MakeWidget({ 3, 57 }, { 186, 87 }, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _guestWindowWidgetsFinance[] = { static Widget _guestWindowWidgetsFinance[] = {
MAIN_GUEST_WIDGETS, MAIN_GUEST_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _guestWindowWidgetsThoughts[] = { static Widget _guestWindowWidgetsThoughts[] = {
MAIN_GUEST_WIDGETS, MAIN_GUEST_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _guestWindowWidgetsInventory[] = { static Widget _guestWindowWidgetsInventory[] = {
MAIN_GUEST_WIDGETS, MAIN_GUEST_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _guestWindowWidgetsDebug[] = { static Widget _guestWindowWidgetsDebug[] = {
MAIN_GUEST_WIDGETS, MAIN_GUEST_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
@ -680,7 +680,7 @@ private:
} }
} }
void ShowLocateDropdown(rct_widget& widget) void ShowLocateDropdown(Widget& widget)
{ {
gDropdownItems[0].Format = STR_LOCATE_SUBJECT_TIP; gDropdownItems[0].Format = STR_LOCATE_SUBJECT_TIP;
gDropdownItems[1].Format = STR_FOLLOW_SUBJECT_TIP; gDropdownItems[1].Format = STR_FOLLOW_SUBJECT_TIP;
@ -1757,7 +1757,7 @@ private:
return; return;
} }
rct_widget* pageBackgroundWidget = &widgets[WIDX_PAGE_BACKGROUND]; Widget* pageBackgroundWidget = &widgets[WIDX_PAGE_BACKGROUND];
auto screenCoords = windowPos + ScreenCoordsXY{ pageBackgroundWidget->left + 4, pageBackgroundWidget->top + 2 }; auto screenCoords = windowPos + ScreenCoordsXY{ pageBackgroundWidget->left + 4, pageBackgroundWidget->top + 2 };
int32_t itemNameWidth = pageBackgroundWidget->width() - 8; int32_t itemNameWidth = pageBackgroundWidget->width() - 8;

View File

@ -50,7 +50,7 @@ enum WindowGuestListWidgetIdx
}; };
// clang-format off // clang-format off
static rct_widget window_guest_list_widgets[] = { static Widget window_guest_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {350, 287}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab content panel MakeWidget({ 0, 43}, {350, 287}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab content panel
MakeWidget({ 5, 59}, { 80, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_ARG_4_PAGE_X ), // page dropdown MakeWidget({ 5, 59}, { 80, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_ARG_4_PAGE_X ), // page dropdown

View File

@ -47,7 +47,7 @@ static constexpr const int32_t WH = 460;
constexpr int32_t PREVIEW_BUTTONS_LEFT = WW - 25; constexpr int32_t PREVIEW_BUTTONS_LEFT = WW - 25;
constexpr int32_t ACTION_BUTTONS_LEFT = WW - 100; constexpr int32_t ACTION_BUTTONS_LEFT = WW - 100;
static rct_widget window_install_track_widgets[] = { static Widget window_install_track_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 4, 18}, {372, 219}, WindowWidgetType::FlatBtn, WindowColour::Primary ), MakeWidget({ 4, 18}, {372, 219}, WindowWidgetType::FlatBtn, WindowColour::Primary ),
MakeWidget({PREVIEW_BUTTONS_LEFT, 422}, { 22, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP ), MakeWidget({PREVIEW_BUTTONS_LEFT, 422}, { 22, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP ),
@ -151,7 +151,7 @@ public:
DrawWidgets(dpi); DrawWidgets(dpi);
// Track preview // Track preview
rct_widget* widget = &window_install_track_widgets[WIDX_TRACK_PREVIEW]; Widget* widget = &window_install_track_widgets[WIDX_TRACK_PREVIEW];
auto screenPos = windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 }; auto screenPos = windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
int32_t colour = ColourMapA[colours[0]].darkest; int32_t colour = ColourMapA[colours[0]].darkest;
gfx_fill_rect(&dpi, { screenPos, screenPos + ScreenCoordsXY{ 369, 216 } }, colour); gfx_fill_rect(&dpi, { screenPos, screenPos + ScreenCoordsXY{ 369, 216 } }, colour);

View File

@ -39,7 +39,7 @@ enum WindowLandWidgetIdx {
WIDX_WALL, WIDX_WALL,
}; };
static rct_widget window_land_widgets[] = { static Widget window_land_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({19, 19}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_ENABLE_MOUNTAIN_TOOL_TIP), // mountain mode MakeWidget ({19, 19}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_ENABLE_MOUNTAIN_TOOL_TIP), // mountain mode
MakeWidget ({55, 19}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PAINTBRUSH, STR_DISABLE_ELEVATION), // paint mode MakeWidget ({55, 19}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PAINTBRUSH, STR_DISABLE_ELEVATION), // paint mode
@ -117,7 +117,7 @@ public:
void OnMouseDown(WidgetIndex widgetIndex) override void OnMouseDown(WidgetIndex widgetIndex) override
{ {
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
switch (widgetIndex) switch (widgetIndex)
{ {
case WIDX_FLOOR: case WIDX_FLOOR:
@ -235,7 +235,7 @@ public:
ScreenCoordsXY screenCoords; ScreenCoordsXY screenCoords;
int32_t numTiles; int32_t numTiles;
money64 price; money64 price;
rct_widget* previewWidget = &widgets[WIDX_PREVIEW]; Widget* previewWidget = &widgets[WIDX_PREVIEW];
DrawWidgets(dpi); DrawWidgets(dpi);
DrawDropdownButtons(dpi); DrawDropdownButtons(dpi);

View File

@ -38,7 +38,7 @@ enum WindowLandRightsWidgetIdx {
WIDX_BUY_CONSTRUCTION_RIGHTS WIDX_BUY_CONSTRUCTION_RIGHTS
}; };
static rct_widget window_land_rights_widgets[] = { static Widget window_land_rights_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({27, 17}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0 ), // preview box MakeWidget ({27, 17}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0 ), // preview box
MakeRemapWidget({28, 18}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Tertiary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_RIGHTS_TIP), // decrement size MakeRemapWidget({28, 18}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Tertiary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_RIGHTS_TIP), // decrement size

View File

@ -64,7 +64,7 @@ enum
}; };
// clang-format off // clang-format off
static rct_widget window_loadsave_widgets[] = static Widget window_loadsave_widgets[] =
{ {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, WH - 1}, { WW, 1}, WindowWidgetType::Resize, WindowColour::Secondary ), // WIDX_RESIZE MakeWidget({ 0, WH - 1}, { WW, 1}, WindowWidgetType::Resize, WindowColour::Secondary ), // WIDX_RESIZE
@ -715,7 +715,7 @@ public:
{ {
ResizeFrameWithPage(); ResizeFrameWithPage();
rct_widget* date_widget = &window_loadsave_widgets[WIDX_SORT_DATE]; Widget* date_widget = &window_loadsave_widgets[WIDX_SORT_DATE];
date_widget->right = width - 5; date_widget->right = width - 5;
date_widget->left = date_widget->right - (maxDateWidth + maxTimeWidth + (4 * DATE_TIME_GAP) + (SCROLLBAR_WIDTH + 1)); date_widget->left = date_widget->right - (maxDateWidth + maxTimeWidth + (4 * DATE_TIME_GAP) + (SCROLLBAR_WIDTH + 1));
@ -758,7 +758,7 @@ public:
id = STR_DOWN; id = STR_DOWN;
// Draw name button indicator. // Draw name button indicator.
rct_widget sort_name_widget = window_loadsave_widgets[WIDX_SORT_NAME]; Widget sort_name_widget = window_loadsave_widgets[WIDX_SORT_NAME];
ft = Formatter(); ft = Formatter();
ft.Add<StringId>(id); ft.Add<StringId>(id);
DrawTextBasic( DrawTextBasic(
@ -773,7 +773,7 @@ public:
else else
id = STR_NONE; id = STR_NONE;
rct_widget sort_date_widget = window_loadsave_widgets[WIDX_SORT_DATE]; Widget sort_date_widget = window_loadsave_widgets[WIDX_SORT_DATE];
ft = Formatter(); ft = Formatter();
ft.Add<StringId>(id); ft.Add<StringId>(id);
DrawTextBasic( DrawTextBasic(
@ -1101,7 +1101,7 @@ enum
WIDX_OVERWRITE_CANCEL WIDX_OVERWRITE_CANCEL
}; };
static rct_widget window_overwrite_prompt_widgets[] = { static Widget window_overwrite_prompt_widgets[] = {
WINDOW_SHIM_WHITE(STR_FILEBROWSER_OVERWRITE_TITLE, OVERWRITE_WW, OVERWRITE_WH), WINDOW_SHIM_WHITE(STR_FILEBROWSER_OVERWRITE_TITLE, OVERWRITE_WW, OVERWRITE_WH),
{ WindowWidgetType::Button, 0, 10, 94, OVERWRITE_WH - 20, OVERWRITE_WH - 9, STR_FILEBROWSER_OVERWRITE_TITLE, STR_NONE }, { WindowWidgetType::Button, 0, 10, 94, OVERWRITE_WH - 20, OVERWRITE_WH - 9, STR_FILEBROWSER_OVERWRITE_TITLE, STR_NONE },
{ WindowWidgetType::Button, 0, OVERWRITE_WW - 95, OVERWRITE_WW - 11, OVERWRITE_WH - 20, OVERWRITE_WH - 9, { WindowWidgetType::Button, 0, OVERWRITE_WW - 95, OVERWRITE_WW - 11, OVERWRITE_WH - 20, OVERWRITE_WH - 9,

View File

@ -16,7 +16,7 @@
#include <openrct2/world/Footpath.h> #include <openrct2/world/Footpath.h>
// clang-format off // clang-format off
static rct_widget _mainWidgets[] = { static Widget _mainWidgets[] = {
MakeWidget({0, 0}, {0, 0}, WindowWidgetType::Viewport, WindowColour::Primary, STR_VIEWPORT), MakeWidget({0, 0}, {0, 0}, WindowWidgetType::Viewport, WindowColour::Primary, STR_VIEWPORT),
WIDGETS_END, WIDGETS_END,
}; };

View File

@ -100,7 +100,7 @@ enum WindowMapWidgetIdx
validate_global_widx(WC_MAP, WIDX_ROTATE_90); validate_global_widx(WC_MAP, WIDX_ROTATE_90);
// clang-format off // clang-format off
static rct_widget window_map_widgets[] = { static Widget window_map_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ 0, 43}, {245, 215}, WindowWidgetType::Resize, WindowColour::Secondary ), MakeWidget ({ 0, 43}, {245, 215}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeRemapWidget ({ 3, 17}, { 31, 27}, WindowWidgetType::ColourBtn, WindowColour::Secondary, SPR_TAB, STR_SHOW_PEOPLE_ON_MAP_TIP ), MakeRemapWidget ({ 3, 17}, { 31, 27}, WindowWidgetType::ColourBtn, WindowColour::Secondary, SPR_TAB, STR_SHOW_PEOPLE_ON_MAP_TIP ),

View File

@ -132,7 +132,7 @@ static constexpr const int32_t WH = 273;
MakeTab ({65, 17} ), /* WIDX_TAB_3 */ \ MakeTab ({65, 17} ), /* WIDX_TAB_3 */ \
MakeTab ({96, 17} ) /* WIDX_TAB_4 */ MakeTab ({96, 17} ) /* WIDX_TAB_4 */
static rct_widget MapWidgets[] = { static Widget MapWidgets[] = {
SHARED_WIDGETS, SHARED_WIDGETS,
MakeWidget ({155, 255}, {90, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ), MakeWidget ({155, 255}, {90, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ),
MakeSpinnerWidgets({104, 52}, {50, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_COMMA16 ), // NB: 3 widgets MakeSpinnerWidgets({104, 52}, {50, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_COMMA16 ), // NB: 3 widgets
@ -145,7 +145,7 @@ static rct_widget MapWidgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget RandomWidgets[] = { static Widget RandomWidgets[] = {
SHARED_WIDGETS, SHARED_WIDGETS,
MakeWidget({155, 255}, { 90, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ), MakeWidget({155, 255}, { 90, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ),
MakeWidget({ 4, 52}, {195, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAPGEN_OPTION_RANDOM_TERRAIN), MakeWidget({ 4, 52}, {195, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAPGEN_OPTION_RANDOM_TERRAIN),
@ -153,7 +153,7 @@ static rct_widget RandomWidgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget SimplexWidgets[] = { static Widget SimplexWidgets[] = {
SHARED_WIDGETS, SHARED_WIDGETS,
MakeWidget ({155, 255}, { 90, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ), // WIDX_SIMPLEX_GENERATE MakeWidget ({155, 255}, { 90, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ), // WIDX_SIMPLEX_GENERATE
MakeWidget ({ 4, 52}, {195, 12}, WindowWidgetType::LabelCentred, WindowColour::Secondary, STR_MAPGEN_SIMPLEX_NOISE ), // WIDX_SIMPLEX_LABEL MakeWidget ({ 4, 52}, {195, 12}, WindowWidgetType::LabelCentred, WindowColour::Secondary, STR_MAPGEN_SIMPLEX_NOISE ), // WIDX_SIMPLEX_LABEL
@ -172,7 +172,7 @@ static rct_widget SimplexWidgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget HeightmapWidgets[] = { static Widget HeightmapWidgets[] = {
SHARED_WIDGETS, SHARED_WIDGETS,
MakeWidget ({ 95, 255}, {150, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_SELECT_HEIGHTMAP), // WIDX_HEIGHTMAP_SELECT MakeWidget ({ 95, 255}, {150, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_SELECT_HEIGHTMAP), // WIDX_HEIGHTMAP_SELECT
MakeWidget ({ 4, 52}, {100, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAPGEN_SMOOTH_HEIGHTMAP), // WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP MakeWidget ({ 4, 52}, {100, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAPGEN_SMOOTH_HEIGHTMAP), // WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP
@ -186,7 +186,7 @@ static rct_widget HeightmapWidgets[] = {
}; };
// clang-format on // clang-format on
static rct_widget* PageWidgets[WINDOW_MAPGEN_PAGE_COUNT] = { static Widget* PageWidgets[WINDOW_MAPGEN_PAGE_COUNT] = {
MapWidgets, MapWidgets,
RandomWidgets, RandomWidgets,
SimplexWidgets, SimplexWidgets,
@ -201,7 +201,7 @@ static void WindowMapgenSharedClose(rct_window* w);
static void WindowMapgenSharedMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowMapgenSharedMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowMapgenBaseMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowMapgenBaseMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowMapgenBaseMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowMapgenBaseMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowMapgenBaseDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowMapgenBaseDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowMapgenBaseUpdate(rct_window* w); static void WindowMapgenBaseUpdate(rct_window* w);
static void WindowMapgenTextinput(rct_window* w, WidgetIndex widgetIndex, char* text); static void WindowMapgenTextinput(rct_window* w, WidgetIndex widgetIndex, char* text);
@ -209,20 +209,20 @@ static void WindowMapgenBaseInvalidate(rct_window* w);
static void WindowMapgenBasePaint(rct_window* w, rct_drawpixelinfo* dpi); static void WindowMapgenBasePaint(rct_window* w, rct_drawpixelinfo* dpi);
static void WindowMapgenRandomMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowMapgenRandomMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowMapgenRandomMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowMapgenRandomMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowMapgenRandomUpdate(rct_window* w); static void WindowMapgenRandomUpdate(rct_window* w);
static void WindowMapgenRandomInvalidate(rct_window* w); static void WindowMapgenRandomInvalidate(rct_window* w);
static void WindowMapgenRandomPaint(rct_window* w, rct_drawpixelinfo* dpi); static void WindowMapgenRandomPaint(rct_window* w, rct_drawpixelinfo* dpi);
static void WindowMapgenSimplexMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowMapgenSimplexMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowMapgenSimplexMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowMapgenSimplexMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowMapgenSimplexDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowMapgenSimplexDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowMapgenSimplexUpdate(rct_window* w); static void WindowMapgenSimplexUpdate(rct_window* w);
static void WindowMapgenSimplexInvalidate(rct_window* w); static void WindowMapgenSimplexInvalidate(rct_window* w);
static void WindowMapgenSimplexPaint(rct_window* w, rct_drawpixelinfo* dpi); static void WindowMapgenSimplexPaint(rct_window* w, rct_drawpixelinfo* dpi);
static void WindowMapgenHeightmapMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowMapgenHeightmapMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowMapgenHeightmapMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowMapgenHeightmapMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowMapgenHeightmapInvalidate(rct_window* w); static void WindowMapgenHeightmapInvalidate(rct_window* w);
static void WindowMapgenHeightmapPaint(rct_window* w, rct_drawpixelinfo* dpi); static void WindowMapgenHeightmapPaint(rct_window* w, rct_drawpixelinfo* dpi);
@ -523,7 +523,7 @@ static void WindowMapgenBaseMouseup(rct_window* w, WidgetIndex widgetIndex)
} }
} }
static void WindowMapgenBaseMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowMapgenBaseMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {
@ -800,7 +800,7 @@ static void WindowMapgenRandomMouseup(rct_window* w, WidgetIndex widgetIndex)
} }
} }
static void WindowMapgenRandomMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowMapgenRandomMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
} }
@ -878,7 +878,7 @@ static void WindowMapgenSimplexMouseup(rct_window* w, WidgetIndex widgetIndex)
} }
} }
static void WindowMapgenSimplexMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowMapgenSimplexMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1114,7 +1114,7 @@ static void WindowMapgenSimplexPaint(rct_window* w, rct_drawpixelinfo* dpi)
#pragma region Heightmap page #pragma region Heightmap page
static void WindowMapgenHeightmapMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowMapgenHeightmapMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {

View File

@ -18,7 +18,7 @@
#include <openrct2/localisation/Localisation.h> #include <openrct2/localisation/Localisation.h>
// clang-format off // clang-format off
static rct_widget window_map_tooltip_widgets[] = { static Widget window_map_tooltip_widgets[] = {
MakeWidget({0, 0}, {200, 30}, WindowWidgetType::ImgBtn, WindowColour::Primary), MakeWidget({0, 0}, {200, 30}, WindowWidgetType::ImgBtn, WindowColour::Primary),
WIDGETS_END, WIDGETS_END,
}; };

View File

@ -50,7 +50,7 @@ enum {
WIDX_MAZE_EXIT, WIDX_MAZE_EXIT,
}; };
static rct_widget window_maze_construction_widgets[] = { static Widget window_maze_construction_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 3, 17}, {160, 55}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_RIDE_CONSTRUCTION_MODE ), MakeWidget({ 3, 17}, {160, 55}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_RIDE_CONSTRUCTION_MODE ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ), MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),

View File

@ -68,12 +68,12 @@ enum WindowMultiplayerWidgetIdx {
MakeTab ({ 65, 17}, STR_GROUPS_TIP ), /* tab */ \ MakeTab ({ 65, 17}, STR_GROUPS_TIP ), /* tab */ \
MakeTab ({ 96, 17}, STR_OPTIONS_TIP ) /* tab */ MakeTab ({ 96, 17}, STR_OPTIONS_TIP ) /* tab */
static rct_widget window_multiplayer_information_widgets[] = { static Widget window_multiplayer_information_widgets[] = {
MAIN_MULTIPLAYER_WIDGETS, MAIN_MULTIPLAYER_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_multiplayer_players_widgets[] = { static Widget window_multiplayer_players_widgets[] = {
MAIN_MULTIPLAYER_WIDGETS, MAIN_MULTIPLAYER_WIDGETS,
MakeWidget({ 3, 46}, {173, 15}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_PLAYER ), // Player name MakeWidget({ 3, 46}, {173, 15}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_PLAYER ), // Player name
MakeWidget({176, 46}, { 83, 15}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_GROUP ), // Player name MakeWidget({176, 46}, { 83, 15}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_GROUP ), // Player name
@ -83,7 +83,7 @@ static rct_widget window_multiplayer_players_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_multiplayer_groups_widgets[] = { static Widget window_multiplayer_groups_widgets[] = {
MAIN_MULTIPLAYER_WIDGETS, MAIN_MULTIPLAYER_WIDGETS,
MakeWidget({141, 46}, {175, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // default group MakeWidget({141, 46}, {175, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // default group
MakeWidget({305, 47}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH), MakeWidget({305, 47}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH),
@ -96,7 +96,7 @@ static rct_widget window_multiplayer_groups_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_multiplayer_options_widgets[] = { static Widget window_multiplayer_options_widgets[] = {
MAIN_MULTIPLAYER_WIDGETS, MAIN_MULTIPLAYER_WIDGETS,
MakeWidget({3, 50}, {295, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_LOG_CHAT, STR_LOG_CHAT_TIP ), MakeWidget({3, 50}, {295, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_LOG_CHAT, STR_LOG_CHAT_TIP ),
MakeWidget({3, 64}, {295, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_LOG_SERVER_ACTIONS, STR_LOG_SERVER_ACTIONS_TIP ), MakeWidget({3, 64}, {295, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_LOG_SERVER_ACTIONS, STR_LOG_SERVER_ACTIONS_TIP ),
@ -104,7 +104,7 @@ static rct_widget window_multiplayer_options_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *window_multiplayer_page_widgets[] = { static Widget *window_multiplayer_page_widgets[] = {
window_multiplayer_information_widgets, window_multiplayer_information_widgets,
window_multiplayer_players_widgets, window_multiplayer_players_widgets,
window_multiplayer_groups_widgets, window_multiplayer_groups_widgets,
@ -138,7 +138,7 @@ static void WindowMultiplayerPlayersScrollpaint(rct_window *w, rct_drawpixelinfo
static void WindowMultiplayerGroupsMouseup(rct_window *w, WidgetIndex widgetIndex); static void WindowMultiplayerGroupsMouseup(rct_window *w, WidgetIndex widgetIndex);
static void WindowMultiplayerGroupsResize(rct_window *w); static void WindowMultiplayerGroupsResize(rct_window *w);
static void WindowMultiplayerGroupsMousedown(rct_window *w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowMultiplayerGroupsMousedown(rct_window *w, WidgetIndex widgetIndex, Widget* widget);
static void WindowMultiplayerGroupsDropdown(rct_window *w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowMultiplayerGroupsDropdown(rct_window *w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowMultiplayerGroupsUpdate(rct_window *w); static void WindowMultiplayerGroupsUpdate(rct_window *w);
static void WindowMultiplayerGroupsScrollgetsize(rct_window *w, int32_t scrollIndex, int32_t *width, int32_t *height); static void WindowMultiplayerGroupsScrollgetsize(rct_window *w, int32_t scrollIndex, int32_t *width, int32_t *height);
@ -278,9 +278,9 @@ static void WindowMultiplayerSetPressedTab(rct_window* w)
w->pressed_widgets |= 1LL << (WIDX_TAB1 + w->page); w->pressed_widgets |= 1LL << (WIDX_TAB1 + w->page);
} }
static void WindowMultiplayerGroupsShowGroupDropdown(rct_window* w, rct_widget* widget) static void WindowMultiplayerGroupsShowGroupDropdown(rct_window* w, Widget* widget)
{ {
rct_widget* dropdownWidget; Widget* dropdownWidget;
int32_t numItems, i; int32_t numItems, i;
dropdownWidget = widget - 1; dropdownWidget = widget - 1;
@ -724,7 +724,7 @@ static void WindowMultiplayerGroupsResize(rct_window* w)
w->Invalidate(); w->Invalidate();
} }
static void WindowMultiplayerGroupsMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowMultiplayerGroupsMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {
@ -850,7 +850,7 @@ static void WindowMultiplayerGroupsPaint(rct_window* w, rct_drawpixelinfo* dpi)
WindowDrawWidgets(*w, dpi); WindowDrawWidgets(*w, dpi);
WindowMultiplayerDrawTabImages(w, dpi); WindowMultiplayerDrawTabImages(w, dpi);
rct_widget* widget = &window_multiplayer_groups_widgets[WIDX_DEFAULT_GROUP]; Widget* widget = &window_multiplayer_groups_widgets[WIDX_DEFAULT_GROUP];
int32_t group = network_get_group_index(network_get_default_group()); int32_t group = network_get_group_index(network_get_default_group());
if (group != -1) if (group != -1)
{ {

View File

@ -22,7 +22,7 @@ enum WindowNetworkStatusWidgetIdx {
WIDX_PASSWORD WIDX_PASSWORD
}; };
static rct_widget window_network_status_widgets[] = { static Widget window_network_status_widgets[] = {
MakeWidget({ 0, 0}, {441, 91}, WindowWidgetType::Frame, WindowColour::Primary ), // panel / background MakeWidget({ 0, 0}, {441, 91}, WindowWidgetType::Frame, WindowColour::Primary ), // panel / background
MakeWidget({ 1, 1}, {438, 14}, WindowWidgetType::Caption, WindowColour::Primary, STR_NONE, STR_WINDOW_TITLE_TIP), // title bar MakeWidget({ 1, 1}, {438, 14}, WindowWidgetType::Caption, WindowColour::Primary, STR_NONE, STR_WINDOW_TITLE_TIP), // title bar
MakeWidget({427, 2}, { 11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), // close x button MakeWidget({427, 2}, { 11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), // close x button

View File

@ -44,7 +44,7 @@ enum WindowNewCampaignWidgetIdx {
WIDX_START_BUTTON WIDX_START_BUTTON
}; };
static rct_widget window_new_campaign_widgets[] = { static Widget window_new_campaign_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ 14, 24}, {126, 12}, WindowWidgetType::Label, WindowColour::Primary, STR_EMPTY ), // ride label MakeWidget ({ 14, 24}, {126, 12}, WindowWidgetType::Label, WindowColour::Primary, STR_EMPTY ), // ride label
MakeWidget ({100, 24}, {242, 12}, WindowWidgetType::DropdownMenu, WindowColour::Primary, STR_EMPTY ), // ride dropdown MakeWidget ({100, 24}, {242, 12}, WindowWidgetType::DropdownMenu, WindowColour::Primary, STR_EMPTY ), // ride dropdown
@ -177,8 +177,8 @@ public:
void OnMouseDown(WidgetIndex widgetIndex) override void OnMouseDown(WidgetIndex widgetIndex) override
{ {
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
rct_widget* dropdownWidget; Widget* dropdownWidget;
switch (widgetIndex) switch (widgetIndex)
{ {
@ -349,7 +349,7 @@ public:
DrawWidgets(dpi); DrawWidgets(dpi);
// Number of weeks // Number of weeks
rct_widget* spinnerWidget = &widgets[WIDX_WEEKS_SPINNER]; Widget* spinnerWidget = &widgets[WIDX_WEEKS_SPINNER];
auto ft = Formatter(); auto ft = Formatter();
ft.Add<int16_t>(campaign.no_weeks); ft.Add<int16_t>(campaign.no_weeks);
DrawTextBasic( DrawTextBasic(

View File

@ -200,7 +200,7 @@ static constexpr const ScreenCoordsXY GroupByTrackTypeOrigin{ WindowWidth - 8 -
static constexpr const ScreenSize GroupTrackTypeSize{ GroupByTrackTypeWidth, 14 }; static constexpr const ScreenSize GroupTrackTypeSize{ GroupByTrackTypeWidth, 14 };
// clang-format off // clang-format off
static rct_widget window_new_ride_widgets[] = { static Widget window_new_ride_widgets[] = {
WINDOW_SHIM(WindowTitle, WindowWidth, WindowHeight), WINDOW_SHIM(WindowTitle, WindowWidth, WindowHeight),
MakeWidget({ 0, 43}, {601, 339}, WindowWidgetType::Resize, WindowColour::Secondary ), MakeWidget({ 0, 43}, {601, 339}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_TRANSPORT_RIDES_TIP ), MakeTab ({ 3, 17}, STR_TRANSPORT_RIDES_TIP ),
@ -812,7 +812,7 @@ private:
int32_t scrollWidth = 0; int32_t scrollWidth = 0;
int32_t scrollHeight = 0; int32_t scrollHeight = 0;
window_get_scroll_size(this, 0, &scrollWidth, &scrollHeight); window_get_scroll_size(this, 0, &scrollWidth, &scrollHeight);
const rct_widget& listWidget = widgets[WIDX_RIDE_LIST]; const Widget& listWidget = widgets[WIDX_RIDE_LIST];
const int32_t listWidgetHeight = listWidget.bottom - listWidget.top - 1; const int32_t listWidgetHeight = listWidget.bottom - listWidget.top - 1;
// Ensure the current tab scroll is within range // Ensure the current tab scroll is within range

View File

@ -35,7 +35,7 @@ enum WindowNewsWidgetIdx {
}; };
static rct_widget window_news_widgets[] = { static Widget window_news_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({372, 18}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_TAB_GEARS_0), // settings MakeWidget({372, 18}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_TAB_GEARS_0), // settings
MakeWidget({ 4, 44}, {392, 252}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_VERTICAL), // scroll MakeWidget({ 4, 44}, {392, 252}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_VERTICAL), // scroll
@ -61,7 +61,7 @@ public:
_pressedNewsItemIndex = -1; _pressedNewsItemIndex = -1;
int32_t w = 0, h = 0; int32_t w = 0, h = 0;
rct_widget* widget = &widgets[WIDX_SCROLL]; Widget* widget = &widgets[WIDX_SCROLL];
window_get_scroll_size(this, 0, &w, &h); window_get_scroll_size(this, 0, &w, &h);
scrolls[0].v_top = std::max(0, h - (widget->height() - 1)); scrolls[0].v_top = std::max(0, h - (widget->height() - 1));
WidgetScrollUpdateThumbs(*this, WIDX_SCROLL); WidgetScrollUpdateThumbs(*this, WIDX_SCROLL);

View File

@ -68,7 +68,7 @@ enum WindowNewsOptionsWidgetIdx
WIDX_CHECKBOX_0 WIDX_CHECKBOX_0
}; };
static rct_widget WindowNewsOptionsWidgets[] = { static Widget WindowNewsOptionsWidgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {400, 257}, WindowWidgetType::Resize, WindowColour::Secondary), // Tab content panel MakeWidget({ 0, 43}, {400, 257}, WindowWidgetType::Resize, WindowColour::Secondary), // Tab content panel
MakeTab ({ 3, 17} ), // Park tab MakeTab ({ 3, 17} ), // Park tab
@ -158,7 +158,7 @@ public:
int32_t y = baseCheckBox.top; int32_t y = baseCheckBox.top;
int32_t checkboxWidgetIndex = WIDX_CHECKBOX_0; int32_t checkboxWidgetIndex = WIDX_CHECKBOX_0;
rct_widget* checkboxWidget = &widgets[checkboxWidgetIndex]; Widget* checkboxWidget = &widgets[checkboxWidgetIndex];
for (size_t i = 0; i < std::size(NewsItemOptionDefinitions); i++) for (size_t i = 0; i < std::size(NewsItemOptionDefinitions); i++)
{ {
const NotificationDef* ndef = &NewsItemOptionDefinitions[i]; const NotificationDef* ndef = &NewsItemOptionDefinitions[i];

View File

@ -272,7 +272,7 @@ constexpr int32_t NAME_COL_LEFT = 4;
constexpr int32_t SOURCE_COL_LEFT = (WW_LESS_PADDING / 4) + 1; constexpr int32_t SOURCE_COL_LEFT = (WW_LESS_PADDING / 4) + 1;
constexpr int32_t TYPE_COL_LEFT = 5 * WW_LESS_PADDING / 8 + 1; constexpr int32_t TYPE_COL_LEFT = 5 * WW_LESS_PADDING / 8 + 1;
static rct_widget window_object_load_error_widgets[] = { static Widget window_object_load_error_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ NAME_COL_LEFT, 57}, {108, 14}, WindowWidgetType::TableHeader, WindowColour::Primary, STR_OBJECT_NAME ), // 'Object name' header MakeWidget({ NAME_COL_LEFT, 57}, {108, 14}, WindowWidgetType::TableHeader, WindowColour::Primary, STR_OBJECT_NAME ), // 'Object name' header
MakeWidget({SOURCE_COL_LEFT, 57}, {166, 14}, WindowWidgetType::TableHeader, WindowColour::Primary, STR_OBJECT_SOURCE ), // 'Object source' header MakeWidget({SOURCE_COL_LEFT, 57}, {166, 14}, WindowWidgetType::TableHeader, WindowColour::Primary, STR_OBJECT_SOURCE ), // 'Object source' header

View File

@ -227,7 +227,7 @@ static constexpr const int32_t WH = 332;
MakeTab ({158, 17}, STR_OPTIONS_MISCELLANEOUS_TIP ), \ MakeTab ({158, 17}, STR_OPTIONS_MISCELLANEOUS_TIP ), \
MakeTab ({189, 17}, STR_OPTIONS_ADVANCED ) MakeTab ({189, 17}, STR_OPTIONS_ADVANCED )
static rct_widget window_options_display_widgets[] = { static Widget window_options_display_widgets[] = {
MAIN_OPTIONS_WIDGETS, MAIN_OPTIONS_WIDGETS,
MakeWidget ({ 5, 53}, {300, 170}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_HARDWARE_GROUP ), // Hardware group MakeWidget ({ 5, 53}, {300, 170}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_HARDWARE_GROUP ), // Hardware group
MakeWidget ({ 10, 67}, {145, 12}, WindowWidgetType::Label, WindowColour::Secondary, STR_FULLSCREEN_MODE, STR_FULLSCREEN_MODE_TIP ), // Fullscreen MakeWidget ({ 10, 67}, {145, 12}, WindowWidgetType::Label, WindowColour::Secondary, STR_FULLSCREEN_MODE, STR_FULLSCREEN_MODE_TIP ), // Fullscreen
@ -251,7 +251,7 @@ static rct_widget window_options_display_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_options_rendering_widgets[] = { static Widget window_options_rendering_widgets[] = {
MAIN_OPTIONS_WIDGETS, MAIN_OPTIONS_WIDGETS,
#define FRAME_RENDERING_START 53 #define FRAME_RENDERING_START 53
MakeWidget({ 5, FRAME_RENDERING_START + 0}, {300, 108}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_RENDERING_GROUP ), // Rendering group MakeWidget({ 5, FRAME_RENDERING_START + 0}, {300, 108}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_RENDERING_GROUP ), // Rendering group
@ -275,7 +275,7 @@ static rct_widget window_options_rendering_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_options_culture_widgets[] = { static Widget window_options_culture_widgets[] = {
MAIN_OPTIONS_WIDGETS, MAIN_OPTIONS_WIDGETS,
MakeWidget({ 10, 53}, {145, 12}, WindowWidgetType::Label, WindowColour::Secondary, STR_OPTIONS_LANGUAGE, STR_LANGUAGE_TIP ), // language MakeWidget({ 10, 53}, {145, 12}, WindowWidgetType::Label, WindowColour::Secondary, STR_OPTIONS_LANGUAGE, STR_LANGUAGE_TIP ), // language
MakeWidget({155, 53}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_STRING ), MakeWidget({155, 53}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_STRING ),
@ -298,7 +298,7 @@ static rct_widget window_options_culture_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_options_audio_widgets[] = { static Widget window_options_audio_widgets[] = {
MAIN_OPTIONS_WIDGETS, MAIN_OPTIONS_WIDGETS,
MakeWidget({ 10, 53}, {290, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Audio device MakeWidget({ 10, 53}, {290, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Audio device
MakeWidget({288, 54}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_AUDIO_DEVICE_TIP ), MakeWidget({288, 54}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_AUDIO_DEVICE_TIP ),
@ -315,7 +315,7 @@ static rct_widget window_options_audio_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_options_controls_and_interface_widgets[] = { static Widget window_options_controls_and_interface_widgets[] = {
MAIN_OPTIONS_WIDGETS, MAIN_OPTIONS_WIDGETS,
#define CONTROLS_GROUP_START 53 #define CONTROLS_GROUP_START 53
MakeWidget({ 5, CONTROLS_GROUP_START + 0}, {300, 92}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CONTROLS_GROUP ), // Controls group MakeWidget({ 5, CONTROLS_GROUP_START + 0}, {300, 92}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CONTROLS_GROUP ), // Controls group
@ -351,7 +351,7 @@ static rct_widget window_options_controls_and_interface_widgets[] = {
#define SCENARIO_OPTIONS_START (SCENARIO_START + 55) #define SCENARIO_OPTIONS_START (SCENARIO_START + 55)
#define TWEAKS_START (SCENARIO_OPTIONS_START + 39) #define TWEAKS_START (SCENARIO_OPTIONS_START + 39)
static rct_widget window_options_misc_widgets[] = { static Widget window_options_misc_widgets[] = {
MAIN_OPTIONS_WIDGETS, MAIN_OPTIONS_WIDGETS,
MakeWidget( { 5, TITLE_SEQUENCE_START + 0}, {300, 31}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_OPTIONS_TITLE_SEQUENCE ), MakeWidget( { 5, TITLE_SEQUENCE_START + 0}, {300, 31}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_OPTIONS_TITLE_SEQUENCE ),
MakeDropdownWidgets({ 10, TITLE_SEQUENCE_START + 15}, {290, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_STRINGID, STR_TITLE_SEQUENCE_TIP), // Title sequence dropdown MakeDropdownWidgets({ 10, TITLE_SEQUENCE_START + 15}, {290, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_STRINGID, STR_TITLE_SEQUENCE_TIP), // Title sequence dropdown
@ -380,7 +380,7 @@ static rct_widget window_options_misc_widgets[] = {
#undef SCENARIO_START #undef SCENARIO_START
#undef TITLE_SEQUENCE_START #undef TITLE_SEQUENCE_START
static rct_widget window_options_advanced_widgets[] = { static Widget window_options_advanced_widgets[] = {
MAIN_OPTIONS_WIDGETS, MAIN_OPTIONS_WIDGETS,
MakeWidget ({ 10, 54}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_ENABLE_DEBUGGING_TOOLS, STR_ENABLE_DEBUGGING_TOOLS_TIP ), // Enable debugging tools MakeWidget ({ 10, 54}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_ENABLE_DEBUGGING_TOOLS, STR_ENABLE_DEBUGGING_TOOLS_TIP ), // Enable debugging tools
MakeWidget ({ 10, 84}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_SAVE_PLUGIN_DATA, STR_SAVE_PLUGIN_DATA_TIP ), // Export plug-in objects with saved games MakeWidget ({ 10, 84}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_SAVE_PLUGIN_DATA, STR_SAVE_PLUGIN_DATA_TIP ), // Export plug-in objects with saved games
@ -398,7 +398,7 @@ static rct_widget window_options_advanced_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *window_options_page_widgets[] = { static Widget *window_options_page_widgets[] = {
window_options_display_widgets, window_options_display_widgets,
window_options_rendering_widgets, window_options_rendering_widgets,
window_options_culture_widgets, window_options_culture_widgets,
@ -724,7 +724,7 @@ private:
void DisplayMouseDown(WidgetIndex widgetIndex) void DisplayMouseDown(WidgetIndex widgetIndex)
{ {
rct_widget* widget = &widgets[widgetIndex - 1]; Widget* widget = &widgets[widgetIndex - 1];
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1002,7 +1002,7 @@ private:
gDropdownItems[1].Args = STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT; gDropdownItems[1].Args = STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT;
gDropdownItems[2].Args = STR_VIRTUAL_FLOOR_STYLE_GLASSY; gDropdownItems[2].Args = STR_VIRTUAL_FLOOR_STYLE_GLASSY;
rct_widget* widget = &widgets[widgetIndex - 1]; Widget* widget = &widgets[widgetIndex - 1];
ShowDropdown(widget, 3); ShowDropdown(widget, 3);
Dropdown::SetChecked(static_cast<int32_t>(gConfigGeneral.VirtualFloorStyle), true); Dropdown::SetChecked(static_cast<int32_t>(gConfigGeneral.VirtualFloorStyle), true);
@ -1081,7 +1081,7 @@ private:
#pragma region Culture tab events #pragma region Culture tab events
void CultureMouseDown(WidgetIndex widgetIndex) void CultureMouseDown(WidgetIndex widgetIndex)
{ {
rct_widget* widget = &widgets[widgetIndex - 1]; Widget* widget = &widgets[widgetIndex - 1];
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1329,7 +1329,7 @@ private:
void AudioMouseDown(WidgetIndex widgetIndex) void AudioMouseDown(WidgetIndex widgetIndex)
{ {
rct_widget* widget = &widgets[widgetIndex - 1]; Widget* widget = &widgets[widgetIndex - 1];
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1604,7 +1604,7 @@ private:
void ControlsMouseDown(WidgetIndex widgetIndex) void ControlsMouseDown(WidgetIndex widgetIndex)
{ {
rct_widget* widget = &widgets[widgetIndex - 1]; Widget* widget = &widgets[widgetIndex - 1];
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1707,7 +1707,7 @@ private:
void MiscMouseDown(WidgetIndex widgetIndex) void MiscMouseDown(WidgetIndex widgetIndex)
{ {
rct_widget* widget = &widgets[widgetIndex - 1]; Widget* widget = &widgets[widgetIndex - 1];
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1940,7 +1940,7 @@ private:
void AdvancedMouseDown(WidgetIndex widgetIndex) void AdvancedMouseDown(WidgetIndex widgetIndex)
{ {
rct_widget* widget = &widgets[widgetIndex - 1]; Widget* widget = &widgets[widgetIndex - 1];
switch (widgetIndex) switch (widgetIndex)
{ {
@ -2009,7 +2009,7 @@ private:
ft = Formatter(); ft = Formatter();
ft.Add<const utf8*>(normalisedPath.c_str()); ft.Add<const utf8*>(normalisedPath.c_str());
rct_widget pathWidget = widgets[WIDX_PATH_TO_RCT1_BUTTON]; Widget pathWidget = widgets[WIDX_PATH_TO_RCT1_BUTTON];
// Apply vertical alignment if appropriate. // Apply vertical alignment if appropriate.
int32_t widgetHeight = pathWidget.bottom - pathWidget.top; int32_t widgetHeight = pathWidget.bottom - pathWidget.top;
@ -2060,7 +2060,7 @@ private:
pressed_widgets |= 1LL << (WIDX_FIRST_TAB + page); pressed_widgets |= 1LL << (WIDX_FIRST_TAB + page);
} }
void ShowDropdown(rct_widget* widget, int32_t num_items) void ShowDropdown(Widget* widget, int32_t num_items)
{ {
// helper function, all dropdown boxes have similar properties // helper function, all dropdown boxes have similar properties
WindowDropdownShowTextCustomWidth( WindowDropdownShowTextCustomWidth(
@ -2082,7 +2082,7 @@ private:
void DrawTabImage(rct_drawpixelinfo* dpi, int32_t p, int32_t spriteIndex) void DrawTabImage(rct_drawpixelinfo* dpi, int32_t p, int32_t spriteIndex)
{ {
WidgetIndex widgetIndex = WIDX_FIRST_TAB + p; WidgetIndex widgetIndex = WIDX_FIRST_TAB + p;
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
auto screenCoords = windowPos + ScreenCoordsXY{ widget->left, widget->top }; auto screenCoords = windowPos + ScreenCoordsXY{ widget->left, widget->top };
@ -2117,7 +2117,7 @@ private:
gfx_invalidate_screen(); gfx_invalidate_screen();
} }
uint8_t GetScrollPercentage(const rct_widget& widget, const rct_scroll& scroll) uint8_t GetScrollPercentage(const Widget& widget, const rct_scroll& scroll)
{ {
uint8_t w = widget.width() - 1; uint8_t w = widget.width() - 1;
return static_cast<float>(scroll.h_left) / (scroll.h_right - w) * 100; return static_cast<float>(scroll.h_left) / (scroll.h_right - w) * 100;

View File

@ -93,7 +93,7 @@ enum WindowParkWidgetIdx {
MakeTab ({158, 17}, STR_PARK_OBJECTIVE_TAB_TIP ), /* tab 6 */ \ MakeTab ({158, 17}, STR_PARK_OBJECTIVE_TAB_TIP ), /* tab 6 */ \
MakeTab ({189, 17}, STR_PARK_AWARDS_TAB_TIP ) /* tab 7 */ MakeTab ({189, 17}, STR_PARK_AWARDS_TAB_TIP ) /* tab 7 */
static rct_widget _entranceWidgets[] = { static Widget _entranceWidgets[] = {
MAIN_PARK_WIDGETS(230), MAIN_PARK_WIDGETS(230),
MakeWidget({ 3, 46}, {202, 115}, WindowWidgetType::Viewport, WindowColour::Secondary ), // viewport MakeWidget({ 3, 46}, {202, 115}, WindowWidgetType::Viewport, WindowColour::Secondary ), // viewport
MakeWidget({ 3, 161}, {202, 11}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // status MakeWidget({ 3, 161}, {202, 11}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // status
@ -106,40 +106,40 @@ static rct_widget _entranceWidgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _ratingWidgets[] = { static Widget _ratingWidgets[] = {
MAIN_PARK_WIDGETS(255), MAIN_PARK_WIDGETS(255),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _guestsWidgets[] = { static Widget _guestsWidgets[] = {
MAIN_PARK_WIDGETS(255), MAIN_PARK_WIDGETS(255),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _priceWidgets[] = { static Widget _priceWidgets[] = {
MAIN_PARK_WIDGETS(230), MAIN_PARK_WIDGETS(230),
MakeWidget ({ 21, 50}, {126, 14}, WindowWidgetType::Label, WindowColour::Secondary, STR_ADMISSION_PRICE), MakeWidget ({ 21, 50}, {126, 14}, WindowWidgetType::Label, WindowColour::Secondary, STR_ADMISSION_PRICE),
MakeSpinnerWidgets({147, 50}, { 76, 14}, WindowWidgetType::Spinner, WindowColour::Secondary ), // Price (3 widgets) MakeSpinnerWidgets({147, 50}, { 76, 14}, WindowWidgetType::Spinner, WindowColour::Secondary ), // Price (3 widgets)
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _statsWidgets[] = { static Widget _statsWidgets[] = {
MAIN_PARK_WIDGETS(230), MAIN_PARK_WIDGETS(230),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _objectiveWidgets[] = { static Widget _objectiveWidgets[] = {
MAIN_PARK_WIDGETS(230), MAIN_PARK_WIDGETS(230),
MakeWidget({7, 207}, {216, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_ENTER_NAME_INTO_SCENARIO_CHART), // enter name MakeWidget({7, 207}, {216, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_ENTER_NAME_INTO_SCENARIO_CHART), // enter name
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget _awardsWidgets[] = { static Widget _awardsWidgets[] = {
MAIN_PARK_WIDGETS(230), MAIN_PARK_WIDGETS(230),
WIDGETS_END, WIDGETS_END,
}; };
static std::array<rct_widget*, WINDOW_PARK_PAGE_COUNT> _pagedWidgets = { static std::array<Widget*, WINDOW_PARK_PAGE_COUNT> _pagedWidgets = {
_entranceWidgets, _entranceWidgets,
_ratingWidgets, _ratingWidgets,
_guestsWidgets, _guestsWidgets,
@ -640,7 +640,7 @@ private:
// Create viewport // Create viewport
if (viewport == nullptr) if (viewport == nullptr)
{ {
rct_widget* viewportWidget = &widgets[WIDX_VIEWPORT]; Widget* viewportWidget = &widgets[WIDX_VIEWPORT];
viewport_create( viewport_create(
this, windowPos + ScreenCoordsXY{ viewportWidget->left + 1, viewportWidget->top + 1 }, this, windowPos + ScreenCoordsXY{ viewportWidget->left + 1, viewportWidget->top + 1 },
viewportWidget->width() - 1, viewportWidget->height() - 1, focus.value()); viewportWidget->width() - 1, viewportWidget->height() - 1, focus.value());
@ -690,7 +690,7 @@ private:
DrawTabImages(dpi); DrawTabImages(dpi);
auto screenPos = windowPos; auto screenPos = windowPos;
rct_widget* widget = &widgets[WIDX_PAGE_BACKGROUND]; Widget* widget = &widgets[WIDX_PAGE_BACKGROUND];
// Current value // Current value
auto ft = Formatter(); auto ft = Formatter();
@ -763,7 +763,7 @@ private:
DrawTabImages(dpi); DrawTabImages(dpi);
auto screenPos = windowPos; auto screenPos = windowPos;
rct_widget* widget = &widgets[WIDX_PAGE_BACKGROUND]; Widget* widget = &widgets[WIDX_PAGE_BACKGROUND];
// Current value // Current value
auto ft = Formatter(); auto ft = Formatter();

View File

@ -40,7 +40,7 @@ enum WindowPatrolAreaWidgetIdx
}; };
// clang-format off // clang-format off
static rct_widget PatrolAreaWidgets[] = { static Widget PatrolAreaWidgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({27, 17}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0 ), // preview box MakeWidget ({27, 17}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0 ), // preview box
MakeRemapWidget({28, 18}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Tertiary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_PATROL_AREA_TIP), // decrement size MakeRemapWidget({28, 18}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Tertiary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_PATROL_AREA_TIP), // decrement size

View File

@ -57,7 +57,7 @@ enum WindowPlayerWidgetIdx {
MakeTab ({ 3, 17} ), /* Tab 1 */ \ MakeTab ({ 3, 17} ), /* Tab 1 */ \
MakeTab ({ 34, 17} ) /* Tab 2 */ MakeTab ({ 34, 17} ) /* Tab 2 */
static rct_widget window_player_overview_widgets[] = { static Widget window_player_overview_widgets[] = {
WINDOW_PLAYER_COMMON_WIDGETS, WINDOW_PLAYER_COMMON_WIDGETS,
MakeWidget({ 3, 46}, {175, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Permission group MakeWidget({ 3, 46}, {175, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Permission group
MakeWidget({167, 47}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ), MakeWidget({167, 47}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
@ -67,12 +67,12 @@ static rct_widget window_player_overview_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_player_statistics_widgets[] = { static Widget window_player_statistics_widgets[] = {
WINDOW_PLAYER_COMMON_WIDGETS, WINDOW_PLAYER_COMMON_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *window_player_page_widgets[] = { static Widget *window_player_page_widgets[] = {
window_player_overview_widgets, window_player_overview_widgets,
window_player_statistics_widgets, window_player_statistics_widgets,
}; };
@ -84,7 +84,7 @@ static rct_widget *window_player_page_widgets[] = {
static void WindowPlayerOverviewClose(rct_window *w); static void WindowPlayerOverviewClose(rct_window *w);
static void WindowPlayerOverviewMouseUp(rct_window *w, WidgetIndex widgetIndex); static void WindowPlayerOverviewMouseUp(rct_window *w, WidgetIndex widgetIndex);
static void WindowPlayerOverviewResize(rct_window *w); static void WindowPlayerOverviewResize(rct_window *w);
static void WindowPlayerOverviewMouseDown(rct_window *w, WidgetIndex widgetIndex, rct_widget *widget); static void WindowPlayerOverviewMouseDown(rct_window *w, WidgetIndex widgetIndex, Widget *widget);
static void WindowPlayerOverviewDropdown(rct_window *w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowPlayerOverviewDropdown(rct_window *w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowPlayerOverviewUpdate(rct_window* w); static void WindowPlayerOverviewUpdate(rct_window* w);
static void WindowPlayerOverviewInvalidate(rct_window *w); static void WindowPlayerOverviewInvalidate(rct_window *w);
@ -169,9 +169,9 @@ rct_window* WindowPlayerOpen(uint8_t id)
return window; return window;
} }
static void WindowPlayerOverviewShowGroupDropdown(rct_window* w, rct_widget* widget) static void WindowPlayerOverviewShowGroupDropdown(rct_window* w, Widget* widget)
{ {
rct_widget* dropdownWidget; Widget* dropdownWidget;
int32_t numItems, i; int32_t numItems, i;
int32_t player = network_get_player_index(static_cast<uint8_t>(w->number)); int32_t player = network_get_player_index(static_cast<uint8_t>(w->number));
if (player == -1) if (player == -1)
@ -238,7 +238,7 @@ void WindowPlayerOverviewMouseUp(rct_window* w, WidgetIndex widgetIndex)
} }
} }
void WindowPlayerOverviewMouseDown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) void WindowPlayerOverviewMouseDown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {
@ -315,7 +315,7 @@ void WindowPlayerOverviewPaint(rct_window* w, rct_drawpixelinfo* dpi)
int32_t groupindex = network_get_group_index(network_get_player_group(player)); int32_t groupindex = network_get_group_index(network_get_player_group(player));
if (groupindex != -1) if (groupindex != -1)
{ {
rct_widget* widget = &window_player_overview_widgets[WIDX_GROUP]; Widget* widget = &window_player_overview_widgets[WIDX_GROUP];
thread_local std::string _buffer; thread_local std::string _buffer;
_buffer.assign("{WINDOW_COLOUR_2}"); _buffer.assign("{WINDOW_COLOUR_2}");
@ -398,7 +398,7 @@ void WindowPlayerOverviewInvalidate(rct_window* w)
rct_viewport* viewport = w->viewport; rct_viewport* viewport = w->viewport;
if (viewport != nullptr) if (viewport != nullptr)
{ {
rct_widget* viewportWidget = &window_player_overview_widgets[WIDX_VIEWPORT]; Widget* viewportWidget = &window_player_overview_widgets[WIDX_VIEWPORT];
viewport->pos = w->windowPos + ScreenCoordsXY{ viewportWidget->left, viewportWidget->top }; viewport->pos = w->windowPos + ScreenCoordsXY{ viewportWidget->left, viewportWidget->top };
viewport->width = viewportWidget->width(); viewport->width = viewportWidget->width();
@ -540,7 +540,7 @@ static void WindowPlayerSetPage(rct_window* w, int32_t page)
static void WindowPlayerDrawTabImages(rct_drawpixelinfo* dpi, rct_window* w) static void WindowPlayerDrawTabImages(rct_drawpixelinfo* dpi, rct_window* w)
{ {
rct_widget* widget; Widget* widget;
// Tab 1 // Tab 1
if (!WidgetIsDisabled(*w, WIDX_TAB_1)) if (!WidgetIsDisabled(*w, WIDX_TAB_1))

View File

@ -30,7 +30,7 @@ enum WindowRideRefurbishWidgetIdx
WIDX_CANCEL WIDX_CANCEL
}; };
static rct_widget window_ride_refurbish_widgets[] = static Widget window_ride_refurbish_widgets[] =
{ {
WINDOW_SHIM_WHITE(STR_REFURBISH_RIDE, WW, WH), WINDOW_SHIM_WHITE(STR_REFURBISH_RIDE, WW, WH),
MakeWidget({ 10, WH - 22 }, { 85, 14 }, WindowWidgetType::Button, WindowColour::Primary, STR_REFURBISH), MakeWidget({ 10, WH - 22 }, { 85, 14 }, WindowWidgetType::Button, WindowColour::Primary, STR_REFURBISH),

View File

@ -62,7 +62,7 @@ enum {
#pragma region Widgets #pragma region Widgets
static rct_widget window_research_development_widgets[] = { static Widget window_research_development_widgets[] = {
WINDOW_SHIM(STR_RESEARCH_AND_DEVELOPMENT, WW_DEVELOPMENT, WH_DEVELOPMENT), WINDOW_SHIM(STR_RESEARCH_AND_DEVELOPMENT, WW_DEVELOPMENT, WH_DEVELOPMENT),
MakeWidget({ 0, 43}, { WW_DEVELOPMENT, 153}, WindowWidgetType::Resize, WindowColour::Secondary ), MakeWidget({ 0, 43}, { WW_DEVELOPMENT, 153}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_RESEARCH_AND_DEVELOPMENT_TIP), MakeTab ({ 3, 17}, STR_RESEARCH_AND_DEVELOPMENT_TIP),
@ -73,7 +73,7 @@ static rct_widget window_research_development_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_research_funding_widgets[] = { static Widget window_research_funding_widgets[] = {
WINDOW_SHIM(STR_RESEARCH_FUNDING, WW_FUNDING, WH_FUNDING), WINDOW_SHIM(STR_RESEARCH_FUNDING, WW_FUNDING, WH_FUNDING),
MakeWidget({ 0, 43}, { WW_FUNDING, 164}, WindowWidgetType::Resize, WindowColour::Secondary ), MakeWidget({ 0, 43}, { WW_FUNDING, 164}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_RESEARCH_AND_DEVELOPMENT_TIP ), MakeTab ({ 3, 17}, STR_RESEARCH_AND_DEVELOPMENT_TIP ),
@ -92,7 +92,7 @@ static rct_widget window_research_funding_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *window_research_page_widgets[] = { static Widget *window_research_page_widgets[] = {
window_research_development_widgets, window_research_development_widgets,
window_research_funding_widgets, window_research_funding_widgets,
}; };
@ -107,7 +107,7 @@ static void WindowResearchDevelopmentInvalidate(rct_window *w);
static void WindowResearchDevelopmentPaint(rct_window *w, rct_drawpixelinfo *dpi); static void WindowResearchDevelopmentPaint(rct_window *w, rct_drawpixelinfo *dpi);
static void WindowResearchFundingMouseup(rct_window *w, WidgetIndex widgetIndex); static void WindowResearchFundingMouseup(rct_window *w, WidgetIndex widgetIndex);
static void WindowResearchFundingMousedown(rct_window *w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowResearchFundingMousedown(rct_window *w, WidgetIndex widgetIndex, Widget* widget);
static void WindowResearchFundingDropdown(rct_window *w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowResearchFundingDropdown(rct_window *w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowResearchFundingUpdate(rct_window *w); static void WindowResearchFundingUpdate(rct_window *w);
static void WindowResearchFundingInvalidate(rct_window *w); static void WindowResearchFundingInvalidate(rct_window *w);
@ -424,12 +424,12 @@ static void WindowResearchFundingMouseup(rct_window* w, WidgetIndex widgetIndex)
* *
* rct2: 0x0069DB66 * rct2: 0x0069DB66
*/ */
static void WindowResearchFundingMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowResearchFundingMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON) if (widgetIndex != WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON)
return; return;
rct_widget* dropdownWidget = widget - 1; Widget* dropdownWidget = widget - 1;
for (std::size_t i = 0; i < std::size(ResearchFundingLevelNames); i++) for (std::size_t i = 0; i < std::size(ResearchFundingLevelNames); i++)
{ {

View File

@ -239,7 +239,7 @@ constexpr int32_t RCT1_LIGHT_OFFSET = 4;
MakeTab ({282, 17}, STR_CUSTOMER_INFORMATION_TIP ) MakeTab ({282, 17}, STR_CUSTOMER_INFORMATION_TIP )
// 0x009ADC34 // 0x009ADC34
static rct_widget window_ride_main_widgets[] = { static Widget window_ride_main_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget({ 3, 60}, {288, 107}, WindowWidgetType::Viewport, WindowColour::Secondary, STR_VIEWPORT ), MakeWidget({ 3, 60}, {288, 107}, WindowWidgetType::Viewport, WindowColour::Secondary, STR_VIEWPORT ),
MakeWidget({ 35, 46}, {222, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, 0xFFFFFFFF, STR_VIEW_SELECTION ), MakeWidget({ 35, 46}, {222, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, 0xFFFFFFFF, STR_VIEW_SELECTION ),
@ -260,7 +260,7 @@ static rct_widget window_ride_main_widgets[] = {
}; };
// 0x009ADDA8 // 0x009ADDA8
static rct_widget window_ride_vehicle_widgets[] = { static Widget window_ride_vehicle_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget ({ 7, 50}, {302, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), MakeWidget ({ 7, 50}, {302, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ),
MakeWidget ({297, 51}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ), MakeWidget ({297, 51}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
@ -271,7 +271,7 @@ static rct_widget window_ride_vehicle_widgets[] = {
}; };
// 0x009ADEFC // 0x009ADEFC
static rct_widget window_ride_operating_widgets[] = { static Widget window_ride_operating_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeSpinnerWidgets({157, 61}, {152, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_ARG_18_STRINGID ), // NB: 3 widgets MakeSpinnerWidgets({157, 61}, {152, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_ARG_18_STRINGID ), // NB: 3 widgets
MakeSpinnerWidgets({157, 75}, {152, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_LIFT_HILL_CHAIN_SPEED_VALUE ), // NB: 3 widgets MakeSpinnerWidgets({157, 75}, {152, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_LIFT_HILL_CHAIN_SPEED_VALUE ), // NB: 3 widgets
@ -294,7 +294,7 @@ static rct_widget window_ride_operating_widgets[] = {
}; };
// 0x009AE190 // 0x009AE190
static rct_widget window_ride_maintenance_widgets[] = { static Widget window_ride_maintenance_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget({107, 71}, {202, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_EMPTY, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE), MakeWidget({107, 71}, {202, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_EMPTY, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE),
MakeWidget({297, 72}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE), MakeWidget({297, 72}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE),
@ -305,7 +305,7 @@ static rct_widget window_ride_maintenance_widgets[] = {
}; };
// 0x009AE2A4 // 0x009AE2A4
static rct_widget window_ride_colour_widgets[] = { static Widget window_ride_colour_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget({ 3, 47}, { 68, 47}, WindowWidgetType::Spinner, WindowColour::Secondary ), MakeWidget({ 3, 47}, { 68, 47}, WindowWidgetType::Spinner, WindowColour::Secondary ),
MakeWidget({ 74, 49}, {239, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_ARG_14_STRINGID ), MakeWidget({ 74, 49}, {239, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_ARG_14_STRINGID ),
@ -332,7 +332,7 @@ static rct_widget window_ride_colour_widgets[] = {
}; };
// 0x009AE4C8 // 0x009AE4C8
static rct_widget window_ride_music_widgets[] = { static Widget window_ride_music_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget({ 7, 47}, {302, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_PLAY_MUSIC, STR_SELECT_MUSIC_TIP ), MakeWidget({ 7, 47}, {302, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_PLAY_MUSIC, STR_SELECT_MUSIC_TIP ),
MakeWidget({ 7, 62}, {302, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_EMPTY ), MakeWidget({ 7, 62}, {302, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_EMPTY ),
@ -341,7 +341,7 @@ static rct_widget window_ride_music_widgets[] = {
}; };
// 0x009AE5DC // 0x009AE5DC
static rct_widget window_ride_measurements_widgets[] = { static Widget window_ride_measurements_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget({288, 194}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_FLOPPY, STR_SAVE_TRACK_DESIGN), MakeWidget({288, 194}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_FLOPPY, STR_SAVE_TRACK_DESIGN),
MakeWidget({ 4, 127}, {154, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_SELECT_NEARBY_SCENERY ), MakeWidget({ 4, 127}, {154, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_SELECT_NEARBY_SCENERY ),
@ -352,7 +352,7 @@ static rct_widget window_ride_measurements_widgets[] = {
}; };
// 0x009AE710 // 0x009AE710
static rct_widget window_ride_graphs_widgets[] = { static Widget window_ride_graphs_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget({ 3, 46}, {306, 112}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_HORIZONTAL, STR_LOGGING_DATA_FROM_TIP ), MakeWidget({ 3, 46}, {306, 112}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_HORIZONTAL, STR_LOGGING_DATA_FROM_TIP ),
MakeWidget({ 3, 163}, { 73, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_RIDE_STATS_VELOCITY, STR_SHOW_GRAPH_OF_VELOCITY_AGAINST_TIME_TIP ), MakeWidget({ 3, 163}, { 73, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_RIDE_STATS_VELOCITY, STR_SHOW_GRAPH_OF_VELOCITY_AGAINST_TIME_TIP ),
@ -363,7 +363,7 @@ static rct_widget window_ride_graphs_widgets[] = {
}; };
// 0x009AE844 // 0x009AE844
static rct_widget window_ride_income_widgets[] = { static Widget window_ride_income_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget ({ 19, 50}, {126, 14}, WindowWidgetType::Label, WindowColour::Secondary ), MakeWidget ({ 19, 50}, {126, 14}, WindowWidgetType::Label, WindowColour::Secondary ),
MakeSpinnerWidgets({147, 50}, {162, 14}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_ARG_6_CURRENCY2DP ), // NB: 3 widgets MakeSpinnerWidgets({147, 50}, {162, 14}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_ARG_6_CURRENCY2DP ), // NB: 3 widgets
@ -375,7 +375,7 @@ static rct_widget window_ride_income_widgets[] = {
}; };
// 0x009AE9C8 // 0x009AE9C8
static rct_widget window_ride_customer_widgets[] = { static Widget window_ride_customer_widgets[] = {
MAIN_RIDE_WIDGETS, MAIN_RIDE_WIDGETS,
MakeWidget({289, 54}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION_TIP), MakeWidget({289, 54}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_THOUGHTS_ABOUT_THIS_RIDE_ATTRACTION_TIP),
MakeWidget({289, 78}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION_TIP ), MakeWidget({289, 78}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION_TIP ),
@ -383,7 +383,7 @@ static rct_widget window_ride_customer_widgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *window_ride_page_widgets[] = { static Widget *window_ride_page_widgets[] = {
window_ride_main_widgets, window_ride_main_widgets,
window_ride_vehicle_widgets, window_ride_vehicle_widgets,
window_ride_operating_widgets, window_ride_operating_widgets,
@ -433,7 +433,7 @@ static void WindowRideInitViewport(rct_window* w);
static void WindowRideMainMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideMainMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideMainResize(rct_window* w); static void WindowRideMainResize(rct_window* w);
static void WindowRideMainMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideMainMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideMainDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowRideMainDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowRideMainUpdate(rct_window* w); static void WindowRideMainUpdate(rct_window* w);
static void WindowRideMainTextinput(rct_window* w, WidgetIndex widgetIndex, char* text); static void WindowRideMainTextinput(rct_window* w, WidgetIndex widgetIndex, char* text);
@ -444,7 +444,7 @@ static void WindowRideMainFollowRide(rct_window* w);
static void WindowRideVehicleMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideVehicleMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideVehicleResize(rct_window* w); static void WindowRideVehicleResize(rct_window* w);
static void WindowRideVehicleMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideVehicleMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideVehicleDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowRideVehicleDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowRideVehicleUpdate(rct_window* w); static void WindowRideVehicleUpdate(rct_window* w);
static OpenRCT2String WindowRideVehicleTooltip(rct_window* const w, const WidgetIndex widgetIndex, StringId fallback); static OpenRCT2String WindowRideVehicleTooltip(rct_window* const w, const WidgetIndex widgetIndex, StringId fallback);
@ -454,7 +454,7 @@ static void WindowRideVehicleScrollpaint(rct_window* w, rct_drawpixelinfo* dpi,
static void WindowRideOperatingMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideOperatingMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideOperatingResize(rct_window* w); static void WindowRideOperatingResize(rct_window* w);
static void WindowRideOperatingMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideOperatingMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideOperatingLengthWindow(rct_window* w, WidgetIndex widgetIndex); static void WindowRideOperatingLengthWindow(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideOperatingTweakTextInput(rct_window* w, const Ride& ride); static void WindowRideOperatingTweakTextInput(rct_window* w, const Ride& ride);
static void WindowRideOperatingDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowRideOperatingDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
@ -465,7 +465,7 @@ static void WindowRideOperatingPaint(rct_window* w, rct_drawpixelinfo* dpi);
static void WindowRideMaintenanceMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideMaintenanceMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideMaintenanceResize(rct_window* w); static void WindowRideMaintenanceResize(rct_window* w);
static void WindowRideMaintenanceMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideMaintenanceMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideMaintenanceDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowRideMaintenanceDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowRideMaintenanceUpdate(rct_window* w); static void WindowRideMaintenanceUpdate(rct_window* w);
static void WindowRideMaintenanceInvalidate(rct_window* w); static void WindowRideMaintenanceInvalidate(rct_window* w);
@ -474,7 +474,7 @@ static void WindowRideMaintenancePaint(rct_window* w, rct_drawpixelinfo* dpi);
static void WindowRideColourClose(rct_window* w); static void WindowRideColourClose(rct_window* w);
static void WindowRideColourMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideColourMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideColourResize(rct_window* w); static void WindowRideColourResize(rct_window* w);
static void WindowRideColourMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideColourMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideColourDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowRideColourDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowRideColourUpdate(rct_window* w); static void WindowRideColourUpdate(rct_window* w);
static void WindowRideColourTooldown(rct_window* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords); static void WindowRideColourTooldown(rct_window* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
@ -485,7 +485,7 @@ static void WindowRideColourScrollpaint(rct_window* w, rct_drawpixelinfo* dpi, i
static void WindowRideMusicMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideMusicMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideMusicResize(rct_window* w); static void WindowRideMusicResize(rct_window* w);
static void WindowRideMusicMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideMusicMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideMusicDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowRideMusicDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowRideMusicUpdate(rct_window* w); static void WindowRideMusicUpdate(rct_window* w);
static void WindowRideMusicInvalidate(rct_window* w); static void WindowRideMusicInvalidate(rct_window* w);
@ -494,7 +494,7 @@ static void WindowRideMusicPaint(rct_window* w, rct_drawpixelinfo* dpi);
static void WindowRideMeasurementsClose(rct_window* w); static void WindowRideMeasurementsClose(rct_window* w);
static void WindowRideMeasurementsMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideMeasurementsMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideMeasurementsResize(rct_window* w); static void WindowRideMeasurementsResize(rct_window* w);
static void WindowRideMeasurementsMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideMeasurementsMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideMeasurementsDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowRideMeasurementsDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowRideMeasurementsUpdate(rct_window* w); static void WindowRideMeasurementsUpdate(rct_window* w);
static void WindowRideMeasurementsTooldown(rct_window* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords); static void WindowRideMeasurementsTooldown(rct_window* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
@ -505,7 +505,7 @@ static void WindowRideMeasurementsPaint(rct_window* w, rct_drawpixelinfo* dpi);
static void WindowRideGraphsMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideGraphsMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideGraphsResize(rct_window* w); static void WindowRideGraphsResize(rct_window* w);
static void WindowRideGraphsMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideGraphsMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideGraphsUpdate(rct_window* w); static void WindowRideGraphsUpdate(rct_window* w);
static void WindowRideGraphsScrollgetheight(rct_window* w, int32_t scrollIndex, int32_t* width, int32_t* height); static void WindowRideGraphsScrollgetheight(rct_window* w, int32_t scrollIndex, int32_t* width, int32_t* height);
static void WindowRideGraphs15(rct_window* w, int32_t scrollIndex, int32_t scrollAreaType); static void WindowRideGraphs15(rct_window* w, int32_t scrollIndex, int32_t scrollAreaType);
@ -516,7 +516,7 @@ static void WindowRideGraphsScrollpaint(rct_window* w, rct_drawpixelinfo* dpi, i
static void WindowRideIncomeMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowRideIncomeMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowRideIncomeResize(rct_window* w); static void WindowRideIncomeResize(rct_window* w);
static void WindowRideIncomeMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowRideIncomeMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowRideIncomeUpdate(rct_window* w); static void WindowRideIncomeUpdate(rct_window* w);
static void WindowRideIncomeTextinput(rct_window* w, WidgetIndex widgetIndex, char* text); static void WindowRideIncomeTextinput(rct_window* w, WidgetIndex widgetIndex, char* text);
static void WindowRideIncomeInvalidate(rct_window* w); static void WindowRideIncomeInvalidate(rct_window* w);
@ -1728,9 +1728,9 @@ static void WindowRideMainResize(rct_window* w)
* *
* rct2: 0x006AF825 * rct2: 0x006AF825
*/ */
static void WindowRideShowViewDropdown(rct_window* w, rct_widget* widget) static void WindowRideShowViewDropdown(rct_window* w, Widget* widget)
{ {
rct_widget* dropdownWidget = widget - 1; Widget* dropdownWidget = widget - 1;
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
if (ride == nullptr) if (ride == nullptr)
return; return;
@ -1840,7 +1840,7 @@ static void WindowRideSetDropdown(RideStatusDropdownInfo& info, RideStatus statu
} }
} }
static void WindowRideShowOpenDropdown(rct_window* w, rct_widget* widget) static void WindowRideShowOpenDropdown(rct_window* w, Widget* widget)
{ {
RideStatusDropdownInfo info; RideStatusDropdownInfo info;
info.Ride = get_ride(w->rideId); info.Ride = get_ride(w->rideId);
@ -1909,7 +1909,7 @@ static void PopulateRideTypeDropdown()
RideDropdownDataLanguage = ls.GetCurrentLanguage(); RideDropdownDataLanguage = ls.GetCurrentLanguage();
} }
static void WindowRideShowRideTypeDropdown(rct_window* w, rct_widget* widget) static void WindowRideShowRideTypeDropdown(rct_window* w, Widget* widget)
{ {
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
if (ride == nullptr) if (ride == nullptr)
@ -1923,7 +1923,7 @@ static void WindowRideShowRideTypeDropdown(rct_window* w, rct_widget* widget)
gDropdownItems[i].Args = RideDropdownData[i].label_id; gDropdownItems[i].Args = RideDropdownData[i].label_id;
} }
rct_widget* dropdownWidget = widget - 1; Widget* dropdownWidget = widget - 1;
WindowDropdownShowText( WindowDropdownShowText(
{ w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1, { w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1,
w->colours[1], Dropdown::Flag::StayOpen, RIDE_TYPE_COUNT); w->colours[1], Dropdown::Flag::StayOpen, RIDE_TYPE_COUNT);
@ -1944,7 +1944,7 @@ static void WindowRideShowRideTypeDropdown(rct_window* w, rct_widget* widget)
Dropdown::SetChecked(pos, true); Dropdown::SetChecked(pos, true);
} }
static void WindowRideShowLocateDropdown(rct_window* w, rct_widget* widget) static void WindowRideShowLocateDropdown(rct_window* w, Widget* widget)
{ {
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
if (ride == nullptr) if (ride == nullptr)
@ -2052,7 +2052,7 @@ static void PopulateVehicleTypeDropdown(Ride* ride, bool forceRefresh)
VehicleDropdownDataLanguage = ls.GetCurrentLanguage(); VehicleDropdownDataLanguage = ls.GetCurrentLanguage();
} }
static void WindowRideShowVehicleTypeDropdown(rct_window* w, rct_widget* widget) static void WindowRideShowVehicleTypeDropdown(rct_window* w, Widget* widget)
{ {
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
if (ride == nullptr) if (ride == nullptr)
@ -2068,7 +2068,7 @@ static void WindowRideShowVehicleTypeDropdown(rct_window* w, rct_widget* widget)
gDropdownItems[i].Args = VehicleDropdownData[i].label_id; gDropdownItems[i].Args = VehicleDropdownData[i].label_id;
} }
rct_widget* dropdownWidget = widget - 1; Widget* dropdownWidget = widget - 1;
auto width = WindowDropDownHasMultipleColumns(numItems) ? dropdownWidget->width() - 24 : dropdownWidget->width(); auto width = WindowDropDownHasMultipleColumns(numItems) ? dropdownWidget->width() - 24 : dropdownWidget->width();
WindowDropdownShowTextCustomWidth( WindowDropdownShowTextCustomWidth(
{ w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1, { w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top }, dropdownWidget->height() + 1,
@ -2094,7 +2094,7 @@ static void WindowRideShowVehicleTypeDropdown(rct_window* w, rct_widget* widget)
* *
* rct2: 0x006AF1BD * rct2: 0x006AF1BD
*/ */
static void WindowRideMainMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideMainMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {
@ -2281,7 +2281,7 @@ static void WindowRideMainViewportRotate(rct_window* w)
*/ */
static void WindowRideMainInvalidate(rct_window* w) static void WindowRideMainInvalidate(rct_window* w)
{ {
rct_widget* widgets; Widget* widgets;
int32_t i, height; int32_t i, height;
widgets = window_ride_page_widgets[w->page]; widgets = window_ride_page_widgets[w->page];
@ -2560,7 +2560,7 @@ static StringId WindowRideGetStatus(rct_window* w, Formatter& ft)
*/ */
static void WindowRideMainPaint(rct_window* w, rct_drawpixelinfo* dpi) static void WindowRideMainPaint(rct_window* w, rct_drawpixelinfo* dpi)
{ {
rct_widget* widget; Widget* widget;
WindowDrawWidgets(*w, dpi); WindowDrawWidgets(*w, dpi);
WindowRideDrawTabImages(dpi, w); WindowRideDrawTabImages(dpi, w);
@ -2654,7 +2654,7 @@ static void WindowRideVehicleResize(rct_window* w)
* *
* rct2: 0x006B2748 * rct2: 0x006B2748
*/ */
static void WindowRideVehicleMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideVehicleMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
if (ride == nullptr) if (ride == nullptr)
@ -2775,7 +2775,7 @@ static OpenRCT2String WindowRideVehicleTooltip(rct_window* const w, const Widget
*/ */
static void WindowRideVehicleInvalidate(rct_window* w) static void WindowRideVehicleInvalidate(rct_window* w)
{ {
rct_widget* widgets; Widget* widgets;
rct_ride_entry* rideEntry; rct_ride_entry* rideEntry;
StringId stringId; StringId stringId;
int32_t carsPerTrain; int32_t carsPerTrain;
@ -2953,7 +2953,7 @@ static void WindowRideVehicleScrollpaint(rct_window* w, rct_drawpixelinfo* dpi,
// Background // Background
gfx_fill_rect(dpi, { { dpi->x, dpi->y }, { dpi->x + dpi->width, dpi->y + dpi->height } }, PALETTE_INDEX_12); gfx_fill_rect(dpi, { { dpi->x, dpi->y }, { dpi->x + dpi->width, dpi->y + dpi->height } }, PALETTE_INDEX_12);
rct_widget* widget = &window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_PREVIEW]; Widget* widget = &window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_PREVIEW];
int32_t startX = std::max(2, (widget->width() - ((ride->NumTrains - 1) * 36)) / 2 - 25); int32_t startX = std::max(2, (widget->width() - ((ride->NumTrains - 1) * 36)) / 2 - 25);
int32_t startY = widget->height() - 4; int32_t startY = widget->height() - 4;
@ -3080,9 +3080,9 @@ static void WindowRideModeTweakDecrease(rct_window* w)
* *
* rct2: 0x006B1631 * rct2: 0x006B1631
*/ */
static void WindowRideModeDropdown(rct_window* w, rct_widget* widget) static void WindowRideModeDropdown(rct_window* w, Widget* widget)
{ {
rct_widget* dropdownWidget; Widget* dropdownWidget;
dropdownWidget = widget - 1; dropdownWidget = widget - 1;
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
@ -3122,7 +3122,7 @@ static void WindowRideModeDropdown(rct_window* w, rct_widget* widget)
* *
* rct2: 0x006B15C0 * rct2: 0x006B15C0
*/ */
static void WindowRideLoadDropdown(rct_window* w, rct_widget* widget) static void WindowRideLoadDropdown(rct_window* w, Widget* widget)
{ {
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
if (ride == nullptr) if (ride == nullptr)
@ -3202,7 +3202,7 @@ static void WindowRideOperatingResize(rct_window* w)
* *
* rct2: 0x006B10F4 * rct2: 0x006B10F4
*/ */
static void WindowRideOperatingMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideOperatingMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
const auto rideId = w->rideId; const auto rideId = w->rideId;
auto ride = get_ride(rideId); auto ride = get_ride(rideId);
@ -3459,7 +3459,7 @@ static void WindowRideOperatingTextinput(rct_window* w, WidgetIndex widgetIndex,
*/ */
static void WindowRideOperatingInvalidate(rct_window* w) static void WindowRideOperatingInvalidate(rct_window* w)
{ {
rct_widget* widgets; Widget* widgets;
StringId format, caption, tooltip; StringId format, caption, tooltip;
widgets = window_ride_page_widgets[w->page]; widgets = window_ride_page_widgets[w->page];
@ -3826,7 +3826,7 @@ static void WindowRideMaintenanceResize(rct_window* w)
* *
* rct2: 0x006B1ACE * rct2: 0x006B1ACE
*/ */
static void WindowRideMaintenanceMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideMaintenanceMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
auto ride = get_ride(w->rideId); auto ride = get_ride(w->rideId);
if (ride == nullptr) if (ride == nullptr)
@ -3836,7 +3836,7 @@ static void WindowRideMaintenanceMousedown(rct_window* w, WidgetIndex widgetInde
if (rideEntry == nullptr) if (rideEntry == nullptr)
return; return;
rct_widget* dropdownWidget = widget; Widget* dropdownWidget = widget;
int32_t j, num_items; int32_t j, num_items;
switch (widgetIndex) switch (widgetIndex)
@ -4108,7 +4108,7 @@ static void WindowRideMaintenancePaint(rct_window* w, rct_drawpixelinfo* dpi)
return; return;
// Locate mechanic button image // Locate mechanic button image
rct_widget* widget = &window_ride_maintenance_widgets[WIDX_LOCATE_MECHANIC]; Widget* widget = &window_ride_maintenance_widgets[WIDX_LOCATE_MECHANIC];
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top }; auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
auto image = ImageId(SPR_MECHANIC, COLOUR_BLACK, gStaffMechanicColour); auto image = ImageId(SPR_MECHANIC, COLOUR_BLACK, gStaffMechanicColour);
gfx_draw_sprite(dpi, image, screenCoords); gfx_draw_sprite(dpi, image, screenCoords);
@ -4335,7 +4335,7 @@ static void WindowRideColourResize(rct_window* w)
* *
* rct2: 0x006B02C6 * rct2: 0x006B02C6
*/ */
static void WindowRideColourMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideColourMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
VehicleColour vehicleColour; VehicleColour vehicleColour;
int32_t i, numItems; int32_t i, numItems;
@ -5088,7 +5088,7 @@ static std::string GetMusicString(ObjectEntryIndex musicObjectIndex)
* *
* rct2: 0x006B1EFC * rct2: 0x006B1EFC
*/ */
static void WindowRideMusicMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideMusicMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
if (widgetIndex != WIDX_MUSIC_DROPDOWN) if (widgetIndex != WIDX_MUSIC_DROPDOWN)
return; return;
@ -5447,7 +5447,7 @@ static void WindowRideMeasurementsResize(rct_window* w)
* *
* rct2: 0x006AD4AB * rct2: 0x006AD4AB
*/ */
static void WindowRideMeasurementsMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideMeasurementsMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
if (widgetIndex != WIDX_SAVE_TRACK_DESIGN) if (widgetIndex != WIDX_SAVE_TRACK_DESIGN)
return; return;
@ -5629,7 +5629,7 @@ static void WindowRideMeasurementsPaint(rct_window* w, rct_drawpixelinfo* dpi)
if (window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type == WindowWidgetType::Button) if (window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type == WindowWidgetType::Button)
{ {
rct_widget* widget = &window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND]; Widget* widget = &window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND];
ScreenCoordsXY widgetCoords(w->windowPos.x + widget->width() / 2, w->windowPos.y + widget->top + 40); ScreenCoordsXY widgetCoords(w->windowPos.x + widget->width() / 2, w->windowPos.y + widget->top + 40);
DrawTextWrapped(dpi, widgetCoords, w->width - 8, STR_CLICK_ITEMS_OF_SCENERY_TO_SELECT, {}, { TextAlignment::CENTRE }); DrawTextWrapped(dpi, widgetCoords, w->width - 8, STR_CLICK_ITEMS_OF_SCENERY_TO_SELECT, {}, { TextAlignment::CENTRE });
@ -5928,7 +5928,7 @@ static void WindowRideGraphsResize(rct_window* w)
* *
* rct2: 0x006AE878 * rct2: 0x006AE878
*/ */
static void WindowRideGraphsMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideGraphsMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {
@ -5953,7 +5953,7 @@ static void WindowRideGraphsMousedown(rct_window* w, WidgetIndex widgetIndex, rc
*/ */
static void WindowRideGraphsUpdate(rct_window* w) static void WindowRideGraphsUpdate(rct_window* w)
{ {
rct_widget* widget; Widget* widget;
int32_t x; int32_t x;
w->frame_no++; w->frame_no++;
@ -6549,7 +6549,7 @@ static void WindowRideIncomeResize(rct_window* w)
* *
* rct2: 0x006ADED4 * rct2: 0x006ADED4
*/ */
static void WindowRideIncomeMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowRideIncomeMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
switch (widgetIndex) switch (widgetIndex)
{ {

View File

@ -103,7 +103,7 @@ validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_EXIT);
validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_ROTATE); validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_ROTATE);
// clang-format off // clang-format off
static rct_widget window_ride_construction_widgets[] = { static Widget window_ride_construction_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ 3, 17}, {160, 57}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_RIDE_CONSTRUCTION_DIRECTION ), MakeWidget ({ 3, 17}, {160, 57}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_RIDE_CONSTRUCTION_DIRECTION ),
MakeWidget ({ 3, 76}, {160, 41}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_RIDE_CONSTRUCTION_SLOPE ), MakeWidget ({ 3, 76}, {160, 41}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_RIDE_CONSTRUCTION_SLOPE ),
@ -1486,7 +1486,7 @@ public:
void OnDraw(rct_drawpixelinfo& dpi) override void OnDraw(rct_drawpixelinfo& dpi) override
{ {
rct_drawpixelinfo clipdpi; rct_drawpixelinfo clipdpi;
rct_widget* widget; Widget* widget;
int32_t widgetWidth, widgetHeight; int32_t widgetWidth, widgetHeight;
DrawWidgets(dpi); DrawWidgets(dpi);
@ -2501,7 +2501,7 @@ private:
window_ride_construction_update_active_elements(); window_ride_construction_update_active_elements();
} }
void ShowSpecialTrackDropdown(rct_widget* widget) void ShowSpecialTrackDropdown(Widget* widget)
{ {
int32_t defaultIndex = -1; int32_t defaultIndex = -1;
for (int32_t i = 0; i < _numCurrentPossibleRideConfigurations; i++) for (int32_t i = 0; i < _numCurrentPossibleRideConfigurations; i++)

View File

@ -60,7 +60,7 @@ enum WindowRideListWidgetIdx
}; };
// clang-format off // clang-format off
static rct_widget window_ride_list_widgets[] = { static Widget window_ride_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {340, 197}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab page background MakeWidget({ 0, 43}, {340, 197}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab page background
MakeWidget({315, 60}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_TOGGLE_OPEN_CLOSE, STR_OPEN_OR_CLOSE_ALL_RIDES ), // open / close all toggle MakeWidget({315, 60}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_TOGGLE_OPEN_CLOSE, STR_OPEN_OR_CLOSE_ALL_RIDES ), // open / close all toggle

View File

@ -36,7 +36,7 @@ enum WindowSavePromptWidgetIdx {
WIDX_CANCEL WIDX_CANCEL
}; };
static rct_widget window_save_prompt_widgets[] = { static Widget window_save_prompt_widgets[] = {
WINDOW_SHIM_WHITE(STR_NONE, WW_SAVE, WH_SAVE), WINDOW_SHIM_WHITE(STR_NONE, WW_SAVE, WH_SAVE),
MakeWidget({ 2, 19}, {256, 12}, WindowWidgetType::LabelCentred, WindowColour::Primary, STR_EMPTY ), // question/label MakeWidget({ 2, 19}, {256, 12}, WindowWidgetType::LabelCentred, WindowColour::Primary, STR_EMPTY ), // question/label
MakeWidget({ 8, 35}, { 78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_SAVE_PROMPT_SAVE ), // save MakeWidget({ 8, 35}, { 78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_SAVE_PROMPT_SAVE ), // save
@ -53,7 +53,7 @@ enum WindowQuitPromptWidgetIdx {
WQIDX_CANCEL WQIDX_CANCEL
}; };
static rct_widget window_quit_prompt_widgets[] = { static Widget window_quit_prompt_widgets[] = {
WINDOW_SHIM_WHITE(STR_QUIT_GAME_PROMPT_TITLE, WW_QUIT, WH_QUIT), WINDOW_SHIM_WHITE(STR_QUIT_GAME_PROMPT_TITLE, WW_QUIT, WH_QUIT),
MakeWidget({ 8, 19}, {78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_OK ), // ok MakeWidget({ 8, 19}, {78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_OK ), // ok
MakeWidget({91, 19}, {78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_CANCEL), // cancel MakeWidget({91, 19}, {78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_CANCEL), // cancel

View File

@ -81,7 +81,7 @@ enum {
WIDX_SCENARIOLIST WIDX_SCENARIOLIST
}; };
static rct_widget window_scenarioselect_widgets[] = { static Widget window_scenarioselect_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ TabWidth + 1, WidgetsStart }, { WW, 284}, WindowWidgetType::Resize, WindowColour::Secondary), // tab content panel MakeWidget ({ TabWidth + 1, WidgetsStart }, { WW, 284}, WindowWidgetType::Resize, WindowColour::Secondary), // tab content panel
MakeRemapWidget({ 3, TabsStart + (TabHeight * 0) }, { TabWidth, TabHeight}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_G2_SIDEWAYS_TAB), // tab 01 MakeRemapWidget({ 3, TabsStart + (TabHeight * 0) }, { TabWidth, TabHeight}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_G2_SIDEWAYS_TAB), // tab 01
@ -115,7 +115,7 @@ static void WindowScenarioselectInitTabs(rct_window *w);
static void WindowScenarioselectClose(rct_window *w); static void WindowScenarioselectClose(rct_window *w);
static void WindowScenarioselectMouseup(rct_window *w, WidgetIndex widgetIndex); static void WindowScenarioselectMouseup(rct_window *w, WidgetIndex widgetIndex);
static void WindowScenarioselectMousedown(rct_window *w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowScenarioselectMousedown(rct_window *w, WidgetIndex widgetIndex, Widget* widget);
static void WindowScenarioselectScrollgetsize(rct_window *w, int32_t scrollIndex, int32_t *width, int32_t *height); static void WindowScenarioselectScrollgetsize(rct_window *w, int32_t scrollIndex, int32_t *width, int32_t *height);
static void WindowScenarioselectScrollmousedown(rct_window *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords); static void WindowScenarioselectScrollmousedown(rct_window *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
static void WindowScenarioselectScrollmouseover(rct_window *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords); static void WindowScenarioselectScrollmouseover(rct_window *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
@ -268,7 +268,7 @@ static void WindowScenarioselectMouseup(rct_window* w, WidgetIndex widgetIndex)
} }
} }
static void WindowScenarioselectMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowScenarioselectMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
if (widgetIndex >= WIDX_TAB1 && widgetIndex <= WIDX_TAB10) if (widgetIndex >= WIDX_TAB1 && widgetIndex <= WIDX_TAB10)
{ {
@ -436,7 +436,7 @@ static void WindowScenarioselectPaint(rct_window* w, rct_drawpixelinfo* dpi)
// Text for each tab // Text for each tab
for (uint32_t i = 0; i < std::size(ScenarioOriginStringIds); i++) for (uint32_t i = 0; i < std::size(ScenarioOriginStringIds); i++)
{ {
rct_widget* widget = &window_scenarioselect_widgets[WIDX_TAB1 + i]; Widget* widget = &window_scenarioselect_widgets[WIDX_TAB1 + i];
if (widget->type == WindowWidgetType::Empty) if (widget->type == WindowWidgetType::Empty)
continue; continue;

View File

@ -59,7 +59,7 @@ validate_global_widx(WC_SCENERY, WIDX_SCENERY_ROTATE_OBJECTS_BUTTON);
validate_global_widx(WC_SCENERY, WIDX_SCENERY_EYEDROPPER_BUTTON); validate_global_widx(WC_SCENERY, WIDX_SCENERY_EYEDROPPER_BUTTON);
// clang-format off // clang-format off
static rct_widget WindowSceneryBaseWidgets[] = { static Widget WindowSceneryBaseWidgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WINDOW_SCENERY_MIN_WIDTH, WINDOW_SCENERY_MIN_HEIGHT), WINDOW_SHIM(WINDOW_TITLE, WINDOW_SCENERY_MIN_WIDTH, WINDOW_SCENERY_MIN_HEIGHT),
MakeWidget ({ 0, 43}, {634, 99}, WindowWidgetType::Resize, WindowColour::Secondary ), // 8 0x009DE2C8 MakeWidget ({ 0, 43}, {634, 99}, WindowWidgetType::Resize, WindowColour::Secondary ), // 8 0x009DE2C8
MakeWidget ({ 2, 47}, {607, 80}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ), // 1000000 0x009DE418 MakeWidget ({ 2, 47}, {607, 80}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ), // 1000000 0x009DE418
@ -125,7 +125,7 @@ private:
}; };
std::vector<SceneryTabInfo> _tabEntries; std::vector<SceneryTabInfo> _tabEntries;
std::vector<rct_widget> _widgets; std::vector<Widget> _widgets;
int32_t _requiredWidth; int32_t _requiredWidth;
ScenerySelection _selectedScenery; ScenerySelection _selectedScenery;
int16_t _hoverCounter; int16_t _hoverCounter;

View File

@ -35,7 +35,7 @@ uint16_t gWindowSceneryScatterSize;
ScatterToolDensity gWindowSceneryScatterDensity; ScatterToolDensity gWindowSceneryScatterDensity;
// clang-format off // clang-format off
static rct_widget window_scenery_scatter_widgets[] = { static Widget window_scenery_scatter_widgets[] = {
MakeWidget ({ 0, 0}, {86, 100}, WindowWidgetType::Frame, WindowColour::Secondary ), // panel / background MakeWidget ({ 0, 0}, {86, 100}, WindowWidgetType::Frame, WindowColour::Secondary ), // panel / background
MakeWidget ({ 1, 1}, {84, 14}, WindowWidgetType::Caption, WindowColour::Primary , STR_SCENERY_SCATTER, STR_WINDOW_TITLE_TIP ), // title bar MakeWidget ({ 1, 1}, {84, 14}, WindowWidgetType::Caption, WindowColour::Primary , STR_SCENERY_SCATTER, STR_WINDOW_TITLE_TIP ), // title bar
MakeWidget ({73, 2}, {11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP ), // close x button MakeWidget ({73, 2}, {11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP ), // close x button

View File

@ -60,7 +60,7 @@ enum
}; };
// clang-format off // clang-format off
static rct_widget window_server_list_widgets[] = { static Widget window_server_list_widgets[] = {
MakeWidget({ 0, 0}, {341, 91}, WindowWidgetType::Frame, WindowColour::Primary ), // panel / background MakeWidget({ 0, 0}, {341, 91}, WindowWidgetType::Frame, WindowColour::Primary ), // panel / background
MakeWidget({ 1, 1}, {338, 14}, WindowWidgetType::Caption, WindowColour::Primary, STR_SERVER_LIST, STR_WINDOW_TITLE_TIP), // title bar MakeWidget({ 1, 1}, {338, 14}, WindowWidgetType::Caption, WindowColour::Primary, STR_SERVER_LIST, STR_WINDOW_TITLE_TIP), // title bar
MakeWidget({327, 2}, { 11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), // close x button MakeWidget({327, 2}, { 11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), // close x button

View File

@ -45,7 +45,7 @@ enum {
static constexpr const int32_t WW = 300; static constexpr const int32_t WW = 300;
static constexpr const int32_t WH = 154; static constexpr const int32_t WH = 154;
static rct_widget _windowServerStartWidgets[] = { static Widget _windowServerStartWidgets[] = {
MakeWidget({ 0, 0 }, { WW, WH }, WindowWidgetType::Frame, WindowColour::Primary), // panel / background MakeWidget({ 0, 0 }, { WW, WH }, WindowWidgetType::Frame, WindowColour::Primary), // panel / background
MakeWidget({ 1, 1 }, { 298, 14 }, WindowWidgetType::Caption, WindowColour::Primary, STR_START_SERVER,STR_WINDOW_TITLE_TIP), // title bar MakeWidget({ 1, 1 }, { 298, 14 }, WindowWidgetType::Caption, WindowColour::Primary, STR_START_SERVER,STR_WINDOW_TITLE_TIP), // title bar
MakeWidget({ WW - 13, 2 }, { 11, 12 }, WindowWidgetType::CloseBox, WindowColour::Primary, STR_CLOSE_X,STR_CLOSE_WINDOW_TIP), // close x button MakeWidget({ WW - 13, 2 }, { 11, 12 }, WindowWidgetType::CloseBox, WindowColour::Primary, STR_CLOSE_X,STR_CLOSE_WINDOW_TIP), // close x button

View File

@ -38,7 +38,7 @@ enum WindowShortcutWidgetIdx
}; };
// clang-format off // clang-format off
static rct_widget window_shortcut_widgets[] = { static Widget window_shortcut_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({0, 43}, {350, 287}, WindowWidgetType::Resize, WindowColour::Secondary), MakeWidget({0, 43}, {350, 287}, WindowWidgetType::Resize, WindowColour::Secondary),
MakeWidget({4, 47}, {412, 245}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_VERTICAL, STR_SHORTCUT_LIST_TIP ), MakeWidget({4, 47}, {412, 245}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_VERTICAL, STR_SHORTCUT_LIST_TIP ),
@ -57,7 +57,7 @@ enum
}; };
// clang-format off // clang-format off
static rct_widget window_shortcut_change_widgets[] = { static Widget window_shortcut_change_widgets[] = {
WINDOW_SHIM(CHANGE_WINDOW_TITLE, CHANGE_WW, CHANGE_WH), WINDOW_SHIM(CHANGE_WINDOW_TITLE, CHANGE_WW, CHANGE_WH),
MakeWidget({ 75, 56 }, { 100, 14 }, WindowWidgetType::Button, WindowColour::Primary, STR_SHORTCUT_REMOVE, STR_SHORTCUT_REMOVE_TIP), MakeWidget({ 75, 56 }, { 100, 14 }, WindowWidgetType::Button, WindowColour::Primary, STR_SHORTCUT_REMOVE, STR_SHORTCUT_REMOVE_TIP),
WIDGETS_END, WIDGETS_END,
@ -174,7 +174,7 @@ private:
}; };
std::vector<ShortcutTabDesc> _tabs; std::vector<ShortcutTabDesc> _tabs;
std::vector<rct_widget> _widgets; std::vector<Widget> _widgets;
std::vector<ShortcutStringPair> _list; std::vector<ShortcutStringPair> _list;
int_fast16_t _highlightedItem; int_fast16_t _highlightedItem;
size_t _currentTabIndex{}; size_t _currentTabIndex{};

View File

@ -42,7 +42,7 @@ enum WindowSignWidgetIdx {
}; };
// 0x9AEE00 // 0x9AEE00
static rct_widget window_sign_widgets[] = { static Widget window_sign_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 3, 17}, {85, 60}, WindowWidgetType::Viewport, WindowColour::Secondary, STR_VIEWPORT ), // Viewport MakeWidget({ 3, 17}, {85, 60}, WindowWidgetType::Viewport, WindowColour::Secondary, STR_VIEWPORT ), // Viewport
MakeWidget({WW - 25, 19}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RENAME, STR_CHANGE_SIGN_TEXT_TIP ), // change sign button MakeWidget({WW - 25, 19}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RENAME, STR_CHANGE_SIGN_TEXT_TIP ), // change sign button
@ -130,7 +130,7 @@ public:
} }
// Create viewport // Create viewport
rct_widget& viewportWidget = window_sign_widgets[WIDX_VIEWPORT]; Widget& viewportWidget = window_sign_widgets[WIDX_VIEWPORT];
viewport_create( viewport_create(
this, windowPos + ScreenCoordsXY{ viewportWidget.left + 1, viewportWidget.top + 1 }, viewportWidget.width() - 1, this, windowPos + ScreenCoordsXY{ viewportWidget.left + 1, viewportWidget.top + 1 }, viewportWidget.width() - 1,
viewportWidget.height() - 1, Focus(CoordsXYZ{ signViewPosition, viewZ })); viewportWidget.height() - 1, Focus(CoordsXYZ{ signViewPosition, viewZ }));
@ -187,7 +187,7 @@ public:
void OnMouseDown(WidgetIndex widgetIndex) override void OnMouseDown(WidgetIndex widgetIndex) override
{ {
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
switch (widgetIndex) switch (widgetIndex)
{ {
case WIDX_MAIN_COLOUR: case WIDX_MAIN_COLOUR:
@ -239,8 +239,8 @@ public:
void OnPrepareDraw() override void OnPrepareDraw() override
{ {
rct_widget* main_colour_btn = &window_sign_widgets[WIDX_MAIN_COLOUR]; Widget* main_colour_btn = &window_sign_widgets[WIDX_MAIN_COLOUR];
rct_widget* text_colour_btn = &window_sign_widgets[WIDX_TEXT_COLOUR]; Widget* text_colour_btn = &window_sign_widgets[WIDX_TEXT_COLOUR];
if (_isSmall) if (_isSmall)
{ {
@ -302,7 +302,7 @@ public:
auto signViewPos = CoordsXYZ{ banner->position.ToCoordsXY().ToTileCentre(), frame_no }; auto signViewPos = CoordsXYZ{ banner->position.ToCoordsXY().ToTileCentre(), frame_no };
// Create viewport // Create viewport
rct_widget* viewportWidget = &window_sign_widgets[WIDX_VIEWPORT]; Widget* viewportWidget = &window_sign_widgets[WIDX_VIEWPORT];
viewport_create( viewport_create(
this, windowPos + ScreenCoordsXY{ viewportWidget->left + 1, viewportWidget->top + 1 }, viewportWidget->width() - 1, this, windowPos + ScreenCoordsXY{ viewportWidget->left + 1, viewportWidget->top + 1 }, viewportWidget->width() - 1,
viewportWidget->height() - 1, Focus(CoordsXYZ{ signViewPos })); viewportWidget->height() - 1, Focus(CoordsXYZ{ signViewPos }));

View File

@ -84,7 +84,7 @@ validate_global_widx(WC_STAFF, WIDX_PICKUP);
MakeTab ({34, 17}, STR_STAFF_OPTIONS_TIP ), /* Tab 2 */ \ MakeTab ({34, 17}, STR_STAFF_OPTIONS_TIP ), /* Tab 2 */ \
MakeTab ({65, 17}, STR_STAFF_STATS_TIP ) /* Tab 3 */ MakeTab ({65, 17}, STR_STAFF_STATS_TIP ) /* Tab 3 */
static rct_widget window_staff_overview_widgets[] = { static Widget window_staff_overview_widgets[] = {
MAIN_STAFF_WIDGETS, MAIN_STAFF_WIDGETS,
MakeWidget ({ 3, 47}, {162, 120}, WindowWidgetType::Viewport, WindowColour::Secondary ), // Viewport MakeWidget ({ 3, 47}, {162, 120}, WindowWidgetType::Viewport, WindowColour::Secondary ), // Viewport
MakeWidget ({ 3, WH - 13}, {162, 11}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // Label at bottom of viewport MakeWidget ({ 3, WH - 13}, {162, 11}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // Label at bottom of viewport
@ -97,7 +97,7 @@ static rct_widget window_staff_overview_widgets[] = {
}; };
//0x9AF910 //0x9AF910
static rct_widget window_staff_options_widgets[] = { static Widget window_staff_options_widgets[] = {
MAIN_STAFF_WIDGETS, MAIN_STAFF_WIDGETS,
MakeWidget ({ 5, 50}, {180, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // Checkbox 1 MakeWidget ({ 5, 50}, {180, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // Checkbox 1
MakeWidget ({ 5, 67}, {180, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // Checkbox 2 MakeWidget ({ 5, 67}, {180, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // Checkbox 2
@ -110,12 +110,12 @@ static rct_widget window_staff_options_widgets[] = {
// clang-format on // clang-format on
// 0x9AF9F4 // 0x9AF9F4
static rct_widget window_staff_stats_widgets[] = { static Widget window_staff_stats_widgets[] = {
MAIN_STAFF_WIDGETS, MAIN_STAFF_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget* window_staff_page_widgets[] = { static Widget* window_staff_page_widgets[] = {
window_staff_overview_widgets, window_staff_overview_widgets,
window_staff_options_widgets, window_staff_options_widgets,
window_staff_stats_widgets, window_staff_stats_widgets,
@ -398,7 +398,7 @@ private:
void OverviewOnMouseDown(WidgetIndex widgetIndex) void OverviewOnMouseDown(WidgetIndex widgetIndex)
{ {
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
switch (widgetIndex) switch (widgetIndex)
{ {
@ -1178,7 +1178,7 @@ private:
Invalidate(); Invalidate();
} }
void ShowLocateDropdown(rct_widget* widget) void ShowLocateDropdown(Widget* widget)
{ {
gDropdownItems[0].Format = STR_LOCATE_SUBJECT_TIP; gDropdownItems[0].Format = STR_LOCATE_SUBJECT_TIP;
gDropdownItems[1].Format = STR_FOLLOW_SUBJECT_TIP; gDropdownItems[1].Format = STR_FOLLOW_SUBJECT_TIP;
@ -1204,7 +1204,7 @@ private:
void DrawTabImage(rct_drawpixelinfo* dpi, int32_t p, int32_t baseImageId) void DrawTabImage(rct_drawpixelinfo* dpi, int32_t p, int32_t baseImageId)
{ {
WidgetIndex widgetIndex = WIDX_TAB_1 + p; WidgetIndex widgetIndex = WIDX_TAB_1 + p;
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
auto screenCoords = windowPos + ScreenCoordsXY{ widget->left, widget->top }; auto screenCoords = windowPos + ScreenCoordsXY{ widget->left, widget->top };

View File

@ -32,7 +32,7 @@ enum WindowStaffFireWidgetIdx {
}; };
// 0x9AFB4C // 0x9AFB4C
static rct_widget window_staff_fire_widgets[] = { static Widget window_staff_fire_widgets[] = {
WINDOW_SHIM_WHITE(WINDOW_TITLE, WW, WH), WINDOW_SHIM_WHITE(WINDOW_TITLE, WW, WH),
MakeWidget({ 10, WH - 20}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_YES ), MakeWidget({ 10, WH - 20}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_YES ),
MakeWidget({WW - 95, WH - 20}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL), MakeWidget({WW - 95, WH - 20}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL),

View File

@ -67,7 +67,7 @@ constexpr int32_t MAX_WW = 500;
constexpr int32_t MAX_WH = 450; constexpr int32_t MAX_WH = 450;
// clang-format off // clang-format off
static rct_widget window_staff_list_widgets[] = { static Widget window_staff_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, { WW, WH - 43}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab content panel MakeWidget({ 0, 43}, { WW, WH - 43}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab content panel
MakeTab ({ 3, 17}, STR_STAFF_HANDYMEN_TAB_TIP ), // handymen tab MakeTab ({ 3, 17}, STR_STAFF_HANDYMEN_TAB_TIP ), // handymen tab

View File

@ -32,7 +32,7 @@ enum WindowTextInputWidgetIdx
WIDX_OKAY WIDX_OKAY
}; };
static rct_widget window_text_input_widgets[] = { static Widget window_text_input_widgets[] = {
WINDOW_SHIM(STR_NONE, WW, WH), WINDOW_SHIM(STR_NONE, WW, WH),
MakeWidget({ 170, 68 }, { 71, 14 }, WindowWidgetType::Button, WindowColour::Secondary, STR_CANCEL), MakeWidget({ 170, 68 }, { 71, 14 }, WindowWidgetType::Button, WindowColour::Secondary, STR_CANCEL),
MakeWidget({ 10, 68 }, { 71, 14 }, WindowWidgetType::Button, WindowColour::Secondary, STR_OK), MakeWidget({ 10, 68 }, { 71, 14 }, WindowWidgetType::Button, WindowColour::Secondary, STR_OK),

View File

@ -71,7 +71,7 @@ static constexpr const int32_t WW = 320;
static constexpr const int32_t WH = 107; static constexpr const int32_t WH = 107;
// clang-format off // clang-format off
static rct_widget window_themes_widgets[] = { static Widget window_themes_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {320, 64}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab content panel MakeWidget({ 0, 43}, {320, 64}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab content panel
MakeTab ({ 3, 17}, STR_THEMES_TAB_SETTINGS_TIP ), // settings tab MakeTab ({ 3, 17}, STR_THEMES_TAB_SETTINGS_TIP ), // settings tab

View File

@ -265,7 +265,7 @@ constexpr ScreenCoordsXY CheckboxGroupOffset(
MakeWidget({6, 0}, {WW - 12, 0}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_NONE, STR_NONE ), /* Details group box */ \ MakeWidget({6, 0}, {WW - 12, 0}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_NONE, STR_NONE ), /* Details group box */ \
MakeWidget({6, 0}, {WW - 12, 0}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_TILE_INSPECTOR_GROUPBOX_PROPERTIES, STR_NONE ) /* Properties group box */ MakeWidget({6, 0}, {WW - 12, 0}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_TILE_INSPECTOR_GROUPBOX_PROPERTIES, STR_NONE ) /* Properties group box */
static rct_widget DefaultWidgets[] = { static Widget DefaultWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
WIDGETS_END, WIDGETS_END,
}; };
@ -274,7 +274,7 @@ constexpr int32_t NumSurfaceProperties = 4;
constexpr int32_t NumSurfaceDetails = 4; constexpr int32_t NumSurfaceDetails = 4;
constexpr int32_t SurfacePropertiesHeight = 16 + NumSurfaceProperties * 21; constexpr int32_t SurfacePropertiesHeight = 16 + NumSurfaceProperties * 21;
constexpr int32_t SurfaceDetailsHeight = 20 + NumSurfaceDetails * 11; constexpr int32_t SurfaceDetailsHeight = 20 + NumSurfaceDetails * 11;
static rct_widget SurfaceWidgets[] = { static Widget SurfaceWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_SURFACE_SPINNER_HEIGHT{,_INCREASE,_DECREASE} MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_SURFACE_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
MakeWidget(PropertyRowCol({ 12, 0 }, 1, 0), PropertyButtonSize, WindowWidgetType::Button, WindowColour::Secondary, STR_TILE_INSPECTOR_SURFACE_REMOVE_FENCES), // WIDX_SURFACE_BUTTON_REMOVE_FENCES MakeWidget(PropertyRowCol({ 12, 0 }, 1, 0), PropertyButtonSize, WindowWidgetType::Button, WindowColour::Secondary, STR_TILE_INSPECTOR_SURFACE_REMOVE_FENCES), // WIDX_SURFACE_BUTTON_REMOVE_FENCES
@ -291,7 +291,7 @@ constexpr int32_t NumPathProperties = 5;
constexpr int32_t NumPathDetails = 3; constexpr int32_t NumPathDetails = 3;
constexpr int32_t PathPropertiesHeight = 16 + NumPathProperties * 21; constexpr int32_t PathPropertiesHeight = 16 + NumPathProperties * 21;
constexpr int32_t PathDetailsHeight = 20 + NumPathDetails * 11; constexpr int32_t PathDetailsHeight = 20 + NumPathDetails * 11;
static rct_widget PathWidgets[] = { static Widget PathWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_PATH_SPINNER_HEIGHT{,_INCREASE,_DECREASE} MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_PATH_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
MakeWidget(PropertyRowCol({ 12, 0 }, 1, 0), PropertyFullWidth, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_TILE_INSPECTOR_PATH_BROKEN), // WIDX_PATH_CHECK_BROKEN MakeWidget(PropertyRowCol({ 12, 0 }, 1, 0), PropertyFullWidth, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_TILE_INSPECTOR_PATH_BROKEN), // WIDX_PATH_CHECK_BROKEN
@ -311,7 +311,7 @@ constexpr int32_t NumTrackProperties = 5;
constexpr int32_t NumTrackDetails = 7; constexpr int32_t NumTrackDetails = 7;
constexpr int32_t TrackPropertiesHeight = 16 + NumTrackProperties * 21; constexpr int32_t TrackPropertiesHeight = 16 + NumTrackProperties * 21;
constexpr int32_t TrackDetailsHeight = 20 + NumTrackDetails * 11; constexpr int32_t TrackDetailsHeight = 20 + NumTrackDetails * 11;
static rct_widget TrackWidgets[] = { static Widget TrackWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
MakeWidget(PropertyRowCol({ 12, 0}, 0, 0), PropertyFullWidth, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_TILE_INSPECTOR_TRACK_ENTIRE_TRACK_PIECE), // WIDX_TRACK_CHECK_APPLY_TO_ALL MakeWidget(PropertyRowCol({ 12, 0}, 0, 0), PropertyFullWidth, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_TILE_INSPECTOR_TRACK_ENTIRE_TRACK_PIECE), // WIDX_TRACK_CHECK_APPLY_TO_ALL
MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 1, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_TRACK_SPINNER_HEIGHT{,_INCREASE,_DECREASE} MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 1, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_TRACK_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
@ -325,7 +325,7 @@ constexpr int32_t NumSceneryProperties = 4; // The checkbox groups both count fo
constexpr int32_t NumSceneryDetails = 4; constexpr int32_t NumSceneryDetails = 4;
constexpr int32_t SceneryPropertiesHeight = 16 + NumSceneryProperties * 21; constexpr int32_t SceneryPropertiesHeight = 16 + NumSceneryProperties * 21;
constexpr int32_t SceneryDetailsHeight = 20 + NumSceneryDetails * 11; constexpr int32_t SceneryDetailsHeight = 20 + NumSceneryDetails * 11;
static rct_widget SceneryWidgets[] = { static Widget SceneryWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_SCENERY_SPINNER_HEIGHT{,_INCREASE,_DECREASE} MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_SCENERY_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
MakeWidget(CheckboxGroupOffset(PropertyRowCol({ 12, 0 }, 1, 1), 1, 0), { 12, 12 }, WindowWidgetType::Checkbox, WindowColour::Secondary), // WIDX_SCENERY_CHECK_QUARTER_N MakeWidget(CheckboxGroupOffset(PropertyRowCol({ 12, 0 }, 1, 1), 1, 0), { 12, 12 }, WindowWidgetType::Checkbox, WindowColour::Secondary), // WIDX_SCENERY_CHECK_QUARTER_N
@ -343,7 +343,7 @@ constexpr int32_t NumEntranceProperties = 2;
constexpr int32_t NumEntranceDetails = 4; constexpr int32_t NumEntranceDetails = 4;
constexpr int32_t EntrancePropertiesHeight = 16 + NumEntranceProperties * 21; constexpr int32_t EntrancePropertiesHeight = 16 + NumEntranceProperties * 21;
constexpr int32_t EntranceDetailsHeight = 20 + NumEntranceDetails * 11; constexpr int32_t EntranceDetailsHeight = 20 + NumEntranceDetails * 11;
static rct_widget EntranceWidgets[] = { static Widget EntranceWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_ENTRANCE_SPINNER_HEIGHT{,_INCREASE,_DECREASE} MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_ENTRANCE_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
MakeWidget(PropertyRowCol({ 12, 0 }, 1, 0), PropertyButtonSize, WindowWidgetType::Button, WindowColour::Secondary, STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE, STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE_TIP), // WIDX_ENTRANCE_BUTTON_MAKE_USABLE MakeWidget(PropertyRowCol({ 12, 0 }, 1, 0), PropertyButtonSize, WindowWidgetType::Button, WindowColour::Secondary, STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE, STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE_TIP), // WIDX_ENTRANCE_BUTTON_MAKE_USABLE
@ -354,7 +354,7 @@ constexpr int32_t NumWallProperties = 3;
constexpr int32_t NumWallDetails = 2; constexpr int32_t NumWallDetails = 2;
constexpr int32_t WallPropertiesHeight = 16 + NumWallProperties * 21; constexpr int32_t WallPropertiesHeight = 16 + NumWallProperties * 21;
constexpr int32_t WallDetailsHeight = 20 + NumWallDetails * 11; constexpr int32_t WallDetailsHeight = 20 + NumWallDetails * 11;
static rct_widget WallWidgets[] = { static Widget WallWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_WALL_SPINNER_HEIGHT{,_INCREASE,_DECREASE} MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_WALL_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
MakeWidget(PropertyRowCol({ 12, 0 }, 1, 1), PropertyButtonSize, WindowWidgetType::DropdownMenu, WindowColour::Secondary), // WIDX_WALL_DROPDOWN_SLOPE MakeWidget(PropertyRowCol({ 12, 0 }, 1, 1), PropertyButtonSize, WindowWidgetType::DropdownMenu, WindowColour::Secondary), // WIDX_WALL_DROPDOWN_SLOPE
@ -367,7 +367,7 @@ constexpr int32_t NumLargeSceneryProperties = 1;
constexpr int32_t NumLargeSceneryDetails = 3; constexpr int32_t NumLargeSceneryDetails = 3;
constexpr int32_t LargeSceneryPropertiesHeight = 16 + NumLargeSceneryProperties * 21; constexpr int32_t LargeSceneryPropertiesHeight = 16 + NumLargeSceneryProperties * 21;
constexpr int32_t LargeSceneryDetailsHeight = 20 + NumLargeSceneryDetails * 11; constexpr int32_t LargeSceneryDetailsHeight = 20 + NumLargeSceneryDetails * 11;
static rct_widget LargeSceneryWidgets[] = { static Widget LargeSceneryWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_LARGE_SCENERY_SPINNER_HEIGHT{,_INCREASE,_DECREASE} MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_LARGE_SCENERY_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
WIDGETS_END, WIDGETS_END,
@ -377,7 +377,7 @@ constexpr int32_t NumBannerProperties = 3;
constexpr int32_t NumBannerDetails = 1; constexpr int32_t NumBannerDetails = 1;
constexpr int32_t BannerPropertiesHeight = 16 + NumBannerProperties * 21; constexpr int32_t BannerPropertiesHeight = 16 + NumBannerProperties * 21;
constexpr int32_t BannerDetailsHeight = 20 + NumBannerDetails * 11; constexpr int32_t BannerDetailsHeight = 20 + NumBannerDetails * 11;
static rct_widget BannerWidgets[] = { static Widget BannerWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS, MAIN_TILE_INSPECTOR_WIDGETS,
MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_BANNER_SPINNER_HEIGHT{,_INCREASE,_DECREASE} MakeSpinnerWidgets(PropertyRowCol({ 12, 0 }, 0, 1), PropertyButtonSize, WindowWidgetType::Spinner, WindowColour::Secondary), // WIDX_BANNER_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
MakeWidget(CheckboxGroupOffset(PropertyRowCol({ 12, 0 }, 1, 1), 3, 1), { 12, 12 }, WindowWidgetType::Checkbox, WindowColour::Secondary), // WIDX_BANNER_CHECK_BLOCK_NE MakeWidget(CheckboxGroupOffset(PropertyRowCol({ 12, 0 }, 1, 1), 3, 1), { 12, 12 }, WindowWidgetType::Checkbox, WindowColour::Secondary), // WIDX_BANNER_CHECK_BLOCK_NE
@ -388,7 +388,7 @@ static rct_widget BannerWidgets[] = {
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget *PageWidgets[] = { static Widget *PageWidgets[] = {
DefaultWidgets, DefaultWidgets,
SurfaceWidgets, SurfaceWidgets,
PathWidgets, PathWidgets,
@ -847,7 +847,7 @@ public:
case WIDX_WALL_DROPDOWN_SLOPE_BUTTON: case WIDX_WALL_DROPDOWN_SLOPE_BUTTON:
{ {
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
// Use dropdown instead of dropdown button // Use dropdown instead of dropdown button
widget--; widget--;
// Fill dropdown list // Fill dropdown list

View File

@ -20,7 +20,7 @@ enum WindowTitleExitWidgetIdx {
WIDX_EXIT, WIDX_EXIT,
}; };
static rct_widget window_title_exit_widgets[] = { static Widget window_title_exit_widgets[] = {
MakeWidget({0, 0}, {40, 64}, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_MENU_EXIT, STR_EXIT), MakeWidget({0, 0}, {40, 64}, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_MENU_EXIT, STR_EXIT),
WIDGETS_END, WIDGETS_END,
}; };

View File

@ -22,7 +22,7 @@ enum
WIDX_LOGO WIDX_LOGO
}; };
static rct_widget window_title_logo_widgets[] = { static Widget window_title_logo_widgets[] = {
MakeWidget({ 0, 0 }, { WW + 1, WH + 1 }, WindowWidgetType::ImgBtn, WindowColour::Primary), MakeWidget({ 0, 0 }, { WW + 1, WH + 1 }, WindowWidgetType::ImgBtn, WindowColour::Primary),
WIDGETS_END, WIDGETS_END,
}; };

View File

@ -45,7 +45,7 @@ enum
static constexpr ScreenSize MenuButtonDims = { 82, 82 }; static constexpr ScreenSize MenuButtonDims = { 82, 82 };
static constexpr ScreenSize UpdateButtonDims = { MenuButtonDims.width * 4, 28 }; static constexpr ScreenSize UpdateButtonDims = { MenuButtonDims.width * 4, 28 };
static rct_widget window_title_menu_widgets[] = { static Widget window_title_menu_widgets[] = {
MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_MENU_NEW_GAME, STR_START_NEW_GAME_TIP), MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_MENU_NEW_GAME, STR_START_NEW_GAME_TIP),
MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_MENU_LOAD_GAME, STR_CONTINUE_SAVED_GAME_TIP), MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_MENU_LOAD_GAME, STR_CONTINUE_SAVED_GAME_TIP),
MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_G2_MENU_MULTIPLAYER, STR_SHOW_MULTIPLAYER_TIP), MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_G2_MENU_MULTIPLAYER, STR_SHOW_MULTIPLAYER_TIP),
@ -99,7 +99,7 @@ public:
WidgetIndex i = 0; WidgetIndex i = 0;
int32_t x = 0; int32_t x = 0;
for (rct_widget* widget = widgets; widget != &widgets[WIDX_NEW_VERSION]; widget++) for (Widget* widget = widgets; widget != &widgets[WIDX_NEW_VERSION]; widget++)
{ {
if (widget->type != WindowWidgetType::Empty) if (widget->type != WindowWidgetType::Empty)
{ {
@ -206,7 +206,7 @@ public:
} }
#endif #endif
rct_widget* widget = &widgets[widgetIndex]; Widget* widget = &widgets[widgetIndex];
int32_t yOffset = 0; int32_t yOffset = 0;
if (i > 5) if (i > 5)
{ {

View File

@ -19,7 +19,7 @@ enum WindowTitleOptionsWidgetIdx {
WIDX_OPTIONS, WIDX_OPTIONS,
}; };
static rct_widget _windowTitleOptionsWidgets[] = { static Widget _windowTitleOptionsWidgets[] = {
MakeWidget({0, 0}, {80, 15}, WindowWidgetType::Button, WindowColour::Tertiary, STR_OPTIONS, STR_OPTIONS_TIP), MakeWidget({0, 0}, {80, 15}, WindowWidgetType::Button, WindowColour::Tertiary, STR_OPTIONS, STR_OPTIONS_TIP),
WIDGETS_END, WIDGETS_END,
}; };

View File

@ -21,7 +21,7 @@ enum {
WIDX_BACKGROUND WIDX_BACKGROUND
}; };
static rct_widget window_tooltip_widgets[] = { static Widget window_tooltip_widgets[] = {
MakeWidget({0, 0}, {200, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary), MakeWidget({0, 0}, {200, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary),
WIDGETS_END, WIDGETS_END,
}; };

View File

@ -246,7 +246,7 @@ static constexpr const int32_t right_aligned_widgets_order[] = {
#pragma endregion #pragma endregion
static rct_widget window_top_toolbar_widgets[] = { static Widget window_top_toolbar_widgets[] = {
MakeRemapWidget({ 0, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_TOOLBAR_PAUSE, STR_PAUSE_GAME_TIP ), // Pause MakeRemapWidget({ 0, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_TOOLBAR_PAUSE, STR_PAUSE_GAME_TIP ), // Pause
MakeRemapWidget({ 60, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_TOOLBAR_FILE, STR_DISC_AND_GAME_OPTIONS_TIP ), // File menu MakeRemapWidget({ 60, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_TOOLBAR_FILE, STR_DISC_AND_GAME_OPTIONS_TIP ), // File menu
MakeRemapWidget({250, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_G2_TOOLBAR_MUTE, STR_TOOLBAR_MUTE_TIP ), // Mute MakeRemapWidget({250, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_G2_TOOLBAR_MUTE, STR_TOOLBAR_MUTE_TIP ), // Mute
@ -279,7 +279,7 @@ static rct_widget window_top_toolbar_widgets[] = {
// clang-format on // clang-format on
static void WindowTopToolbarMouseup(rct_window* w, WidgetIndex widgetIndex); static void WindowTopToolbarMouseup(rct_window* w, WidgetIndex widgetIndex);
static void WindowTopToolbarMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget); static void WindowTopToolbarMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget);
static void WindowTopToolbarDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex); static void WindowTopToolbarDropdown(rct_window* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
static void WindowTopToolbarToolUpdate(rct_window* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords); static void WindowTopToolbarToolUpdate(rct_window* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
static void WindowTopToolbarToolDown(rct_window* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords); static void WindowTopToolbarToolDown(rct_window* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
@ -302,19 +302,19 @@ static WindowEventList window_top_toolbar_events([](auto& events) {
events.paint = &WindowTopToolbarPaint; events.paint = &WindowTopToolbarPaint;
}); });
static void TopToolbarInitViewMenu(rct_window* window, rct_widget* widget); static void TopToolbarInitViewMenu(rct_window* window, Widget* widget);
static void TopToolbarViewMenuDropdown(int16_t dropdownIndex); static void TopToolbarViewMenuDropdown(int16_t dropdownIndex);
static void TopToolbarInitMapMenu(rct_window* window, rct_widget* widget); static void TopToolbarInitMapMenu(rct_window* window, Widget* widget);
static void TopToolbarMapMenuDropdown(int16_t dropdownIndex); static void TopToolbarMapMenuDropdown(int16_t dropdownIndex);
static void TopToolbarInitFastforwardMenu(rct_window* window, rct_widget* widget); static void TopToolbarInitFastforwardMenu(rct_window* window, Widget* widget);
static void TopToolbarFastforwardMenuDropdown(int16_t dropdownIndex); static void TopToolbarFastforwardMenuDropdown(int16_t dropdownIndex);
static void TopToolbarInitRotateMenu(rct_window* window, rct_widget* widget); static void TopToolbarInitRotateMenu(rct_window* window, Widget* widget);
static void TopToolbarRotateMenuDropdown(int16_t dropdownIndex); static void TopToolbarRotateMenuDropdown(int16_t dropdownIndex);
static void TopToolbarInitCheatsMenu(rct_window* window, rct_widget* widget); static void TopToolbarInitCheatsMenu(rct_window* window, Widget* widget);
static void TopToolbarCheatsMenuDropdown(int16_t dropdownIndex); static void TopToolbarCheatsMenuDropdown(int16_t dropdownIndex);
static void TopToolbarInitDebugMenu(rct_window* window, rct_widget* widget); static void TopToolbarInitDebugMenu(rct_window* window, Widget* widget);
static void TopToolbarDebugMenuDropdown(int16_t dropdownIndex); static void TopToolbarDebugMenuDropdown(int16_t dropdownIndex);
static void TopToolbarInitNetworkMenu(rct_window* window, rct_widget* widget); static void TopToolbarInitNetworkMenu(rct_window* window, Widget* widget);
static void TopToolbarNetworkMenuDropdown(int16_t dropdownIndex); static void TopToolbarNetworkMenuDropdown(int16_t dropdownIndex);
static void ToggleFootpathWindow(); static void ToggleFootpathWindow();
@ -435,7 +435,7 @@ static void WindowTopToolbarMouseup(rct_window* w, WidgetIndex widgetIndex)
* *
* rct2: 0x0066CA3B * rct2: 0x0066CA3B
*/ */
static void WindowTopToolbarMousedown(rct_window* w, WidgetIndex widgetIndex, rct_widget* widget) static void WindowTopToolbarMousedown(rct_window* w, WidgetIndex widgetIndex, Widget* widget)
{ {
int32_t numItems = 0; int32_t numItems = 0;
@ -670,7 +670,7 @@ static void WindowTopToolbarDropdown(rct_window* w, WidgetIndex widgetIndex, int
static void WindowTopToolbarInvalidate(rct_window* w) static void WindowTopToolbarInvalidate(rct_window* w)
{ {
int32_t x, widgetIndex, widgetWidth, firstAlignment; int32_t x, widgetIndex, widgetWidth, firstAlignment;
rct_widget* widget; Widget* widget;
// Enable / disable buttons // Enable / disable buttons
window_top_toolbar_widgets[WIDX_PAUSE].type = WindowWidgetType::TrnBtn; window_top_toolbar_widgets[WIDX_PAUSE].type = WindowWidgetType::TrnBtn;
@ -3287,7 +3287,7 @@ static void WindowTopToolbarToolAbort(rct_window* w, WidgetIndex widgetIndex)
} }
} }
static void TopToolbarInitMapMenu(rct_window* w, rct_widget* widget) static void TopToolbarInitMapMenu(rct_window* w, Widget* widget)
{ {
auto i = 0; auto i = 0;
gDropdownItems[i++].Format = STR_SHORTCUT_SHOW_MAP; gDropdownItems[i++].Format = STR_SHORTCUT_SHOW_MAP;
@ -3365,7 +3365,7 @@ static void TopToolbarMapMenuDropdown(int16_t dropdownIndex)
} }
} }
static void TopToolbarInitFastforwardMenu(rct_window* w, rct_widget* widget) static void TopToolbarInitFastforwardMenu(rct_window* w, Widget* widget)
{ {
int32_t num_items = 4; int32_t num_items = 4;
gDropdownItems[0].Format = STR_TOGGLE_OPTION; gDropdownItems[0].Format = STR_TOGGLE_OPTION;
@ -3428,7 +3428,7 @@ static void TopToolbarFastforwardMenuDropdown(int16_t dropdownIndex)
} }
} }
static void TopToolbarInitRotateMenu(rct_window* w, rct_widget* widget) static void TopToolbarInitRotateMenu(rct_window* w, Widget* widget)
{ {
gDropdownItems[0].Format = STR_ROTATE_CLOCKWISE; gDropdownItems[0].Format = STR_ROTATE_CLOCKWISE;
gDropdownItems[1].Format = STR_ROTATE_ANTI_CLOCKWISE; gDropdownItems[1].Format = STR_ROTATE_ANTI_CLOCKWISE;
@ -3457,7 +3457,7 @@ static void TopToolbarRotateMenuDropdown(int16_t dropdownIndex)
} }
} }
static void TopToolbarInitCheatsMenu(rct_window* w, rct_widget* widget) static void TopToolbarInitCheatsMenu(rct_window* w, Widget* widget)
{ {
using namespace Dropdown; using namespace Dropdown;
@ -3549,7 +3549,7 @@ static void TopToolbarCheatsMenuDropdown(int16_t dropdownIndex)
} }
} }
static void TopToolbarInitDebugMenu(rct_window* w, rct_widget* widget) static void TopToolbarInitDebugMenu(rct_window* w, Widget* widget)
{ {
gDropdownItems[DDIDX_CONSOLE].Format = STR_TOGGLE_OPTION; gDropdownItems[DDIDX_CONSOLE].Format = STR_TOGGLE_OPTION;
gDropdownItems[DDIDX_CONSOLE].Args = STR_DEBUG_DROPDOWN_CONSOLE; gDropdownItems[DDIDX_CONSOLE].Args = STR_DEBUG_DROPDOWN_CONSOLE;
@ -3563,7 +3563,7 @@ static void TopToolbarInitDebugMenu(rct_window* w, rct_widget* widget)
Dropdown::SetChecked(DDIDX_DEBUG_PAINT, window_find_by_class(WindowClass::DebugPaint) != nullptr); Dropdown::SetChecked(DDIDX_DEBUG_PAINT, window_find_by_class(WindowClass::DebugPaint) != nullptr);
} }
static void TopToolbarInitNetworkMenu(rct_window* w, rct_widget* widget) static void TopToolbarInitNetworkMenu(rct_window* w, Widget* widget)
{ {
gDropdownItems[DDIDX_MULTIPLAYER].Format = STR_MULTIPLAYER; gDropdownItems[DDIDX_MULTIPLAYER].Format = STR_MULTIPLAYER;
gDropdownItems[DDIDX_MULTIPLAYER_RECONNECT].Format = STR_MULTIPLAYER_RECONNECT; gDropdownItems[DDIDX_MULTIPLAYER_RECONNECT].Format = STR_MULTIPLAYER_RECONNECT;
@ -3625,7 +3625,7 @@ static void TopToolbarNetworkMenuDropdown(int16_t dropdownIndex)
* *
* rct2: 0x0066CDE4 * rct2: 0x0066CDE4
*/ */
static void TopToolbarInitViewMenu(rct_window* w, rct_widget* widget) static void TopToolbarInitViewMenu(rct_window* w, Widget* widget)
{ {
using namespace Dropdown; using namespace Dropdown;
constexpr ItemExt items[] = { constexpr ItemExt items[] = {

View File

@ -38,14 +38,14 @@ enum {
WIDX_PROMPT_CANCEL = 4, WIDX_PROMPT_CANCEL = 4,
}; };
static rct_widget window_track_manage_widgets[] = { static Widget window_track_manage_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 10, 24}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_TRACK_MANAGE_RENAME), MakeWidget({ 10, 24}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_TRACK_MANAGE_RENAME),
MakeWidget({130, 24}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_TRACK_MANAGE_DELETE), MakeWidget({130, 24}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_TRACK_MANAGE_DELETE),
WIDGETS_END, WIDGETS_END,
}; };
static rct_widget window_track_delete_prompt_widgets[] = { static Widget window_track_delete_prompt_widgets[] = {
WINDOW_SHIM(STR_DELETE_FILE, WW_DELETE_PROMPT, WH_DELETE_PROMPT), WINDOW_SHIM(STR_DELETE_FILE, WW_DELETE_PROMPT, WH_DELETE_PROMPT),
MakeWidget({ 10, 54}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_TRACK_MANAGE_DELETE), MakeWidget({ 10, 54}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_TRACK_MANAGE_DELETE),
MakeWidget({130, 54}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_CANCEL ), MakeWidget({130, 54}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_CANCEL ),

View File

@ -61,7 +61,7 @@ enum {
validate_global_widx(WC_TRACK_DESIGN_PLACE, WIDX_ROTATE); validate_global_widx(WC_TRACK_DESIGN_PLACE, WIDX_ROTATE);
static rct_widget window_track_place_widgets[] = { static Widget window_track_place_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({173, 83}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP ), MakeWidget({173, 83}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP ),
MakeWidget({173, 59}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_MIRROR_ARROW, STR_MIRROR_IMAGE_TIP ), MakeWidget({173, 59}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_MIRROR_ARROW, STR_MIRROR_IMAGE_TIP ),

View File

@ -51,7 +51,7 @@ enum {
validate_global_widx(WC_TRACK_DESIGN_LIST, WIDX_ROTATE); validate_global_widx(WC_TRACK_DESIGN_LIST, WIDX_ROTATE);
static rct_widget window_track_list_widgets[] = { static Widget window_track_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 4, 18}, {218, 13}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_SELECT_OTHER_RIDE ), MakeWidget({ 4, 18}, {218, 13}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_SELECT_OTHER_RIDE ),
MakeWidget({ 4, 32}, {124, 13}, WindowWidgetType::TextBox, WindowColour::Secondary ), MakeWidget({ 4, 32}, {124, 13}, WindowWidgetType::TextBox, WindowColour::Secondary ),

View File

@ -63,7 +63,7 @@ static constexpr ScreenSize INVISIBLE_SIZE = {24, 12};
#pragma endregion #pragma endregion
static rct_widget window_transparency_main_widgets[] = static Widget window_transparency_main_widgets[] =
{ {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 2, 17}, HIDE_SIZE, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_BUTTON_HIDE_VEGETATION, STR_SEE_THROUGH_VEGETATION), MakeWidget({ 2, 17}, HIDE_SIZE, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_BUTTON_HIDE_VEGETATION, STR_SEE_THROUGH_VEGETATION),

View File

@ -48,7 +48,7 @@ static constexpr const StringId WINDOW_TITLE = STR_VIEW_CLIPPING_TITLE;
static constexpr const int32_t WW = 180; static constexpr const int32_t WW = 180;
static constexpr const int32_t WH = 155; static constexpr const int32_t WH = 155;
static rct_widget window_view_clipping_widgets[] = { static Widget window_view_clipping_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ 11, 19}, { 159, 11}, WindowWidgetType::Checkbox, WindowColour::Primary, STR_VIEW_CLIPPING_HEIGHT_ENABLE, STR_VIEW_CLIPPING_HEIGHT_ENABLE_TIP ), // clip enable/disable check box MakeWidget ({ 11, 19}, { 159, 11}, WindowWidgetType::Checkbox, WindowColour::Primary, STR_VIEW_CLIPPING_HEIGHT_ENABLE, STR_VIEW_CLIPPING_HEIGHT_ENABLE_TIP ), // clip enable/disable check box
MakeWidget ({ 5, 36}, {WW - 10, 48}, WindowWidgetType::Groupbox, WindowColour::Primary, STR_VIEW_CLIPPING_VERTICAL_CLIPPING ), MakeWidget ({ 5, 36}, {WW - 10, 48}, WindowWidgetType::Groupbox, WindowColour::Primary, STR_VIEW_CLIPPING_VERTICAL_CLIPPING ),

View File

@ -40,7 +40,7 @@ static constexpr ScreenSize VIEWPORT_BUTTON = {24, 24};
#pragma endregion #pragma endregion
static rct_widget window_viewport_widgets[] = static Widget window_viewport_widgets[] =
{ {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 14}, { WW - 1, WH - 1}, WindowWidgetType::Resize, WindowColour::Secondary ), // resize MakeWidget({ 0, 14}, { WW - 1, WH - 1}, WindowWidgetType::Resize, WindowColour::Secondary ), // resize
@ -175,7 +175,7 @@ public:
void OnPrepareDraw() override void OnPrepareDraw() override
{ {
rct_widget* viewportWidget = &window_viewport_widgets[WIDX_VIEWPORT]; Widget* viewportWidget = &window_viewport_widgets[WIDX_VIEWPORT];
ResizeFrameWithPage(); ResizeFrameWithPage();
widgets[WIDX_ZOOM_IN].left = width - 27; widgets[WIDX_ZOOM_IN].left = width - 27;

View File

@ -31,7 +31,7 @@ enum WindowWaterWidgetIdx {
WIDX_INCREMENT WIDX_INCREMENT
}; };
static rct_widget window_water_widgets[] = { static Widget window_water_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH), WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({16, 17}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box MakeWidget ({16, 17}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box
MakeRemapWidget({17, 18}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Tertiary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_WATER_TIP), // decrement size MakeRemapWidget({17, 18}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Tertiary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_WATER_TIP), // decrement size

View File

@ -40,7 +40,7 @@ enum class WindowWidgetType : uint8_t
Last = 26, Last = 26,
}; };
constexpr const auto WIDGETS_END = rct_widget{ WindowWidgetType::Last, 0, 0, 0, 0, 0, 0, 0 }; constexpr const auto WIDGETS_END = Widget{ WindowWidgetType::Last, 0, 0, 0, 0, 0, 0, 0 };
#define BAR_BLINK (1u << 31) #define BAR_BLINK (1u << 31)
enum enum
@ -62,11 +62,11 @@ constexpr uint8_t SCROLLBAR_WIDTH = 10;
constexpr const ScreenSize TAB_SIZE = { 31, 27 }; constexpr const ScreenSize TAB_SIZE = { 31, 27 };
constexpr rct_widget MakeWidget( constexpr Widget MakeWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, WindowWidgetType type, WindowColour colour, const ScreenCoordsXY& origin, const ScreenSize& size, WindowWidgetType type, WindowColour colour,
uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE) uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE)
{ {
rct_widget out = {}; Widget out = {};
out.left = origin.x; out.left = origin.x;
out.right = origin.x + size.width - 1; out.right = origin.x + size.width - 1;
out.top = origin.y; out.top = origin.y;
@ -79,14 +79,14 @@ constexpr rct_widget MakeWidget(
return out; return out;
} }
constexpr rct_widget MakeRemapWidget( constexpr Widget MakeRemapWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, WindowWidgetType type, WindowColour colour, const ScreenCoordsXY& origin, const ScreenSize& size, WindowWidgetType type, WindowColour colour, ImageIndex content,
ImageIndex content, StringId tooltip = STR_NONE) StringId tooltip = STR_NONE)
{ {
return MakeWidget(origin, size, type, colour, ImageId(content, FilterPaletteID::PaletteNull).ToUInt32(), tooltip); return MakeWidget(origin, size, type, colour, ImageId(content, FilterPaletteID::PaletteNull).ToUInt32(), tooltip);
} }
constexpr rct_widget MakeTab(const ScreenCoordsXY& origin, StringId tooltip = STR_NONE) constexpr Widget MakeTab(const ScreenCoordsXY& origin, StringId tooltip = STR_NONE)
{ {
const ScreenSize size = TAB_SIZE; const ScreenSize size = TAB_SIZE;
const WindowWidgetType type = WindowWidgetType::Tab; const WindowWidgetType type = WindowWidgetType::Tab;
@ -99,7 +99,7 @@ constexpr rct_widget MakeTab(const ScreenCoordsXY& origin, StringId tooltip = ST
#define MakeSpinnerWidgets(...) \ #define MakeSpinnerWidgets(...) \
MakeWidget(__VA_ARGS__), MakeSpinnerIncreaseWidget(__VA_ARGS__), MakeSpinnerDecreaseWidget(__VA_ARGS__) MakeWidget(__VA_ARGS__), MakeSpinnerIncreaseWidget(__VA_ARGS__), MakeSpinnerDecreaseWidget(__VA_ARGS__)
constexpr rct_widget MakeSpinnerDecreaseWidget( constexpr Widget MakeSpinnerDecreaseWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour, const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour,
[[maybe_unused]] uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE) [[maybe_unused]] uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE)
{ {
@ -111,7 +111,7 @@ constexpr rct_widget MakeSpinnerDecreaseWidget(
return MakeWidget({ xPos, yPos }, { width, height }, WindowWidgetType::Button, colour, STR_NUMERIC_DOWN, tooltip); return MakeWidget({ xPos, yPos }, { width, height }, WindowWidgetType::Button, colour, STR_NUMERIC_DOWN, tooltip);
} }
constexpr rct_widget MakeSpinnerIncreaseWidget( constexpr Widget MakeSpinnerIncreaseWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour, const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour,
[[maybe_unused]] uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE) [[maybe_unused]] uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE)
{ {
@ -125,14 +125,14 @@ constexpr rct_widget MakeSpinnerIncreaseWidget(
#define MakeDropdownWidgets(...) MakeDropdownBoxWidget(__VA_ARGS__), MakeDropdownButtonWidget(__VA_ARGS__) #define MakeDropdownWidgets(...) MakeDropdownBoxWidget(__VA_ARGS__), MakeDropdownButtonWidget(__VA_ARGS__)
constexpr rct_widget MakeDropdownBoxWidget( constexpr Widget MakeDropdownBoxWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour, const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour,
[[maybe_unused]] uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE) [[maybe_unused]] uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE)
{ {
return MakeWidget(origin, size, type, colour, content); return MakeWidget(origin, size, type, colour, content);
} }
constexpr rct_widget MakeDropdownButtonWidget( constexpr Widget MakeDropdownButtonWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour, const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour,
[[maybe_unused]] uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE) [[maybe_unused]] uint32_t content = 0xFFFFFFFF, StringId tooltip = STR_NONE)
{ {
@ -154,7 +154,7 @@ bool WidgetIsPressed(const rct_window& w, WidgetIndex widgetIndex);
bool WidgetIsHighlighted(const rct_window& w, WidgetIndex widgetIndex); bool WidgetIsHighlighted(const rct_window& w, WidgetIndex widgetIndex);
bool WidgetIsActiveTool(const rct_window& w, WidgetIndex widgetIndex); bool WidgetIsActiveTool(const rct_window& w, WidgetIndex widgetIndex);
void WidgetScrollGetPart( void WidgetScrollGetPart(
rct_window& w, const rct_widget* widget, const ScreenCoordsXY& screenCoords, ScreenCoordsXY& retScreenCoords, rct_window& w, const Widget* widget, const ScreenCoordsXY& screenCoords, ScreenCoordsXY& retScreenCoords,
int32_t* output_scroll_area, int32_t* scroll_id); int32_t* output_scroll_area, int32_t* scroll_id);
void WidgetSetEnabled(rct_window& w, WidgetIndex widgetIndex, bool enabled); void WidgetSetEnabled(rct_window& w, WidgetIndex widgetIndex, bool enabled);

View File

@ -598,7 +598,7 @@ void window_update_scroll_widgets(rct_window& w)
{ {
int32_t scrollIndex, width, height, scrollPositionChanged; int32_t scrollIndex, width, height, scrollPositionChanged;
WidgetIndex widgetIndex; WidgetIndex widgetIndex;
rct_widget* widget; Widget* widget;
widgetIndex = 0; widgetIndex = 0;
scrollIndex = 0; scrollIndex = 0;

View File

@ -81,26 +81,22 @@ namespace WIDGET_FLAGS
enum class WindowWidgetType : uint8_t; enum class WindowWidgetType : uint8_t;
/** struct Widget
* Widget structure
* size: 0x10
*/
struct rct_widget
{ {
WindowWidgetType type; // 0x00 WindowWidgetType type;
uint8_t colour; // 0x01 uint8_t colour;
int16_t left; // 0x02 int16_t left;
int16_t right; // 0x04 int16_t right;
int16_t top; // 0x06 int16_t top;
int16_t bottom; // 0x08 int16_t bottom;
union union
{ // 0x0A {
uint32_t image; uint32_t image;
StringId text; StringId text;
uint32_t content; uint32_t content;
utf8* string; utf8* string;
}; };
StringId tooltip; // 0x0E StringId tooltip;
// New properties // New properties
WidgetFlags flags{}; WidgetFlags flags{};
@ -229,7 +225,7 @@ struct WindowEventList
void (*close)(struct rct_window*){}; void (*close)(struct rct_window*){};
void (*mouse_up)(struct rct_window*, WidgetIndex){}; void (*mouse_up)(struct rct_window*, WidgetIndex){};
void (*resize)(struct rct_window*){}; void (*resize)(struct rct_window*){};
void (*mouse_down)(struct rct_window*, WidgetIndex, rct_widget*){}; void (*mouse_down)(struct rct_window*, WidgetIndex, Widget*){};
void (*dropdown)(struct rct_window*, WidgetIndex, int32_t){}; void (*dropdown)(struct rct_window*, WidgetIndex, int32_t){};
void (*unknown_05)(struct rct_window*){}; void (*unknown_05)(struct rct_window*){};
void (*update)(struct rct_window*){}; void (*update)(struct rct_window*){};

View File

@ -36,7 +36,7 @@ struct rct_window
uint64_t disabled_widgets{}; uint64_t disabled_widgets{};
uint64_t pressed_widgets{}; uint64_t pressed_widgets{};
uint64_t hold_down_widgets{}; uint64_t hold_down_widgets{};
rct_widget* widgets{}; Widget* widgets{};
ScreenCoordsXY windowPos; ScreenCoordsXY windowPos;
int16_t width{}; int16_t width{};
int16_t height{}; int16_t height{};