Fix #12410: Refactor WINDOW_WIDGET_TYPES to use strong enum (#13453)

* Fix #12410: Refactor WINDOW_WIDGET_TYPES to use strong enum
This commit is contained in:
ffrogman 2020-11-26 22:14:20 -05:00 committed by GitHub
parent 67f5ce62b3
commit 7ed1804e61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
86 changed files with 2123 additions and 2017 deletions

View File

@ -163,7 +163,7 @@ static void ShortcutRotateConstructionObject()
// Rotate scenery
rct_window* w = window_find_by_class(WC_SCENERY);
if (w != nullptr && !WidgetIsDisabled(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON)
&& w->widgets[WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type != WWT_EMPTY)
&& w->widgets[WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON);
return;
@ -172,7 +172,7 @@ static void ShortcutRotateConstructionObject()
// Rotate construction track piece
w = window_find_by_class(WC_RIDE_CONSTRUCTION);
if (w != nullptr && !WidgetIsDisabled(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE)
&& w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].type != WWT_EMPTY)
&& w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].type != WindowWidgetType::Empty)
{
// Check if building a maze...
if (w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].tooltip != STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP)
@ -185,7 +185,7 @@ static void ShortcutRotateConstructionObject()
// Rotate track design preview
w = window_find_by_class(WC_TRACK_DESIGN_LIST);
if (w != nullptr && !WidgetIsDisabled(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE)
&& w->widgets[WC_TRACK_DESIGN_LIST__WIDX_ROTATE].type != WWT_EMPTY)
&& w->widgets[WC_TRACK_DESIGN_LIST__WIDX_ROTATE].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE);
return;
@ -194,7 +194,7 @@ static void ShortcutRotateConstructionObject()
// Rotate track design placement
w = window_find_by_class(WC_TRACK_DESIGN_PLACE);
if (w != nullptr && !WidgetIsDisabled(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE)
&& w->widgets[WC_TRACK_DESIGN_PLACE__WIDX_ROTATE].type != WWT_EMPTY)
&& w->widgets[WC_TRACK_DESIGN_PLACE__WIDX_ROTATE].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE);
return;
@ -202,7 +202,8 @@ static void ShortcutRotateConstructionObject()
// Rotate park entrance
w = window_find_by_class(WC_MAP);
if (w != nullptr && !WidgetIsDisabled(w, WC_MAP__WIDX_ROTATE_90) && w->widgets[WC_MAP__WIDX_ROTATE_90].type != WWT_EMPTY)
if (w != nullptr && !WidgetIsDisabled(w, WC_MAP__WIDX_ROTATE_90)
&& w->widgets[WC_MAP__WIDX_ROTATE_90].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_MAP__WIDX_ROTATE_90);
return;
@ -211,7 +212,7 @@ static void ShortcutRotateConstructionObject()
// Rotate selected element in tile inspector
w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE);
return;
@ -802,7 +803,7 @@ static void ShortcutOpenSceneryPicker()
window_scenery = window_find_by_class(WC_SCENERY);
if (window_scenery != nullptr && !WidgetIsDisabled(window_scenery, WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON)
&& window_scenery->widgets[WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON].type != WWT_EMPTY
&& window_scenery->widgets[WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON].type != WindowWidgetType::Empty
&& !gWindowSceneryEyedropperEnabled)
{
window_event_mouse_up_call(window_scenery, WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON);
@ -834,7 +835,7 @@ static void ShortcutInsertCorruptElement()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_CORRUPT)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_CORRUPT].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_CORRUPT].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_CORRUPT);
return;
@ -845,7 +846,7 @@ static void ShortcutCopyElement()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_COPY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_COPY].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_COPY].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_COPY);
return;
@ -856,7 +857,7 @@ static void ShortcutPasteElement()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_PASTE)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_PASTE].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_PASTE].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_PASTE);
return;
@ -867,7 +868,7 @@ static void ShortcutRemoveElement()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_REMOVE)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_REMOVE].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_REMOVE].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_REMOVE);
return;
@ -878,7 +879,7 @@ static void ShortcutMoveElementUp()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_UP)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_UP].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_UP].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_UP);
return;
@ -889,7 +890,7 @@ static void ShortcutMoveElementDown()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_DOWN)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_DOWN].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_DOWN].type != WindowWidgetType::Empty)
{
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_DOWN);
return;
@ -900,7 +901,7 @@ static void ShortcutIncreaseXCoord()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_SPINNER_X_INCREASE)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_X_INCREASE].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_X_INCREASE].type != WindowWidgetType::Empty)
{
window_event_mouse_down_call(w, WC_TILE_INSPECTOR__WIDX_SPINNER_X_INCREASE);
return;
@ -911,7 +912,7 @@ static void ShortcutDecreaseXCoord()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_SPINNER_X_DECREASE)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_X_DECREASE].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_X_DECREASE].type != WindowWidgetType::Empty)
{
window_event_mouse_down_call(w, WC_TILE_INSPECTOR__WIDX_SPINNER_X_DECREASE);
return;
@ -922,7 +923,7 @@ static void ShortcutIncreaseYCoord()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_SPINNER_Y_INCREASE)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_Y_INCREASE].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_Y_INCREASE].type != WindowWidgetType::Empty)
{
window_event_mouse_down_call(w, WC_TILE_INSPECTOR__WIDX_SPINNER_Y_INCREASE);
return;
@ -933,7 +934,7 @@ static void ShortcutDecreaseYCoord()
{
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
if (w != nullptr && !WidgetIsDisabled(w, WC_TILE_INSPECTOR__WIDX_SPINNER_Y_DECREASE)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_Y_DECREASE].type != WWT_EMPTY)
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_Y_DECREASE].type != WindowWidgetType::Empty)
{
window_event_mouse_down_call(w, WC_TILE_INSPECTOR__WIDX_SPINNER_Y_DECREASE);
return;
@ -976,7 +977,7 @@ static void ShortcutIncreaseElementHeight()
action = WC_TILE_INSPECTOR__WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE;
break;
}
if (action != -1 && !WidgetIsDisabled(w, action) && w->widgets[action].type != WWT_EMPTY)
if (action != -1 && !WidgetIsDisabled(w, action) && w->widgets[action].type != WindowWidgetType::Empty)
window_event_mouse_down_call(w, action);
return;
}
@ -1018,7 +1019,7 @@ static void ShortcutDecreaseElementHeight()
action = WC_TILE_INSPECTOR__WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE;
break;
}
if (action != -1 && !WidgetIsDisabled(w, action) && w->widgets[action].type != WWT_EMPTY)
if (action != -1 && !WidgetIsDisabled(w, action) && w->widgets[action].type != WindowWidgetType::Empty)
window_event_mouse_down_call(w, action);
return;
}

View File

@ -308,15 +308,17 @@ static void GameHandleInputMouse(const ScreenCoordsXY& screenCoords, MouseState
{
switch (widget->type)
{
case WWT_VIEWPORT:
case WindowWidgetType::Viewport:
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO)))
{
InputViewportDragBegin(w);
}
break;
case WWT_SCROLL:
case WindowWidgetType::Scroll:
InputScrollDragBegin(screenCoords, w, widgetIndex);
break;
default:
break;
}
}
break;
@ -929,7 +931,7 @@ static void InputWidgetOver(const ScreenCoordsXY& screenCoords, rct_window* w, r
InputWidgetOverChangeCheck(windowClass, windowNumber, widgetIndex);
if (w != nullptr && widgetIndex != -1 && widget->type == WWT_SCROLL)
if (w != nullptr && widgetIndex != -1 && widget->type == WindowWidgetType::Scroll)
{
int32_t scroll_part, scrollId;
ScreenCoordsXY newScreenCoords;
@ -987,7 +989,7 @@ static void InputWidgetOverFlatbuttonInvalidate()
if (w != nullptr)
{
window_event_invalidate_call(w);
if (w->widgets[gHoverWidget.widget_index].type == WWT_FLATBTN)
if (w->widgets[gHoverWidget.widget_index].type == WindowWidgetType::FlatBtn)
{
widget_invalidate_by_number(
gHoverWidget.window_classification, gHoverWidget.window_number, gHoverWidget.widget_index);
@ -1033,13 +1035,13 @@ static void InputWidgetLeft(const ScreenCoordsXY& screenCoords, rct_window* w, r
switch (widget->type)
{
case WWT_FRAME:
case WWT_RESIZE:
case WindowWidgetType::Frame:
case WindowWidgetType::Resize:
if (window_can_resize(w)
&& (screenCoords.x >= w->windowPos.x + w->width - 19 && screenCoords.y >= w->windowPos.y + w->height - 19))
InputWindowResizeBegin(w, widgetIndex, screenCoords);
break;
case WWT_VIEWPORT:
case WindowWidgetType::Viewport:
_inputState = InputState::ViewportLeft;
gInputDragLast = screenCoords;
_dragWidget.window_classification = windowClass;
@ -1054,10 +1056,10 @@ static void InputWidgetLeft(const ScreenCoordsXY& screenCoords, rct_window* w, r
}
}
break;
case WWT_CAPTION:
case WindowWidgetType::Caption:
InputWindowPositionBegin(w, widgetIndex, screenCoords);
break;
case WWT_SCROLL:
case WindowWidgetType::Scroll:
InputScrollBegin(w, widgetIndex, screenCoords);
break;
default:
@ -1103,7 +1105,7 @@ void ProcessMouseOver(const ScreenCoordsXY& screenCoords)
{
switch (window->widgets[widgetId].type)
{
case WWT_VIEWPORT:
case WindowWidgetType::Viewport:
if (!(_inputFlags & INPUT_FLAG_TOOL_ACTIVE))
{
if (ViewportInteractionLeftOver(screenCoords))
@ -1116,8 +1118,8 @@ void ProcessMouseOver(const ScreenCoordsXY& screenCoords)
cursorId = static_cast<CursorID>(gCurrentToolId);
break;
case WWT_FRAME:
case WWT_RESIZE:
case WindowWidgetType::Frame:
case WindowWidgetType::Resize:
if (!(window->flags & WF_RESIZABLE))
break;
@ -1133,7 +1135,7 @@ void ProcessMouseOver(const ScreenCoordsXY& screenCoords)
cursorId = CursorID::DiagonalArrows;
break;
case WWT_SCROLL:
case WindowWidgetType::Scroll:
{
int32_t output_scroll_area, scroll_id;
ScreenCoordsXY scrollCoords;

View File

@ -49,58 +49,59 @@ void WidgetDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex widgetInd
{
switch (w->widgets[widgetIndex].type)
{
case WWT_EMPTY:
case WindowWidgetType::Empty:
case WindowWidgetType::Last:
break;
case WWT_FRAME:
case WindowWidgetType::Frame:
WidgetFrameDraw(dpi, w, widgetIndex);
break;
case WWT_RESIZE:
case WindowWidgetType::Resize:
WidgetResizeDraw(dpi, w, widgetIndex);
break;
case WWT_IMGBTN:
case WindowWidgetType::ImgBtn:
WidgetButtonDraw(dpi, w, widgetIndex);
break;
case WWT_COLOURBTN:
case WWT_TRNBTN:
case WWT_TAB:
case WindowWidgetType::ColourBtn:
case WindowWidgetType::TrnBtn:
case WindowWidgetType::Tab:
WidgetTabDraw(dpi, w, widgetIndex);
break;
case WWT_FLATBTN:
case WindowWidgetType::FlatBtn:
WidgetFlatButtonDraw(dpi, w, widgetIndex);
break;
case WWT_BUTTON:
case WWT_TABLE_HEADER:
case WindowWidgetType::Button:
case WindowWidgetType::TableHeader:
WidgetTextButton(dpi, w, widgetIndex);
break;
case WWT_LABEL_CENTRED:
case WindowWidgetType::LabelCentred:
WidgetTextCentred(dpi, w, widgetIndex);
break;
case WWT_LABEL:
case WindowWidgetType::Label:
WidgetText(dpi, w, widgetIndex);
break;
case WWT_SPINNER:
case WWT_DROPDOWN:
case WWT_VIEWPORT:
case WindowWidgetType::Spinner:
case WindowWidgetType::DropdownMenu:
case WindowWidgetType::Viewport:
WidgetTextInset(dpi, w, widgetIndex);
break;
case WWT_GROUPBOX:
case WindowWidgetType::Groupbox:
WidgetGroupboxDraw(dpi, w, widgetIndex);
break;
case WWT_CAPTION:
case WindowWidgetType::Caption:
WidgetCaptionDraw(dpi, w, widgetIndex);
break;
case WWT_CLOSEBOX:
case WindowWidgetType::CloseBox:
WidgetCloseboxDraw(dpi, w, widgetIndex);
break;
case WWT_SCROLL:
case WindowWidgetType::Scroll:
WidgetScrollDraw(dpi, w, widgetIndex);
break;
case WWT_CHECKBOX:
case WindowWidgetType::Checkbox:
WidgetCheckboxDraw(dpi, w, widgetIndex);
break;
case WWT_PLACEHOLDER:
case WindowWidgetType::Placeholder:
break;
case WWT_TEXT_BOX:
case WindowWidgetType::TextBox:
WidgetTextBoxDraw(dpi, w, widgetIndex);
break;
}
@ -212,10 +213,10 @@ static void WidgetTabDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex
// Get the widget
rct_widget* widget = &w->widgets[widgetIndex];
if (widget->type != WWT_TAB && static_cast<int32_t>(widget->image) == -1)
if (widget->type != WindowWidgetType::Tab && static_cast<int32_t>(widget->image) == -1)
return;
if (widget->type == WWT_TAB)
if (widget->type == WindowWidgetType::Tab)
{
if (WidgetIsDisabled(w, widgetIndex))
return;
@ -234,7 +235,7 @@ static void WidgetTabDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex
return;
}
if (widget->type != WWT_TRNBTN)
if (widget->type != WindowWidgetType::TrnBtn)
{
WidgetDrawImage(dpi, w, widgetIndex);
return;
@ -312,7 +313,7 @@ static void WidgetTextButton(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetin
gfx_fill_rect_inset(dpi, rect, colour, press);
// Button caption
if (widget->type != WWT_TABLE_HEADER)
if (widget->type != WindowWidgetType::TableHeader)
{
WidgetTextCentred(dpi, w, widgetIndex);
}
@ -344,7 +345,7 @@ static void WidgetTextCentred(rct_drawpixelinfo* dpi, rct_window* w, rct_widgeti
auto topLeft = w->windowPos + ScreenCoordsXY{ widget->left, 0 };
int32_t r = w->windowPos.x + widget->right;
if (widget->type == WWT_BUTTON || widget->type == WWT_TABLE_HEADER)
if (widget->type == WindowWidgetType::Button || widget->type == WindowWidgetType::TableHeader)
topLeft.y += widget->textTop();
else
topLeft.y += widget->top;
@ -382,8 +383,8 @@ static void WidgetText(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetindex wi
int32_t r = w->windowPos.x + widget->right;
int32_t t;
if (widget->type == WWT_BUTTON || widget->type == WWT_DROPDOWN || widget->type == WWT_SPINNER
|| widget->type == WWT_TABLE_HEADER)
if (widget->type == WindowWidgetType::Button || widget->type == WindowWidgetType::DropdownMenu
|| widget->type == WindowWidgetType::Spinner || widget->type == WindowWidgetType::TableHeader)
{
t = w->windowPos.y + widget->textTop();
}
@ -539,10 +540,10 @@ static void WidgetCaptionDraw(rct_drawpixelinfo* dpi, rct_window* w, rct_widgeti
topLeft = w->windowPos + ScreenCoordsXY{ widget->left + 2, widget->top + 1 };
int32_t width = widget->width() - 4;
if ((widget + 1)->type == WWT_CLOSEBOX)
if ((widget + 1)->type == WindowWidgetType::CloseBox)
{
width -= 10;
if ((widget + 2)->type == WWT_CLOSEBOX)
if ((widget + 2)->type == WindowWidgetType::CloseBox)
width -= 10;
}
topLeft.x += width / 2;
@ -792,7 +793,8 @@ static void WidgetDrawImage(rct_drawpixelinfo* dpi, rct_window* w, rct_widgetind
// Get the colour
uint8_t colour = NOT_TRANSLUCENT(w->colours[widget->colour]);
if (widget->type == WWT_COLOURBTN || widget->type == WWT_TRNBTN || widget->type == WWT_TAB)
if (widget->type == WindowWidgetType::ColourBtn || widget->type == WindowWidgetType::TrnBtn
|| widget->type == WindowWidgetType::Tab)
if (WidgetIsPressed(w, widgetIndex) || WidgetIsActiveTool(w, widgetIndex))
image++;
@ -897,7 +899,7 @@ void WidgetScrollGetPart(
*scroll_id = 0;
for (rct_widget* iterator = w->widgets; iterator != widget; iterator++)
{
if (iterator->type == WWT_SCROLL)
if (iterator->type == WindowWidgetType::Scroll)
{
*scroll_id += 1;
}

View File

@ -284,7 +284,7 @@ rct_window* WindowCreateCentred(
static int32_t WindowGetWidgetIndex(rct_window* w, rct_widget* widget)
{
int32_t i = 0;
for (rct_widget* widget2 = w->widgets; widget2->type != WWT_LAST; widget2++, i++)
for (rct_widget* widget2 = w->widgets; widget2->type != WindowWidgetType::Last; widget2++, i++)
if (widget == widget2)
return i;
return -1;
@ -292,16 +292,16 @@ static int32_t WindowGetWidgetIndex(rct_window* w, rct_widget* widget)
static int32_t WindowGetScrollIndex(rct_window* w, int32_t targetWidgetIndex)
{
if (w->widgets[targetWidgetIndex].type != WWT_SCROLL)
if (w->widgets[targetWidgetIndex].type != WindowWidgetType::Scroll)
return -1;
int32_t scrollIndex = 0;
rct_widgetindex widgetIndex = 0;
for (rct_widget* widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++)
for (rct_widget* widget = w->widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++)
{
if (widgetIndex == targetWidgetIndex)
break;
if (widget->type == WWT_SCROLL)
if (widget->type == WindowWidgetType::Scroll)
scrollIndex++;
}
@ -310,9 +310,9 @@ static int32_t WindowGetScrollIndex(rct_window* w, int32_t targetWidgetIndex)
static rct_widget* WindowGetScrollWidget(rct_window* w, int32_t scrollIndex)
{
for (rct_widget* widget = w->widgets; widget->type != WWT_LAST; widget++)
for (rct_widget* widget = w->widgets; widget->type != WindowWidgetType::Last; widget++)
{
if (widget->type != WWT_SCROLL)
if (widget->type != WindowWidgetType::Scroll)
continue;
if (scrollIndex == 0)
@ -361,9 +361,9 @@ static void WindowScrollWheelInput(rct_window* w, int32_t scrollIndex, int32_t w
static int32_t WindowWheelInput(rct_window* w, int32_t wheel)
{
int32_t i = 0;
for (rct_widget* widget = w->widgets; widget->type != WWT_LAST; widget++)
for (rct_widget* widget = w->widgets; widget->type != WindowWidgetType::Last; widget++)
{
if (widget->type != WWT_SCROLL)
if (widget->type != WindowWidgetType::Scroll)
continue;
// Originally always checked first scroll view, bug maybe?
@ -404,12 +404,12 @@ static bool WindowOtherWheelInput(rct_window* w, rct_widgetindex widgetIndex, in
// Lower widgetIndex once or twice we got a type that matches, to allow scrolling on the increase/decrease buttons too
int32_t attempts = 0;
while (widgetType != WWT_IMGBTN && widgetType != WWT_SPINNER && widgetIndex > 0)
while (widgetType != WindowWidgetType::ImgBtn && widgetType != WindowWidgetType::Spinner && widgetIndex > 0)
{
switch (widgetType)
{
case WWT_TRNBTN: // + and - for preview widget
case WWT_BUTTON: // + and - for spinner widget
case WindowWidgetType::TrnBtn: // + and - for preview widget
case WindowWidgetType::Button: // + and - for spinner widget
{
if (attempts > 0)
{
@ -439,19 +439,19 @@ static bool WindowOtherWheelInput(rct_window* w, rct_widgetindex widgetIndex, in
}
rct_widgetindex buttonWidgetIndex;
uint16_t expectedType;
WindowWidgetType expectedType;
uint32_t expectedContent[2];
switch (widgetType)
{
case WWT_IMGBTN:
case WindowWidgetType::ImgBtn:
buttonWidgetIndex = wheel < 0 ? widgetIndex + 2 : widgetIndex + 1;
expectedType = WWT_TRNBTN;
expectedType = WindowWidgetType::TrnBtn;
expectedContent[0] = IMAGE_TYPE_REMAP | SPR_LAND_TOOL_DECREASE;
expectedContent[1] = IMAGE_TYPE_REMAP | SPR_LAND_TOOL_INCREASE;
break;
case WWT_SPINNER:
case WindowWidgetType::Spinner:
buttonWidgetIndex = wheel < 0 ? widgetIndex + 1 : widgetIndex + 2;
expectedType = WWT_BUTTON;
expectedType = WindowWidgetType::Button;
expectedContent[0] = STR_NUMERIC_UP;
expectedContent[1] = STR_NUMERIC_DOWN;
break;
@ -512,7 +512,7 @@ void WindowAllWheelInput()
if (widgetIndex != -1)
{
rct_widget* widget = &w->widgets[widgetIndex];
if (widget->type == WWT_SCROLL)
if (widget->type == WindowWidgetType::Scroll)
{
int32_t scrollIndex = WindowGetScrollIndex(w, widgetIndex);
rct_scroll* scroll = &w->scrolls[scrollIndex];
@ -556,9 +556,9 @@ void WindowInitScrollWidgets(rct_window* w)
widget_index = 0;
scroll_index = 0;
for (widget = w->widgets; widget->type != WWT_LAST; widget++)
for (widget = w->widgets; widget->type != WindowWidgetType::Last; widget++)
{
if (widget->type != WWT_SCROLL)
if (widget->type != WindowWidgetType::Scroll)
{
widget_index++;
continue;
@ -601,7 +601,7 @@ void WindowDrawWidgets(rct_window* w, rct_drawpixelinfo* dpi)
// todo: some code missing here? Between 006EB18C and 006EB260
widgetIndex = 0;
for (widget = w->widgets; widget->type != WWT_LAST; widget++)
for (widget = w->widgets; widget->type != WindowWidgetType::Last; widget++)
{
// Check if widget is outside the draw region
if (w->windowPos.x + widget->left < dpi->x + dpi->width && w->windowPos.x + widget->right >= dpi->x)
@ -631,9 +631,9 @@ static void WindowInvalidatePressedImageButton(rct_window* w)
rct_widget* widget;
widgetIndex = 0;
for (widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++)
for (widget = w->widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++)
{
if (widget->type != WWT_IMGBTN)
if (widget->type != WindowWidgetType::ImgBtn)
continue;
if (WidgetIsPressed(w, widgetIndex) || WidgetIsActiveTool(w, widgetIndex))

View File

@ -731,9 +731,9 @@ void CustomListView::RefreshScroll()
rct_widget* CustomListView::GetWidget() const
{
size_t scrollIndex = 0;
for (auto widget = ParentWindow->widgets; widget->type != WWT_LAST; widget++)
for (auto widget = ParentWindow->widgets; widget->type != WindowWidgetType::Last; widget++)
{
if (widget->type == WWT_SCROLL)
if (widget->type == WindowWidgetType::Scroll)
{
if (scrollIndex == ScrollIndex)
{

View File

@ -43,10 +43,10 @@ namespace OpenRCT2::Ui::Windows
};
static rct_widget CustomDefaultWidgets[] = {
{ WWT_FRAME, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 0, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 0, 0, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
{ WWT_RESIZE, 1, 0, 0, 14, 0, 0xFFFFFFFF, STR_NONE }, // content panel
{ 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::CloseBox, 0, 0, 0, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
{ WindowWidgetType::Resize, 1, 0, 0, 14, 0, 0xFFFFFFFF, STR_NONE }, // content panel
};
static void window_custom_close(rct_window* w);
@ -579,9 +579,9 @@ namespace OpenRCT2::Ui::Windows
// Since the plugin may alter widget positions and sizes during an update event,
// we need to force an update for all list view scrollbars
rct_widgetindex widgetIndex = 0;
for (auto widget = w->widgets; widget->type != WWT_EMPTY; widget++)
for (auto widget = w->widgets; widget->type != WindowWidgetType::Empty; widget++)
{
if (widget->type == WWT_SCROLL)
if (widget->type == WindowWidgetType::Scroll)
{
WidgetScrollUpdateThumbs(w, widgetIndex);
}
@ -659,9 +659,9 @@ namespace OpenRCT2::Ui::Windows
auto& info = GetInfo(w);
size_t scrollIndex = 0;
for (auto widget = w->widgets; widget->type != WWT_LAST; widget++)
for (auto widget = w->widgets; widget->type != WindowWidgetType::Last; widget++)
{
if (widget->type == WWT_SCROLL)
if (widget->type == WindowWidgetType::Scroll)
{
auto& listView = info.ListViews[scrollIndex];
auto width = widget->width() + 1 - 2;
@ -727,9 +727,9 @@ namespace OpenRCT2::Ui::Windows
static std::optional<rct_widgetindex> GetViewportWidgetIndex(rct_window* w)
{
rct_widgetindex widgetIndex = 0;
for (auto widget = w->widgets; widget->type != WWT_LAST; widget++)
for (auto widget = w->widgets; widget->type != WindowWidgetType::Last; widget++)
{
if (widget->type == WWT_VIEWPORT)
if (widget->type == WindowWidgetType::Viewport)
{
return widgetIndex;
}
@ -820,12 +820,12 @@ namespace OpenRCT2::Ui::Windows
{
if (desc.Image.HasValue())
{
widget.type = desc.HasBorder ? WWT_IMGBTN : WWT_FLATBTN;
widget.type = desc.HasBorder ? WindowWidgetType::ImgBtn : WindowWidgetType::FlatBtn;
widget.image = desc.Image.ToUInt32();
}
else
{
widget.type = WWT_BUTTON;
widget.type = WindowWidgetType::Button;
widget.string = const_cast<utf8*>(desc.Text.c_str());
widget.flags |= WIDGET_FLAGS::TEXT_IS_STRING;
}
@ -837,7 +837,7 @@ namespace OpenRCT2::Ui::Windows
}
else if (desc.Type == "checkbox")
{
widget.type = WWT_CHECKBOX;
widget.type = WindowWidgetType::Checkbox;
widget.string = const_cast<utf8*>(desc.Text.c_str());
widget.flags |= WIDGET_FLAGS::TEXT_IS_STRING;
if (desc.IsChecked)
@ -848,7 +848,7 @@ namespace OpenRCT2::Ui::Windows
}
else if (desc.Type == "dropdown")
{
widget.type = WWT_DROPDOWN;
widget.type = WindowWidgetType::DropdownMenu;
if (desc.SelectedIndex >= 0 && static_cast<size_t>(desc.SelectedIndex) < desc.Items.size())
{
widget.string = const_cast<utf8*>(desc.Items[desc.SelectedIndex].c_str());
@ -862,7 +862,7 @@ namespace OpenRCT2::Ui::Windows
// Add the dropdown button
widget = {};
widget.type = WWT_BUTTON;
widget.type = WindowWidgetType::Button;
widget.colour = 1;
widget.left = desc.X + desc.Width - 12;
widget.right = desc.X + desc.Width - 2;
@ -875,21 +875,21 @@ namespace OpenRCT2::Ui::Windows
}
else if (desc.Type == "groupbox")
{
widget.type = WWT_GROUPBOX;
widget.type = WindowWidgetType::Groupbox;
widget.string = const_cast<utf8*>(desc.Text.c_str());
widget.flags |= WIDGET_FLAGS::TEXT_IS_STRING;
widgetList.push_back(widget);
}
else if (desc.Type == "label")
{
widget.type = WWT_LABEL;
widget.type = WindowWidgetType::Label;
widget.string = const_cast<utf8*>(desc.Text.c_str());
widget.flags |= WIDGET_FLAGS::TEXT_IS_STRING;
widgetList.push_back(widget);
}
else if (desc.Type == "listview")
{
widget.type = WWT_SCROLL;
widget.type = WindowWidgetType::Scroll;
widget.content = 0;
if (desc.Scrollbars == ScrollbarType::Horizontal)
widget.content = SCROLL_HORIZONTAL;
@ -901,14 +901,14 @@ namespace OpenRCT2::Ui::Windows
}
else if (desc.Type == "spinner")
{
widget.type = WWT_SPINNER;
widget.type = WindowWidgetType::Spinner;
widget.string = const_cast<utf8*>(desc.Text.c_str());
widget.flags |= WIDGET_FLAGS::TEXT_IS_STRING;
widgetList.push_back(widget);
// Add the decrement button
widget = {};
widget.type = WWT_BUTTON;
widget.type = WindowWidgetType::Button;
widget.colour = 1;
widget.left = desc.X + desc.Width - 26;
widget.right = widget.left + 12;
@ -927,7 +927,7 @@ namespace OpenRCT2::Ui::Windows
}
else if (desc.Type == "viewport")
{
widget.type = WWT_VIEWPORT;
widget.type = WindowWidgetType::Viewport;
widget.text = STR_NONE;
widgetList.push_back(widget);
}
@ -962,7 +962,7 @@ namespace OpenRCT2::Ui::Windows
for (size_t tabDescIndex = 0; tabDescIndex < info.Desc.Tabs.size(); tabDescIndex++)
{
rct_widget widget{};
widget.type = WWT_TAB;
widget.type = WindowWidgetType::Tab;
widget.colour = 1;
widget.left = static_cast<int16_t>(3 + (tabDescIndex * 31));
widget.right = widget.left + 30;

View File

@ -69,40 +69,46 @@ namespace OpenRCT2::Scripting
{
switch (widget->type)
{
case WWT_FRAME:
case WindowWidgetType::Frame:
return "frame";
case WWT_RESIZE:
case WindowWidgetType::Resize:
return "resize";
case WWT_IMGBTN:
case WWT_COLOURBTN:
case WWT_TRNBTN:
case WWT_FLATBTN:
case WWT_BUTTON:
case WWT_CLOSEBOX:
case WindowWidgetType::ImgBtn:
case WindowWidgetType::ColourBtn:
case WindowWidgetType::TrnBtn:
case WindowWidgetType::FlatBtn:
case WindowWidgetType::Button:
case WindowWidgetType::CloseBox:
return "button";
case WWT_TAB:
case WindowWidgetType::Tab:
return "tab";
case WWT_LABEL_CENTRED:
case WWT_LABEL:
case WindowWidgetType::LabelCentred:
case WindowWidgetType::Label:
return "label";
case WWT_TABLE_HEADER:
case WindowWidgetType::TableHeader:
return "table_header";
case WWT_SPINNER:
case WindowWidgetType::Spinner:
return "spinner";
case WWT_DROPDOWN:
case WindowWidgetType::DropdownMenu:
return "dropdown";
case WWT_VIEWPORT:
case WindowWidgetType::Viewport:
return "viewport";
case WWT_GROUPBOX:
case WindowWidgetType::Groupbox:
return "groupbox";
case WWT_CAPTION:
case WindowWidgetType::Caption:
return "caption";
case WWT_SCROLL:
case WindowWidgetType::Scroll:
return "scroll_view";
case WWT_CHECKBOX:
case WindowWidgetType::Checkbox:
return "checkbox";
case WWT_TEXT_BOX:
case WindowWidgetType::TextBox:
return "textbox";
case WindowWidgetType::Empty:
return "empty";
case WindowWidgetType::Placeholder:
return "placeholder";
case WindowWidgetType::Last:
return "last";
}
}
return "unknown";
@ -128,14 +134,14 @@ namespace OpenRCT2::Scripting
widget->left += delta;
widget->right += delta;
if (widget->type == WWT_DROPDOWN)
if (widget->type == WindowWidgetType::DropdownMenu)
{
auto buttonWidget = widget + 1;
buttonWidget->left += delta;
buttonWidget->right += delta;
widget_invalidate_by_number(_class, _number, _widgetIndex + 1);
}
else if (widget->type == WWT_SPINNER)
else if (widget->type == WindowWidgetType::Spinner)
{
auto upWidget = widget + 1;
upWidget->left += delta;
@ -172,14 +178,14 @@ namespace OpenRCT2::Scripting
widget->top += delta;
widget->bottom += delta;
if (widget->type == WWT_DROPDOWN)
if (widget->type == WindowWidgetType::DropdownMenu)
{
auto buttonWidget = widget + 1;
buttonWidget->top += delta;
buttonWidget->bottom += delta;
widget_invalidate_by_number(_class, _number, _widgetIndex + 1);
}
else if (widget->type == WWT_SPINNER)
else if (widget->type == WindowWidgetType::Spinner)
{
auto upWidget = widget + 1;
upWidget->top += delta;
@ -215,14 +221,14 @@ namespace OpenRCT2::Scripting
Invalidate();
widget->right += delta;
if (widget->type == WWT_DROPDOWN)
if (widget->type == WindowWidgetType::DropdownMenu)
{
auto buttonWidget = widget + 1;
buttonWidget->left += delta;
buttonWidget->right += delta;
widget_invalidate_by_number(_class, _number, _widgetIndex + 1);
}
else if (widget->type == WWT_SPINNER)
else if (widget->type == WindowWidgetType::Spinner)
{
auto upWidget = widget + 1;
upWidget->left += delta;
@ -258,13 +264,13 @@ namespace OpenRCT2::Scripting
Invalidate();
widget->bottom += delta;
if (widget->type == WWT_DROPDOWN)
if (widget->type == WindowWidgetType::DropdownMenu)
{
auto buttonWidget = widget + 1;
buttonWidget->bottom += delta;
widget_invalidate_by_number(_class, _number, _widgetIndex + 1);
}
else if (widget->type == WWT_SPINNER)
else if (widget->type == WindowWidgetType::Spinner)
{
auto upWidget = widget + 1;
upWidget->bottom += delta;
@ -328,7 +334,7 @@ namespace OpenRCT2::Scripting
if (w != nullptr && IsCustomWindow())
{
auto widget = GetWidget();
if (widget != nullptr && widget->type == WWT_VIEWPORT)
if (widget != nullptr && widget->type == WindowWidgetType::Viewport)
{
return std::make_shared<ScViewport>(w->classification, w->number);
}
@ -410,19 +416,19 @@ namespace OpenRCT2::Scripting
auto widget = GetWidget();
if (widget != nullptr)
{
return widget->type == WWT_IMGBTN;
return widget->type == WindowWidgetType::ImgBtn;
}
return false;
}
void border_set(bool value)
{
auto widget = GetWidget();
if (widget != nullptr && (widget->type == WWT_FLATBTN || widget->type == WWT_IMGBTN))
if (widget != nullptr && (widget->type == WindowWidgetType::FlatBtn || widget->type == WindowWidgetType::ImgBtn))
{
if (value)
widget->type = WWT_IMGBTN;
widget->type = WindowWidgetType::ImgBtn;
else
widget->type = WWT_FLATBTN;
widget->type = WindowWidgetType::FlatBtn;
Invalidate();
}
}
@ -449,7 +455,7 @@ namespace OpenRCT2::Scripting
uint32_t image_get() const
{
auto widget = GetWidget();
if (widget != nullptr && widget->type == WWT_FLATBTN)
if (widget != nullptr && widget->type == WindowWidgetType::FlatBtn)
{
return widget->image;
}
@ -458,7 +464,7 @@ namespace OpenRCT2::Scripting
void image_set(uint32_t value)
{
auto widget = GetWidget();
if (widget != nullptr && widget->type == WWT_FLATBTN)
if (widget != nullptr && widget->type == WindowWidgetType::FlatBtn)
{
widget->image = value;
Invalidate();
@ -754,15 +760,15 @@ namespace OpenRCT2::Scripting
auto n = w->number;
switch (widget.type)
{
case WWT_BUTTON:
case WWT_FLATBTN:
case WWT_IMGBTN:
case WindowWidgetType::Button:
case WindowWidgetType::FlatBtn:
case WindowWidgetType::ImgBtn:
return GetObjectAsDukValue(ctx, std::make_shared<ScButtonWidget>(c, n, widgetIndex));
case WWT_CHECKBOX:
case WindowWidgetType::Checkbox:
return GetObjectAsDukValue(ctx, std::make_shared<ScCheckBoxWidget>(c, n, widgetIndex));
case WWT_DROPDOWN:
case WindowWidgetType::DropdownMenu:
return GetObjectAsDukValue(ctx, std::make_shared<ScDropdownWidget>(c, n, widgetIndex));
case WWT_SCROLL:
case WindowWidgetType::Scroll:
return GetObjectAsDukValue(ctx, std::make_shared<ScListViewWidget>(c, n, widgetIndex));
default:
return GetObjectAsDukValue(ctx, std::make_shared<ScWidget>(c, n, widgetIndex));

View File

@ -202,7 +202,7 @@ namespace OpenRCT2::Scripting
if (w != nullptr)
{
rct_widgetindex widgetIndex = 0;
for (auto widget = w->widgets; widget->type != WWT_LAST; widget++)
for (auto widget = w->widgets; widget->type != WindowWidgetType::Last; widget++)
{
result.push_back(ScWidget::ToDukValue(ctx, w, widgetIndex));
widgetIndex++;

View File

@ -50,21 +50,21 @@ enum WINDOW_ABOUT_WIDGET_IDX {
#define WIDGETS_MAIN \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
MakeWidget ({ 0, TABHEIGHT}, {WW, WH - TABHEIGHT}, WWT_IMGBTN, WindowColour::Secondary ), /* page background */ \
MakeRemapWidget({ 3, 17}, {91, TABHEIGHT - 16}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), /* about OpenRCT2 button */ \
MakeRemapWidget({94, 17}, {91, TABHEIGHT - 16}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE) /* about RCT2 button */
MakeWidget ({ 0, TABHEIGHT}, {WW, WH - TABHEIGHT}, WindowWidgetType::ImgBtn, WindowColour::Secondary ), /* page background */ \
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 */
static rct_widget window_about_openrct2_widgets[] = {
WIDGETS_MAIN,
MakeWidget({100, WH - TABHEIGHT - (14 + 3) * 2}, {200, 14}, WWT_BUTTON, WindowColour::Secondary, STR_CHANGELOG_ELLIPSIS), // changelog button
MakeWidget({100, WH - TABHEIGHT - (14 + 3) * 1}, {200, 14}, WWT_BUTTON, WindowColour::Secondary, STR_JOIN_DISCORD ), // "join discord" button
MakeWidget({100, WH - TABHEIGHT - (14 + 3) * 0}, {200, 14}, WWT_PLACEHOLDER, WindowColour::Secondary, STR_UPDATE_AVAILABLE ), // "new version" button
MakeWidget({100, WH - TABHEIGHT - (14 + 3) * 2}, {200, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_CHANGELOG_ELLIPSIS), // changelog button
MakeWidget({100, WH - TABHEIGHT - (14 + 3) * 1}, {200, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_JOIN_DISCORD ), // "join discord" button
MakeWidget({100, WH - TABHEIGHT - (14 + 3) * 0}, {200, 14}, WindowWidgetType::Placeholder, WindowColour::Secondary, STR_UPDATE_AVAILABLE ), // "new version" button
{ WIDGETS_END }
};
static rct_widget window_about_rct2_widgets[] = {
WIDGETS_MAIN,
MakeWidget({100, WH - TABHEIGHT}, {200, 14}, WWT_BUTTON, WindowColour::Secondary, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS), // music credits button
MakeWidget({100, WH - TABHEIGHT}, {200, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS), // music credits button
{ WIDGETS_END },
};
@ -231,8 +231,8 @@ static void window_about_openrct2_invalidate(rct_window* w)
if (w->page == WINDOW_ABOUT_PAGE_OPENRCT2 && OpenRCT2::GetContext()->HasNewVersionInfo())
{
w->enabled_widgets |= (1ULL << WIDX_NEW_VERSION);
w->widgets[WIDX_NEW_VERSION].type = WWT_BUTTON;
window_about_openrct2_widgets[WIDX_NEW_VERSION].type = WWT_BUTTON;
w->widgets[WIDX_NEW_VERSION].type = WindowWidgetType::Button;
window_about_openrct2_widgets[WIDX_NEW_VERSION].type = WindowWidgetType::Button;
}
}

View File

@ -59,13 +59,13 @@ static constexpr const rct_string_id BannerColouredTextFormats[] = {
static rct_widget window_banner_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 3, 17}, {85, 60}, WWT_VIEWPORT, WindowColour::Secondary, 0x0FFFFFFFE ), // tab content panel
MakeWidget({WW - 25, 19}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RENAME, STR_CHANGE_BANNER_TEXT_TIP ), // change banner button
MakeWidget({WW - 25, 43}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_NO_ENTRY, STR_SET_AS_NO_ENTRY_BANNER_TIP ), // no entry button
MakeWidget({WW - 25, 67}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_DEMOLISH, STR_DEMOLISH_BANNER_TIP ), // demolish button
MakeWidget({ 5, WH - 16}, {12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_SIGN_COLOUR_TIP), // high money
MakeWidget({ 43, WH - 16}, {39, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // high money
MakeWidget({ 70, WH - 15}, {11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_TEXT_COLOUR_TIP ), // high money
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, 43}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_NO_ENTRY, STR_SET_AS_NO_ENTRY_BANNER_TIP ), // no entry button
MakeWidget({WW - 25, 67}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_DEMOLISH, STR_DEMOLISH_BANNER_TIP ), // demolish button
MakeWidget({ 5, WH - 16}, {12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_SIGN_COLOUR_TIP), // high money
MakeWidget({ 43, WH - 16}, {39, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // high money
MakeWidget({ 70, WH - 15}, {11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_TEXT_COLOUR_TIP ), // high money
{ WIDGETS_END },
};
@ -271,13 +271,13 @@ static void window_banner_invalidate(rct_window* w)
{
auto banner = GetBanner(w->number);
rct_widget* colour_btn = &window_banner_widgets[WIDX_MAIN_COLOUR];
colour_btn->type = WWT_EMPTY;
colour_btn->type = WindowWidgetType::Empty;
// Scenery item not sure why we use this instead of banner?
rct_scenery_entry* sceneryEntry = get_banner_entry(banner->type);
if (sceneryEntry->banner.flags & BANNER_ENTRY_FLAG_HAS_PRIMARY_COLOUR)
{
colour_btn->type = WWT_COLOURBTN;
colour_btn->type = WindowWidgetType::ColourBtn;
}
w->pressed_widgets &= ~(1ULL << WIDX_BANNER_NO_ENTRY);

View File

@ -43,9 +43,9 @@ constexpr int32_t MIN_WH = 250;
static rct_widget window_changelog_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({0, 14}, {500, 382}, WWT_RESIZE, WindowColour::Secondary ), // content panel
MakeWidget({3, 16}, {495, 366}, WWT_SCROLL, WindowColour::Secondary, SCROLL_BOTH ), // scroll area
MakeWidget({3, 473}, {300, 14}, WWT_PLACEHOLDER, WindowColour::Secondary, STR_NEW_RELEASE_DOWNLOAD_PAGE), // changelog button
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, 473}, {300, 14}, WindowWidgetType::Placeholder, WindowColour::Secondary, STR_NEW_RELEASE_DOWNLOAD_PAGE), // changelog button
{ WIDGETS_END },
};
@ -90,7 +90,7 @@ rct_window* window_changelog_open(int personality)
uint64_t enabled_widgets{};
window_changelog_widgets[WIDX_OPEN_URL].type = WWT_PLACEHOLDER;
window_changelog_widgets[WIDX_OPEN_URL].type = WindowWidgetType::Placeholder;
switch (personality)
{
case WV_NEW_VERSION_INFO:
@ -102,7 +102,7 @@ rct_window* window_changelog_open(int personality)
_persnality = WV_NEW_VERSION_INFO;
window_new_version_process_info();
enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_OPEN_URL);
window_changelog_widgets[WIDX_OPEN_URL].type = WWT_BUTTON;
window_changelog_widgets[WIDX_OPEN_URL].type = WindowWidgetType::Button;
break;
case WV_CHANGELOG:

View File

@ -197,7 +197,7 @@ static constexpr const int32_t TAB_START = 3;
#define MAIN_CHEATS_WIDGETS \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
MakeWidget({ 0, 43}, {WW, 257}, WWT_IMGBTN, WindowColour::Secondary), /* tab content panel */ \
MakeWidget({ 0, 43}, {WW, 257}, WindowWidgetType::ImgBtn, WindowColour::Secondary), /* tab content panel */ \
MakeTab ({ 3, 17}, STR_FINANCIAL_CHEATS_TIP ), /* tab 1 */ \
MakeTab ({34, 17}, STR_GUEST_CHEATS_TIP ), /* tab 2 */ \
MakeTab ({65, 17}, STR_PARK_CHEATS_TIP ), /* tab 3 */ \
@ -206,51 +206,51 @@ static constexpr const int32_t TAB_START = 3;
static rct_widget window_cheats_money_widgets[] =
{
MAIN_CHEATS_WIDGETS,
MakeWidget ({ 11, 48}, CHEAT_BUTTON, WWT_CHECKBOX, WindowColour::Secondary, STR_MAKE_PARK_NO_MONEY), // No money
MakeWidget ({ 5, 69}, {238, 69}, WWT_GROUPBOX, WindowColour::Secondary, STR_ADD_SET_MONEY ), // add / set money group frame
MakeSpinnerWidgets({ 11, 92}, CHEAT_SPINNER, WWT_SPINNER, WindowColour::Secondary ), // money value
MakeWidget ({ 11, 111}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_ADD_MONEY ), // add money
MakeWidget ({127, 111}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_SET_MONEY ), // set money
MakeWidget ({ 11, 153}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_CLEAR_LOAN ), // Clear loan
MakeWidget ({ 5, 184}, {238, 101}, WWT_GROUPBOX, WindowColour::Secondary, STR_DATE_SET ), // Date group
MakeSpinnerWidgets({120, 197}, CHEAT_SPINNER, WWT_SPINNER, WindowColour::Secondary ), // Year box
MakeSpinnerWidgets({120, 218}, CHEAT_SPINNER, WWT_SPINNER, WindowColour::Secondary ), // Month box
MakeSpinnerWidgets({120, 239}, CHEAT_SPINNER, WWT_SPINNER, WindowColour::Secondary ), // Day box
MakeWidget ({ 11, 258}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_DATE_SET ), // Set Date
MakeWidget ({127, 258}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_DATE_RESET ), // Reset Date
MakeWidget ({ 11, 48}, CHEAT_BUTTON, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAKE_PARK_NO_MONEY), // No money
MakeWidget ({ 5, 69}, {238, 69}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_ADD_SET_MONEY ), // add / set money group frame
MakeSpinnerWidgets({ 11, 92}, CHEAT_SPINNER, WindowWidgetType::Spinner, WindowColour::Secondary ), // money value
MakeWidget ({ 11, 111}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_ADD_MONEY ), // add money
MakeWidget ({127, 111}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_SET_MONEY ), // set money
MakeWidget ({ 11, 153}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_CLEAR_LOAN ), // Clear loan
MakeWidget ({ 5, 184}, {238, 101}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_DATE_SET ), // Date group
MakeSpinnerWidgets({120, 197}, CHEAT_SPINNER, WindowWidgetType::Spinner, WindowColour::Secondary ), // Year box
MakeSpinnerWidgets({120, 218}, CHEAT_SPINNER, WindowWidgetType::Spinner, WindowColour::Secondary ), // Month box
MakeSpinnerWidgets({120, 239}, CHEAT_SPINNER, WindowWidgetType::Spinner, WindowColour::Secondary ), // Day box
MakeWidget ({ 11, 258}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_DATE_SET ), // Set Date
MakeWidget ({127, 258}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_DATE_RESET ), // Reset Date
{ WIDGETS_END },
};
static rct_widget window_cheats_guests_widgets[] =
{
MAIN_CHEATS_WIDGETS,
MakeWidget({ 5, 48}, {238, 279}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_SET_GUESTS_PARAMETERS ), // Guests parameters group frame
MakeWidget({183, 69}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MAX ), // happiness max
MakeWidget({127, 69}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MIN ), // happiness min
MakeWidget({183, 90}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MAX ), // energy max
MakeWidget({127, 90}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MIN ), // energy min
MakeWidget({183, 111}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MAX ), // hunger max
MakeWidget({127, 111}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MIN ), // hunger min
MakeWidget({183, 132}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MAX ), // thirst max
MakeWidget({127, 132}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MIN ), // thirst min
MakeWidget({183, 153}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MAX ), // nausea max
MakeWidget({127, 153}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MIN ), // nausea min
MakeWidget({183, 174}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MAX ), // nausea tolerance max
MakeWidget({127, 174}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MIN ), // nausea tolerance min
MakeWidget({183, 195}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MAX ), // toilet max
MakeWidget({127, 195}, MINMAX_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_MIN ), // toilet min
MakeWidget({127, 237}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_MORE_THAN_1 ), // ride intensity > 1
MakeWidget({ 11, 237}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_LESS_THAN_15 ), // ride intensity < 15
MakeWidget({ 11, 258}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_IGNORE_INTENSITY, STR_CHEAT_IGNORE_INTENSITY_TIP ), // guests ignore intensity
MakeWidget({ 11, 279}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_DISABLE_VANDALISM, STR_CHEAT_DISABLE_VANDALISM_TIP), // disable vandalism
MakeWidget({ 11, 300}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_DISABLE_LITTERING, STR_CHEAT_DISABLE_LITTERING_TIP), // disable littering
MakeWidget({ 5, 342}, {238, 69}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_GIVE_ALL_GUESTS ), // Guests parameters group frame
MakeWidget({ 11, 363}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_CURRENCY_FORMAT ), // give guests money
MakeWidget({127, 363}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_SHOP_ITEM_PLURAL_PARK_MAP ), // give guests park maps
MakeWidget({ 11, 384}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_SHOP_ITEM_PLURAL_BALLOON ), // give guests balloons
MakeWidget({127, 384}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_SHOP_ITEM_PLURAL_UMBRELLA ), // give guests umbrellas
MakeWidget({ 11, 426}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_LARGE_TRAM_GUESTS, STR_CHEAT_LARGE_TRAM_GUESTS_TIP), // large tram
MakeWidget({127, 426}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_REMOVE_ALL_GUESTS, STR_CHEAT_REMOVE_ALL_GUESTS_TIP), // remove all guests
MakeWidget({ 5, 48}, {238, 279}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_SET_GUESTS_PARAMETERS ), // Guests parameters group frame
MakeWidget({183, 69}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MAX ), // happiness max
MakeWidget({127, 69}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MIN ), // happiness min
MakeWidget({183, 90}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MAX ), // energy max
MakeWidget({127, 90}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MIN ), // energy min
MakeWidget({183, 111}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MAX ), // hunger max
MakeWidget({127, 111}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MIN ), // hunger min
MakeWidget({183, 132}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MAX ), // thirst max
MakeWidget({127, 132}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MIN ), // thirst min
MakeWidget({183, 153}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MAX ), // nausea max
MakeWidget({127, 153}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MIN ), // nausea min
MakeWidget({183, 174}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MAX ), // nausea tolerance max
MakeWidget({127, 174}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MIN ), // nausea tolerance min
MakeWidget({183, 195}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MAX ), // toilet max
MakeWidget({127, 195}, MINMAX_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_MIN ), // toilet min
MakeWidget({127, 237}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_MORE_THAN_1 ), // ride intensity > 1
MakeWidget({ 11, 237}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_LESS_THAN_15 ), // ride intensity < 15
MakeWidget({ 11, 258}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_IGNORE_INTENSITY, STR_CHEAT_IGNORE_INTENSITY_TIP ), // guests ignore intensity
MakeWidget({ 11, 279}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_DISABLE_VANDALISM, STR_CHEAT_DISABLE_VANDALISM_TIP), // disable vandalism
MakeWidget({ 11, 300}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_DISABLE_LITTERING, STR_CHEAT_DISABLE_LITTERING_TIP), // disable littering
MakeWidget({ 5, 342}, {238, 69}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_GIVE_ALL_GUESTS ), // Guests parameters group frame
MakeWidget({ 11, 363}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_CURRENCY_FORMAT ), // give guests money
MakeWidget({127, 363}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_SHOP_ITEM_PLURAL_PARK_MAP ), // give guests park maps
MakeWidget({ 11, 384}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_SHOP_ITEM_PLURAL_BALLOON ), // give guests balloons
MakeWidget({127, 384}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_SHOP_ITEM_PLURAL_UMBRELLA ), // give guests umbrellas
MakeWidget({ 11, 426}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_LARGE_TRAM_GUESTS, STR_CHEAT_LARGE_TRAM_GUESTS_TIP), // large tram
MakeWidget({127, 426}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_REMOVE_ALL_GUESTS, STR_CHEAT_REMOVE_ALL_GUESTS_TIP), // remove all guests
{ WIDGETS_END },
};
@ -258,61 +258,61 @@ static rct_widget window_cheats_guests_widgets[] =
static rct_widget window_cheats_misc_widgets[] =
{
MAIN_CHEATS_WIDGETS,
MakeWidget ({ 5, 48}, {238, 60}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_GENERAL_GROUP ), // General group
MakeWidget ({ 11, 62}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_OPEN_PARK, STR_CHEAT_OPEN_PARK_TIP ), // open / close park
MakeWidget ({ 11, 83}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CREATE_DUCKS, STR_CREATE_DUCKS_TIP ), // Create ducks
MakeWidget ({127, 62}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_OWN_ALL_LAND, STR_CHEAT_OWN_ALL_LAND_TIP ), // Own all land
MakeWidget ({127, 83}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_REMOVE_DUCKS, STR_REMOVE_DUCKS_TIP ), // Remove ducks
MakeWidget ({ 5, 48}, {238, 60}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_GENERAL_GROUP ), // General group
MakeWidget ({ 11, 62}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_OPEN_PARK, STR_CHEAT_OPEN_PARK_TIP ), // open / close park
MakeWidget ({ 11, 83}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CREATE_DUCKS, STR_CREATE_DUCKS_TIP ), // Create ducks
MakeWidget ({127, 62}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_OWN_ALL_LAND, STR_CHEAT_OWN_ALL_LAND_TIP ), // Own all land
MakeWidget ({127, 83}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_REMOVE_DUCKS, STR_REMOVE_DUCKS_TIP ), // Remove ducks
MakeWidget ({ 5, 112}, {238, 75}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_OBJECTIVE_GROUP ), // Objective group
MakeWidget ({ 11, 127}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_NEVERENDING_MARKETING, STR_CHEAT_NEVERENDING_MARKETING_TIP), // never ending marketing campaigns
MakeWidget ({ 11, 144}, {281, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_FORCE_PARK_RATING ), // Force park rating
MakeSpinnerWidgets({156, 142}, { 81, 14}, WWT_SPINNER, WindowColour::Secondary ), // park rating (3 widgets)
MakeWidget ({ 11, 162}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_WIN_SCENARIO ), // Win scenario
MakeWidget ({127, 162}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_HAVE_FUN ), // Have fun!
MakeWidget ({ 5, 112}, {238, 75}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_OBJECTIVE_GROUP ), // Objective group
MakeWidget ({ 11, 127}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_NEVERENDING_MARKETING, STR_CHEAT_NEVERENDING_MARKETING_TIP), // never ending marketing campaigns
MakeWidget ({ 11, 144}, {281, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_FORCE_PARK_RATING ), // Force park rating
MakeSpinnerWidgets({156, 142}, { 81, 14}, WindowWidgetType::Spinner, WindowColour::Secondary ), // park rating (3 widgets)
MakeWidget ({ 11, 162}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_WIN_SCENARIO ), // Win scenario
MakeWidget ({127, 162}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_HAVE_FUN ), // Have fun!
MakeWidget ({ 5, 190}, {238, 50}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_WEATHER_GROUP ), // Weather group
MakeWidget ({126, 204}, {111, 14}, WWT_DROPDOWN, WindowColour::Secondary, STR_NONE, STR_CHANGE_WEATHER_TOOLTIP ), // Force weather
MakeWidget ({225, 205}, { 11, 12}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_CHANGE_WEATHER_TOOLTIP ), // Force weather
MakeWidget ({ 11, 222}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_FREEZE_WEATHER, STR_CHEAT_FREEZE_WEATHER_TIP ), // Freeze weather
MakeWidget ({ 5, 190}, {238, 50}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_WEATHER_GROUP ), // Weather group
MakeWidget ({126, 204}, {111, 14}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_NONE, STR_CHANGE_WEATHER_TOOLTIP ), // Force weather
MakeWidget ({225, 205}, { 11, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_CHANGE_WEATHER_TOOLTIP ), // Force weather
MakeWidget ({ 11, 222}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_FREEZE_WEATHER, STR_CHEAT_FREEZE_WEATHER_TIP ), // Freeze weather
MakeWidget ({ 5, 244}, {238, 99}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_MAINTENANCE_GROUP ), // Maintenance group
MakeWidget ({ 11, 259}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_REMOVE_LITTER ), // Remove litter
MakeWidget ({127, 259}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_FIX_VANDALISM ), // Fix vandalism
MakeWidget ({ 11, 280}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_CLEAR_GRASS ), // Clear grass
MakeWidget ({127, 280}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_MOWED_GRASS ), // Mowed grass
MakeWidget ({ 11, 301}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_WATER_PLANTS ), // Water plants
MakeWidget ({ 11, 322}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_DISABLE_PLANT_AGING, STR_CHEAT_DISABLE_PLANT_AGING_TIP ), // Disable plant ageing
MakeWidget ({ 5, 244}, {238, 99}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_MAINTENANCE_GROUP ), // Maintenance group
MakeWidget ({ 11, 259}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_REMOVE_LITTER ), // Remove litter
MakeWidget ({127, 259}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_FIX_VANDALISM ), // Fix vandalism
MakeWidget ({ 11, 280}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_CLEAR_GRASS ), // Clear grass
MakeWidget ({127, 280}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_MOWED_GRASS ), // Mowed grass
MakeWidget ({ 11, 301}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_WATER_PLANTS ), // Water plants
MakeWidget ({ 11, 322}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_DISABLE_PLANT_AGING, STR_CHEAT_DISABLE_PLANT_AGING_TIP ), // Disable plant ageing
MakeWidget ({ 5, 347}, {238, 35}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_STAFF_GROUP ), // Staff group
MakeWidget ({126, 361}, {111, 14}, WWT_DROPDOWN, WindowColour::Secondary ), // Staff speed
MakeWidget ({225, 362}, { 11, 12}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ), // Staff speed
MakeWidget ({ 5, 347}, {238, 35}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_STAFF_GROUP ), // Staff group
MakeWidget ({126, 361}, {111, 14}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Staff speed
MakeWidget ({225, 362}, { 11, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ), // Staff speed
{ WIDGETS_END },
};
static rct_widget window_cheats_rides_widgets[] =
{
MAIN_CHEATS_WIDGETS,
MakeWidget({ 11, 48}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_FIX_ALL_RIDES, STR_CHEAT_FIX_ALL_RIDES_TIP ), // Fix all rides
MakeWidget({127, 48}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_RENEW_RIDES, STR_CHEAT_RENEW_RIDES_TIP ), // Renew rides
MakeWidget({ 11, 69}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_MAKE_DESTRUCTABLE, STR_CHEAT_MAKE_DESTRUCTABLE_TIP ), // All destructible
MakeWidget({127, 69}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_RESET_CRASH_STATUS, STR_CHEAT_RESET_CRASH_STATUS_TIP ), // Reset crash status
MakeWidget({ 11, 90}, CHEAT_BUTTON, WWT_BUTTON, WindowColour::Secondary, STR_CHEAT_10_MINUTE_INSPECTIONS, STR_CHEAT_10_MINUTE_INSPECTIONS_TIP ), // 10 minute inspections
MakeWidget({ 5, 116}, {238, 101}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_GROUP_CONSTRUCTION ), // Construction group
MakeWidget({ 11, 132}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_BUILD_IN_PAUSE_MODE, STR_CHEAT_BUILD_IN_PAUSE_MODE_TIP ), // Build in pause mode
MakeWidget({ 11, 153}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_ENABLE_ALL_DRAWABLE_TRACK_PIECES, STR_CHEAT_ENABLE_ALL_DRAWABLE_TRACK_PIECES_TIP ), // Show all drawable track pieces
MakeWidget({ 11, 174}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK, STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK_TIP ), // Enable chain lift on all track
MakeWidget({ 11, 195}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_ALLOW_TRACK_PLACE_INVALID_HEIGHTS, STR_CHEAT_ALLOW_TRACK_PLACE_INVALID_HEIGHTS_TIP), // Allow track place at invalid heights
MakeWidget({ 5, 221}, {238, 122}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_GROUP_OPERATION ), // Construction group
MakeWidget({ 11, 237}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_SHOW_ALL_OPERATING_MODES ), // Show all operating modes
MakeWidget({ 11, 258}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_UNLOCK_OPERATING_LIMITS, STR_CHEAT_UNLOCK_OPERATING_LIMITS_TIP ), // 410 km/h lift hill etc.
MakeWidget({ 11, 279}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_DISABLE_BRAKES_FAILURE, STR_CHEAT_DISABLE_BRAKES_FAILURE_TIP ), // Disable brakes failure
MakeWidget({ 11, 300}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_DISABLE_BREAKDOWNS, STR_CHEAT_DISABLE_BREAKDOWNS_TIP ), // Disable all breakdowns
MakeWidget({ 11, 321}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_DISABLE_RIDE_VALUE_AGING, STR_CHEAT_DISABLE_RIDE_VALUE_AGING_TIP ), // Disable ride ageing
MakeWidget({ 5, 347}, {238, 101}, WWT_GROUPBOX, WindowColour::Secondary, STR_CHEAT_GROUP_AVAILABILITY ), // Construction group
MakeWidget({ 11, 363}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES, STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES_TIP), // Allow arbitrary ride type changes
MakeWidget({ 11, 384}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES ), // Show vehicles from other track types
MakeWidget({ 11, 405}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT, STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT_TIP ), // Disable train length limits
MakeWidget({ 11, 426}, CHEAT_CHECK, WWT_CHECKBOX, WindowColour::Secondary, STR_CHEAT_IGNORE_RESEARCH_STATUS, STR_CHEAT_IGNORE_RESEARCH_STATUS_TIP ), // Ignore Research Status
MakeWidget({ 11, 48}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_FIX_ALL_RIDES, STR_CHEAT_FIX_ALL_RIDES_TIP ), // Fix all rides
MakeWidget({127, 48}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_RENEW_RIDES, STR_CHEAT_RENEW_RIDES_TIP ), // Renew rides
MakeWidget({ 11, 69}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_MAKE_DESTRUCTABLE, STR_CHEAT_MAKE_DESTRUCTABLE_TIP ), // All destructible
MakeWidget({127, 69}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_RESET_CRASH_STATUS, STR_CHEAT_RESET_CRASH_STATUS_TIP ), // Reset crash status
MakeWidget({ 11, 90}, CHEAT_BUTTON, WindowWidgetType::Button, WindowColour::Secondary, STR_CHEAT_10_MINUTE_INSPECTIONS, STR_CHEAT_10_MINUTE_INSPECTIONS_TIP ), // 10 minute inspections
MakeWidget({ 5, 116}, {238, 101}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_GROUP_CONSTRUCTION ), // Construction group
MakeWidget({ 11, 132}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_BUILD_IN_PAUSE_MODE, STR_CHEAT_BUILD_IN_PAUSE_MODE_TIP ), // Build in pause mode
MakeWidget({ 11, 153}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_ENABLE_ALL_DRAWABLE_TRACK_PIECES, STR_CHEAT_ENABLE_ALL_DRAWABLE_TRACK_PIECES_TIP ), // Show all drawable track pieces
MakeWidget({ 11, 174}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK, STR_CHEAT_ENABLE_CHAIN_LIFT_ON_ALL_TRACK_TIP ), // Enable chain lift on all track
MakeWidget({ 11, 195}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_ALLOW_TRACK_PLACE_INVALID_HEIGHTS, STR_CHEAT_ALLOW_TRACK_PLACE_INVALID_HEIGHTS_TIP), // Allow track place at invalid heights
MakeWidget({ 5, 221}, {238, 122}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_GROUP_OPERATION ), // Construction group
MakeWidget({ 11, 237}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_SHOW_ALL_OPERATING_MODES ), // Show all operating modes
MakeWidget({ 11, 258}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_UNLOCK_OPERATING_LIMITS, STR_CHEAT_UNLOCK_OPERATING_LIMITS_TIP ), // 410 km/h lift hill etc.
MakeWidget({ 11, 279}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_DISABLE_BRAKES_FAILURE, STR_CHEAT_DISABLE_BRAKES_FAILURE_TIP ), // Disable brakes failure
MakeWidget({ 11, 300}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_DISABLE_BREAKDOWNS, STR_CHEAT_DISABLE_BREAKDOWNS_TIP ), // Disable all breakdowns
MakeWidget({ 11, 321}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_DISABLE_RIDE_VALUE_AGING, STR_CHEAT_DISABLE_RIDE_VALUE_AGING_TIP ), // Disable ride ageing
MakeWidget({ 5, 347}, {238, 101}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CHEAT_GROUP_AVAILABILITY ), // Construction group
MakeWidget({ 11, 363}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES, STR_CHEAT_ALLOW_ARBITRARY_RIDE_TYPE_CHANGES_TIP), // Allow arbitrary ride type changes
MakeWidget({ 11, 384}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES ), // Show vehicles from other track types
MakeWidget({ 11, 405}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT, STR_CHEAT_DISABLE_TRAIN_LENGTH_LIMIT_TIP ), // Disable train length limits
MakeWidget({ 11, 426}, CHEAT_CHECK, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CHEAT_IGNORE_RESEARCH_STATUS, STR_CHEAT_IGNORE_RESEARCH_STATUS_TIP ), // Ignore Research Status
{ WIDGETS_END },
};
@ -1250,7 +1250,7 @@ static void window_cheats_set_page(rct_window* w, int32_t page)
int32_t maxY = 0;
rct_widget* widget = &w->widgets[WIDX_TAB_CONTENT];
while (widget->type != WWT_LAST)
while (widget->type != WindowWidgetType::Last)
{
maxY = std::max(maxY, static_cast<int32_t>(widget->bottom));
widget++;

View File

@ -35,12 +35,12 @@ static constexpr const int32_t WH = 94;
static rct_widget window_clear_scenery_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({27, 17}, {44, 32}, WWT_IMGBTN, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box
MakeRemapWidget({28, 18}, {16, 16}, WWT_TRNBTN, WindowColour::Secondary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP), // decrement size
MakeRemapWidget({54, 32}, {16, 16}, WWT_TRNBTN, WindowColour::Secondary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP), // increment size
MakeRemapWidget({ 7, 53}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_G2_BUTTON_TREES, STR_CLEAR_SCENERY_REMOVE_SMALL_SCENERY_TIP), // small scenery
MakeRemapWidget({37, 53}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_G2_BUTTON_LARGE_SCENERY, STR_CLEAR_SCENERY_REMOVE_LARGE_SCENERY_TIP), // large scenery
MakeRemapWidget({67, 53}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_G2_BUTTON_FOOTPATH, STR_CLEAR_SCENERY_REMOVE_FOOTPATHS_TIP), // footpaths
MakeWidget ({27, 17}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box
MakeRemapWidget({28, 18}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Secondary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP), // decrement size
MakeRemapWidget({54, 32}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Secondary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP), // increment size
MakeRemapWidget({ 7, 53}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_BUTTON_TREES, STR_CLEAR_SCENERY_REMOVE_SMALL_SCENERY_TIP), // small scenery
MakeRemapWidget({37, 53}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_BUTTON_LARGE_SCENERY, STR_CLEAR_SCENERY_REMOVE_LARGE_SCENERY_TIP), // large scenery
MakeRemapWidget({67, 53}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_BUTTON_FOOTPATH, STR_CLEAR_SCENERY_REMOVE_FOOTPATHS_TIP), // footpaths
{ WIDGETS_END },
};

View File

@ -35,10 +35,10 @@ enum WINDOW_CUSTOM_CURRENCY_WIDGET_IDX {
static rct_widget window_custom_currency_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeSpinnerWidgets({100, 30}, {101, 11}, WWT_SPINNER, WindowColour::Secondary, STR_CHEAT_CURRENCY_FORMAT), // NB: 3 widgets
MakeWidget ({120, 50}, { 81, 11}, WWT_BUTTON, WindowColour::Secondary, STR_EMPTY ),
MakeWidget ({220, 50}, {131, 11}, WWT_DROPDOWN, WindowColour::Secondary ),
MakeWidget ({339, 51}, { 11, 9}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeSpinnerWidgets({100, 30}, {101, 11}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_CHEAT_CURRENCY_FORMAT), // NB: 3 widgets
MakeWidget ({120, 50}, { 81, 11}, WindowWidgetType::Button, WindowColour::Secondary, STR_EMPTY ),
MakeWidget ({220, 50}, {131, 11}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ),
MakeWidget ({339, 51}, { 11, 9}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
{ WIDGETS_END },
};

View File

@ -36,12 +36,12 @@ constexpr int32_t WINDOW_WIDTH = 200;
constexpr int32_t WINDOW_HEIGHT = 8 + 15 + 15 + 15 + 15 + 11 + 8;
static rct_widget window_debug_paint_widgets[] = {
MakeWidget({0, 0}, {WINDOW_WIDTH, WINDOW_HEIGHT}, WWT_FRAME, WindowColour::Primary ),
MakeWidget({8, 8 + 15 * 0}, { 185, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_WIDE_PATHS ),
MakeWidget({8, 8 + 15 * 1}, { 185, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_BLOCKED_TILES ),
MakeWidget({8, 8 + 15 * 2}, { 185, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_SEGMENT_HEIGHTS),
MakeWidget({8, 8 + 15 * 3}, { 185, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_BOUND_BOXES ),
MakeWidget({8, 8 + 15 * 4}, { 185, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_DIRTY_VISUALS ),
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 * 1}, { 185, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_BLOCKED_TILES ),
MakeWidget({8, 8 + 15 * 2}, { 185, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_SEGMENT_HEIGHTS),
MakeWidget({8, 8 + 15 * 3}, { 185, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_BOUND_BOXES ),
MakeWidget({8, 8 + 15 * 4}, { 185, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DEBUG_PAINT_SHOW_DIRTY_VISUALS ),
{ WIDGETS_END },
};

View File

@ -34,15 +34,15 @@ enum WINDOW_RIDE_DEMOLISH_WIDGET_IDX {
// 0x009AEBA0
static rct_widget window_ride_demolish_widgets[] = {
WINDOW_SHIM_WHITE(STR_DEMOLISH_RIDE, WW, WH),
MakeWidget({ 10, WH - 22}, {85, 14}, WWT_BUTTON, WindowColour::Primary, STR_DEMOLISH ),
MakeWidget({WW - 95, WH - 22}, {85, 14}, WWT_BUTTON, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL),
MakeWidget({ 10, WH - 22}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_DEMOLISH ),
MakeWidget({WW - 95, WH - 22}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL),
{ WIDGETS_END }
};
static rct_widget window_ride_refurbish_widgets[] = {
WINDOW_SHIM_WHITE(STR_REFURBISH_RIDE, WW, WH),
MakeWidget({ 10, WH - 22}, {85, 14}, WWT_BUTTON, WindowColour::Primary, STR_REFURBISH ),
MakeWidget({WW - 95, WH - 22}, {85, 14}, WWT_BUTTON, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL),
MakeWidget({ 10, WH - 22}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_REFURBISH ),
MakeWidget({WW - 95, WH - 22}, {85, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL),
{ WIDGETS_END }
};

View File

@ -32,7 +32,7 @@ enum
};
static rct_widget window_dropdown_widgets[] = {
MakeWidget({ 0, 0 }, { 1, 1 }, WWT_IMGBTN, WindowColour::Primary),
MakeWidget({ 0, 0 }, { 1, 1 }, WindowWidgetType::ImgBtn, WindowColour::Primary),
{ WIDGETS_END },
};

View File

@ -36,10 +36,10 @@ enum {
};
static rct_widget window_editor_bottom_toolbar_widgets[] = {
MakeWidget({ 0, 0}, {200, 34}, WWT_IMGBTN, WindowColour::Primary),
MakeWidget({ 2, 2}, {196, 30}, WWT_FLATBTN, WindowColour::Primary),
MakeWidget({440, 0}, {200, 34}, WWT_IMGBTN, WindowColour::Primary),
MakeWidget({442, 2}, {196, 30}, WWT_FLATBTN, WindowColour::Primary),
MakeWidget({ 0, 0}, {200, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary),
MakeWidget({ 2, 2}, {196, 30}, WindowWidgetType::FlatBtn, WindowColour::Primary),
MakeWidget({440, 0}, {200, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary),
MakeWidget({442, 2}, {196, 30}, WindowWidgetType::FlatBtn, WindowColour::Primary),
{ WIDGETS_END },
};
@ -299,14 +299,14 @@ static void window_editor_bottom_toolbar_mouseup([[maybe_unused]] rct_window* w,
static void hide_previous_step_button()
{
window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_STEP_BUTTON].type = WWT_EMPTY;
window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].type = WWT_EMPTY;
window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_STEP_BUTTON].type = WindowWidgetType::Empty;
window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].type = WindowWidgetType::Empty;
}
static void hide_next_step_button()
{
window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].type = WWT_EMPTY;
window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].type = WWT_EMPTY;
window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].type = WindowWidgetType::Empty;
window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].type = WindowWidgetType::Empty;
}
/**
@ -324,10 +324,10 @@ void window_editor_bottom_toolbar_invalidate(rct_window* w)
window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].left = screenWidth - 198;
window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].right = screenWidth - 3;
window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_STEP_BUTTON].type = WWT_FLATBTN;
window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].type = WWT_FLATBTN;
window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].type = WWT_IMGBTN;
window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].type = WWT_IMGBTN;
window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_STEP_BUTTON].type = WindowWidgetType::FlatBtn;
window_editor_bottom_toolbar_widgets[WIDX_NEXT_STEP_BUTTON].type = WindowWidgetType::FlatBtn;
window_editor_bottom_toolbar_widgets[WIDX_PREVIOUS_IMAGE].type = WindowWidgetType::ImgBtn;
window_editor_bottom_toolbar_widgets[WIDX_NEXT_IMAGE].type = WindowWidgetType::ImgBtn;
if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)
{

View File

@ -47,19 +47,19 @@ enum {
static rct_widget window_editor_inventions_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {600, 357}, WWT_RESIZE, WindowColour::Secondary ),
MakeWidget({ 0, 43}, {600, 357}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17} ),
MakeWidget({ 4, 56}, {368, 161}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ),
MakeWidget({ 4, 231}, {368, 157}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ),
MakeWidget({431, 106}, {114, 114}, WWT_FLATBTN, WindowColour::Secondary ),
MakeWidget({375, 343}, {220, 14}, WWT_BUTTON, WindowColour::Secondary, STR_MOVE_ALL_TOP ),
MakeWidget({375, 358}, {220, 14}, WWT_BUTTON, WindowColour::Secondary, STR_MOVE_ALL_BOTTOM ),
MakeWidget({375, 373}, {220, 14}, WWT_BUTTON, WindowColour::Secondary, STR_RANDOM_SHUFFLE, STR_RANDOM_SHUFFLE_TIP),
MakeWidget({ 4, 56}, {368, 161}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ),
MakeWidget({ 4, 231}, {368, 157}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ),
MakeWidget({431, 106}, {114, 114}, WindowWidgetType::FlatBtn, WindowColour::Secondary ),
MakeWidget({375, 343}, {220, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MOVE_ALL_TOP ),
MakeWidget({375, 358}, {220, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MOVE_ALL_BOTTOM ),
MakeWidget({375, 373}, {220, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_RANDOM_SHUFFLE, STR_RANDOM_SHUFFLE_TIP),
{ WIDGETS_END }
};
static rct_widget window_editor_inventions_list_drag_widgets[] = {
MakeWidget({0, 0}, {150, 14}, WWT_IMGBTN, WindowColour::Primary),
MakeWidget({0, 0}, {150, 14}, WindowWidgetType::ImgBtn, WindowColour::Primary),
{ WIDGETS_END }
};
@ -450,7 +450,8 @@ static void window_editor_inventions_list_invalidate(rct_window* w)
w->pressed_widgets |= 1 << WIDX_PREVIEW;
w->pressed_widgets |= 1 << WIDX_TAB_1;
w->widgets[WIDX_CLOSE].type = gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR ? WWT_EMPTY : WWT_CLOSEBOX;
w->widgets[WIDX_CLOSE].type = gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR ? WindowWidgetType::Empty
: WindowWidgetType::CloseBox;
w->widgets[WIDX_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_BACKGROUND].bottom = w->height - 1;

View File

@ -24,7 +24,7 @@ static rct_window_event_list window_editor_main_events([](auto& events) {
// clang-format on
static rct_widget window_editor_main_widgets[] = {
MakeWidget({ 0, 0 }, { 0, 0 }, WWT_VIEWPORT, WindowColour::Primary, STR_VIEWPORT),
MakeWidget({ 0, 0 }, { 0, 0 }, WindowWidgetType::Viewport, WindowColour::Primary, STR_VIEWPORT),
{ WIDGETS_END },
};

View File

@ -142,15 +142,15 @@ validate_global_widx(WC_EDITOR_OBJECT_SELECTION, WIDX_TAB_1);
static bool _window_editor_object_selection_widgets_initialised;
static std::vector<rct_widget> _window_editor_object_selection_widgets = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {600, 357}, WWT_RESIZE, WindowColour::Secondary ),
MakeWidget({470, 22}, {122, 14}, WWT_BUTTON, WindowColour::Primary, STR_OBJECT_SELECTION_ADVANCED, STR_OBJECT_SELECTION_ADVANCED_TIP),
MakeWidget({ 4, 60}, {288, 327}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ),
MakeWidget({391, 45}, {114, 115}, WWT_FLATBTN, WindowColour::Secondary ),
MakeWidget({470, 22}, {122, 14}, WWT_BUTTON, WindowColour::Primary, STR_INSTALL_NEW_TRACK_DESIGN, STR_INSTALL_NEW_TRACK_DESIGN_TIP ),
MakeWidget({350, 22}, {114, 14}, WWT_BUTTON, WindowColour::Primary, STR_OBJECT_FILTER, STR_OBJECT_FILTER_TIP ),
MakeWidget({ 4, 45}, {211, 14}, WWT_TEXT_BOX, WindowColour::Secondary ),
MakeWidget({218, 45}, { 70, 14}, WWT_BUTTON, WindowColour::Secondary, STR_OBJECT_SEARCH_CLEAR ),
MakeWidget({ 3, 73}, {285, 4}, WWT_IMGBTN, WindowColour::Secondary ),
MakeWidget({ 0, 43}, {600, 357}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeWidget({470, 22}, {122, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_OBJECT_SELECTION_ADVANCED, STR_OBJECT_SELECTION_ADVANCED_TIP),
MakeWidget({ 4, 60}, {288, 327}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ),
MakeWidget({391, 45}, {114, 115}, WindowWidgetType::FlatBtn, WindowColour::Secondary ),
MakeWidget({470, 22}, {122, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_INSTALL_NEW_TRACK_DESIGN, STR_INSTALL_NEW_TRACK_DESIGN_TIP ),
MakeWidget({350, 22}, {114, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_OBJECT_FILTER, STR_OBJECT_FILTER_TIP ),
MakeWidget({ 4, 45}, {211, 14}, WindowWidgetType::TextBox, WindowColour::Secondary ),
MakeWidget({218, 45}, { 70, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_OBJECT_SEARCH_CLEAR ),
MakeWidget({ 3, 73}, {285, 4}, WindowWidgetType::ImgBtn, WindowColour::Secondary ),
MakeTab ({ 3, 47}, STR_OBJECT_FILTER_ALL_RIDES_TIP ),
MakeTab ({ 34, 47}, STR_TRANSPORT_RIDES_TIP ),
MakeTab ({ 65, 47}, STR_GENTLE_RIDES_TIP ),
@ -158,8 +158,8 @@ static std::vector<rct_widget> _window_editor_object_selection_widgets = {
MakeTab ({127, 47}, STR_THRILL_RIDES_TIP ),
MakeTab ({158, 47}, STR_WATER_RIDES_TIP ),
MakeTab ({189, 47}, STR_SHOPS_STALLS_TIP ),
MakeWidget({ 4, 80}, {145, 14}, WWT_TABLE_HEADER, WindowColour::Secondary ),
MakeWidget({149, 80}, {143, 14}, WWT_TABLE_HEADER, WindowColour::Secondary ),
MakeWidget({ 4, 80}, {145, 14}, WindowWidgetType::TableHeader, WindowColour::Secondary ),
MakeWidget({149, 80}, {143, 14}, WindowWidgetType::TableHeader, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_STRING_DEFINED_TOOLTIP ),
// Copied object type times...
@ -818,17 +818,17 @@ static void window_editor_object_selection_invalidate(rct_window* w)
if (gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER)
{
w->widgets[WIDX_TITLE].text = STR_TRACK_DESIGNS_MANAGER_SELECT_RIDE_TYPE;
w->widgets[WIDX_INSTALL_TRACK].type = WWT_BUTTON;
w->widgets[WIDX_INSTALL_TRACK].type = WindowWidgetType::Button;
}
else if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER)
{
w->widgets[WIDX_TITLE].text = STR_ROLLER_COASTER_DESIGNER_SELECT_RIDE_TYPES_VEHICLES;
w->widgets[WIDX_INSTALL_TRACK].type = WWT_EMPTY;
w->widgets[WIDX_INSTALL_TRACK].type = WindowWidgetType::Empty;
}
else
{
w->widgets[WIDX_TITLE].text = STR_OBJECT_SELECTION;
w->widgets[WIDX_INSTALL_TRACK].type = WWT_EMPTY;
w->widgets[WIDX_INSTALL_TRACK].type = WindowWidgetType::Empty;
}
// Align tabs, hide advanced ones
@ -839,11 +839,11 @@ static void window_editor_object_selection_invalidate(rct_window* w)
auto widget = &w->widgets[WIDX_TAB_1 + i];
if (!advancedMode && ObjectSelectionPages[i].IsAdvanced)
{
widget->type = WWT_EMPTY;
widget->type = WindowWidgetType::Empty;
}
else
{
widget->type = WWT_TAB;
widget->type = WindowWidgetType::Tab;
widget->left = x;
widget->right = x + 30;
x += 31;
@ -852,20 +852,20 @@ static void window_editor_object_selection_invalidate(rct_window* w)
if (gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TRACK_DESIGNER))
{
w->widgets[WIDX_ADVANCED].type = WWT_EMPTY;
w->widgets[WIDX_ADVANCED].type = WindowWidgetType::Empty;
for (size_t i = 1; i < std::size(ObjectSelectionPages); i++)
{
w->widgets[WIDX_TAB_1 + i].type = WWT_EMPTY;
w->widgets[WIDX_TAB_1 + i].type = WindowWidgetType::Empty;
}
x = 150;
}
else
{
w->widgets[WIDX_ADVANCED].type = WWT_BUTTON;
w->widgets[WIDX_ADVANCED].type = WindowWidgetType::Button;
x = 300;
}
w->widgets[WIDX_FILTER_DROPDOWN].type = WWT_BUTTON;
w->widgets[WIDX_FILTER_DROPDOWN].type = WindowWidgetType::Button;
w->widgets[WIDX_LIST].right = w->width - (600 - 587) - x;
w->widgets[WIDX_PREVIEW].left = w->width - (600 - 537) - (x / 2);
w->widgets[WIDX_PREVIEW].right = w->widgets[WIDX_PREVIEW].left + 113;
@ -901,19 +901,19 @@ static void window_editor_object_selection_invalidate(rct_window* w)
}
}
w->widgets[WIDX_FILTER_RIDE_TAB_FRAME].type = WWT_IMGBTN;
w->widgets[WIDX_FILTER_RIDE_TAB_FRAME].type = WindowWidgetType::ImgBtn;
for (int32_t i = WIDX_FILTER_RIDE_TAB_ALL; i <= WIDX_FILTER_RIDE_TAB_STALL; i++)
w->widgets[i].type = WWT_TAB;
w->widgets[i].type = WindowWidgetType::Tab;
int32_t width_limit = (w->widgets[WIDX_LIST].width() - 15) / 2;
w->widgets[WIDX_LIST_SORT_TYPE].type = WWT_TABLE_HEADER;
w->widgets[WIDX_LIST_SORT_TYPE].type = WindowWidgetType::TableHeader;
w->widgets[WIDX_LIST_SORT_TYPE].top = w->widgets[WIDX_FILTER_TEXT_BOX].bottom + 3;
w->widgets[WIDX_LIST_SORT_TYPE].bottom = w->widgets[WIDX_LIST_SORT_TYPE].top + 13;
w->widgets[WIDX_LIST_SORT_TYPE].left = 4;
w->widgets[WIDX_LIST_SORT_TYPE].right = w->widgets[WIDX_LIST_SORT_TYPE].left + width_limit;
w->widgets[WIDX_LIST_SORT_RIDE].type = WWT_TABLE_HEADER;
w->widgets[WIDX_LIST_SORT_RIDE].type = WindowWidgetType::TableHeader;
w->widgets[WIDX_LIST_SORT_RIDE].top = w->widgets[WIDX_LIST_SORT_TYPE].top;
w->widgets[WIDX_LIST_SORT_RIDE].bottom = w->widgets[WIDX_LIST_SORT_TYPE].bottom;
w->widgets[WIDX_LIST_SORT_RIDE].left = w->widgets[WIDX_LIST_SORT_TYPE].right + 1;
@ -928,10 +928,10 @@ static void window_editor_object_selection_invalidate(rct_window* w)
| (1 << WIDX_FILTER_RIDE_TAB_COASTER) | (1 << WIDX_FILTER_RIDE_TAB_THRILL) | (1 << WIDX_FILTER_RIDE_TAB_WATER)
| (1 << WIDX_FILTER_RIDE_TAB_STALL));
for (int32_t i = WIDX_FILTER_RIDE_TAB_FRAME; i <= WIDX_FILTER_RIDE_TAB_STALL; i++)
w->widgets[i].type = WWT_EMPTY;
w->widgets[i].type = WindowWidgetType::Empty;
w->widgets[WIDX_LIST_SORT_TYPE].type = WWT_EMPTY;
w->widgets[WIDX_LIST_SORT_RIDE].type = WWT_EMPTY;
w->widgets[WIDX_LIST_SORT_TYPE].type = WindowWidgetType::Empty;
w->widgets[WIDX_LIST_SORT_RIDE].type = WindowWidgetType::Empty;
}
}
@ -950,7 +950,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
for (size_t i = 0; i < std::size(ObjectSelectionPages); i++)
{
widget = &w->widgets[WIDX_TAB_1 + i];
if (widget->type != WWT_EMPTY)
if (widget->type != WindowWidgetType::Empty)
{
auto image = ObjectSelectionPages[i].Image;
auto screenPos = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
@ -970,7 +970,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
for (int32_t i = 0; i < 7; i++)
{
widget = &w->widgets[WIDX_FILTER_RIDE_TAB_ALL + i];
if (widget->type == WWT_EMPTY)
if (widget->type == WindowWidgetType::Empty)
continue;
int32_t spriteIndex = ride_tabs[i];
@ -1012,7 +1012,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
// Draw sort button text
widget = &w->widgets[WIDX_LIST_SORT_TYPE];
if (widget->type != WWT_EMPTY)
if (widget->type != WindowWidgetType::Empty)
{
auto ft = Formatter();
auto stringId = _listSortType == RIDE_SORT_TYPE ? static_cast<rct_string_id>(_listSortDescending ? STR_DOWN : STR_UP)
@ -1022,7 +1022,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
DrawTextEllipsised(dpi, screenPos, widget->width(), STR_OBJECTS_SORT_TYPE, ft, w->colours[1]);
}
widget = &w->widgets[WIDX_LIST_SORT_RIDE];
if (widget->type != WWT_EMPTY)
if (widget->type != WindowWidgetType::Empty)
{
auto ft = Formatter();
auto stringId = _listSortType == RIDE_SORT_RIDE ? static_cast<rct_string_id>(_listSortDescending ? STR_DOWN : STR_UP)

View File

@ -87,27 +87,27 @@ enum {
#define MAIN_OBJECTIVE_OPTIONS_WIDGETS \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
MakeWidget({ 0, 43}, {280, 106}, WWT_RESIZE, WindowColour::Secondary), \
MakeWidget({ 0, 43}, {280, 106}, WindowWidgetType::Resize, WindowColour::Secondary), \
MakeTab ({ 3, 17}, STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP ), \
MakeTab ({ 34, 17}, STR_SELECT_RIDES_TO_BE_PRESERVED_TIP )
static rct_widget window_editor_objective_options_main_widgets[] = {
MAIN_OBJECTIVE_OPTIONS_WIDGETS,
MakeWidget ({ 98, 48}, {344, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_NONE, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP ),
MakeWidget ({430, 49}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_OBJECTIVE_FOR_THIS_SCENARIO_TIP ),
MakeSpinnerWidgets({158, 65}, {120, 12}, WWT_BUTTON, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({158, 82}, {120, 12}, WWT_BUTTON, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({370, 99}, { 75, 12}, WWT_BUTTON, WindowColour::Secondary, STR_CHANGE, STR_CHANGE_NAME_OF_PARK_TIP ),
MakeWidget ({370, 116}, { 75, 12}, WWT_BUTTON, WindowColour::Secondary, STR_CHANGE, STR_CHANGE_NAME_OF_SCENARIO_TIP ),
MakeWidget ({ 98, 133}, {180, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_NONE, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN),
MakeWidget ({266, 134}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN),
MakeWidget ({370, 150}, { 75, 12}, WWT_BUTTON, WindowColour::Secondary, STR_CHANGE, STR_CHANGE_DETAIL_NOTES_ABOUT_PARK_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 ),
MakeSpinnerWidgets({158, 65}, {120, 12}, WindowWidgetType::Button, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({158, 82}, {120, 12}, WindowWidgetType::Button, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({370, 99}, { 75, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_CHANGE, STR_CHANGE_NAME_OF_PARK_TIP ),
MakeWidget ({370, 116}, { 75, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_CHANGE, STR_CHANGE_NAME_OF_SCENARIO_TIP ),
MakeWidget ({ 98, 133}, {180, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_NONE, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN),
MakeWidget ({266, 134}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_WHICH_GROUP_THIS_SCENARIO_APPEARS_IN),
MakeWidget ({370, 150}, { 75, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_CHANGE, STR_CHANGE_DETAIL_NOTES_ABOUT_PARK_SCENARIO_TIP),
{ WIDGETS_END }
};
static rct_widget window_editor_objective_options_rides_widgets[] = {
MAIN_OBJECTIVE_OPTIONS_WIDGETS,
MakeWidget({ 3, 60}, {374, 161}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL),
MakeWidget({ 3, 60}, {374, 161}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL),
{ WIDGETS_END }
};
@ -745,12 +745,12 @@ static void window_editor_objective_options_main_invalidate(rct_window* w)
{
case OBJECTIVE_GUESTS_BY:
case OBJECTIVE_PARK_VALUE_BY:
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_SPINNER;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_BUTTON;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_BUTTON;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_SPINNER;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_BUTTON;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_BUTTON;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WindowWidgetType::Spinner;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WindowWidgetType::Button;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WindowWidgetType::Button;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WindowWidgetType::Spinner;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WindowWidgetType::Button;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WindowWidgetType::Button;
break;
case OBJECTIVE_GUESTS_AND_RATING:
case OBJECTIVE_MONTHLY_RIDE_INCOME:
@ -758,26 +758,26 @@ static void window_editor_objective_options_main_invalidate(rct_window* w)
case OBJECTIVE_FINISH_5_ROLLERCOASTERS:
case OBJECTIVE_REPAY_LOAN_AND_PARK_VALUE:
case OBJECTIVE_MONTHLY_FOOD_INCOME:
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_SPINNER;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_BUTTON;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_BUTTON;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WindowWidgetType::Spinner;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WindowWidgetType::Button;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WindowWidgetType::Button;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WindowWidgetType::Empty;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WindowWidgetType::Empty;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WindowWidgetType::Empty;
break;
default:
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WWT_EMPTY;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1].type = WindowWidgetType::Empty;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_INCREASE].type = WindowWidgetType::Empty;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_1_DECREASE].type = WindowWidgetType::Empty;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2].type = WindowWidgetType::Empty;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_INCREASE].type = WindowWidgetType::Empty;
window_editor_objective_options_main_widgets[WIDX_OBJECTIVE_ARG_2_DECREASE].type = WindowWidgetType::Empty;
break;
}
window_editor_objective_options_main_widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)
? WWT_EMPTY
: WWT_CLOSEBOX;
? WindowWidgetType::Empty
: WindowWidgetType::CloseBox;
window_editor_objective_options_anchor_border_widgets(w);
}
@ -804,7 +804,7 @@ static void window_editor_objective_options_main_paint(rct_window* w, rct_drawpi
stringId = ObjectiveDropdownOptionNames[gScenarioObjective.Type];
gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, screenCoords);
if (w->widgets[WIDX_OBJECTIVE_ARG_1].type != WWT_EMPTY)
if (w->widgets[WIDX_OBJECTIVE_ARG_1].type != WindowWidgetType::Empty)
{
// Objective argument 1 label
screenCoords = w->windowPos + ScreenCoordsXY{ 28, w->widgets[WIDX_OBJECTIVE_ARG_1].top };
@ -866,7 +866,7 @@ static void window_editor_objective_options_main_paint(rct_window* w, rct_drawpi
gfx_draw_string_left(dpi, stringId, &arg, COLOUR_BLACK, screenCoords);
}
if (w->widgets[WIDX_OBJECTIVE_ARG_2].type != WWT_EMPTY)
if (w->widgets[WIDX_OBJECTIVE_ARG_2].type != WindowWidgetType::Empty)
{
// Objective argument 2 label
screenCoords = w->windowPos + ScreenCoordsXY{ 28, w->widgets[WIDX_OBJECTIVE_ARG_2].top };
@ -1047,8 +1047,8 @@ static void window_editor_objective_options_rides_invalidate(rct_window* w)
window_editor_objective_options_set_pressed_tab(w);
window_editor_objective_options_main_widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)
? WWT_EMPTY
: WWT_CLOSEBOX;
? WindowWidgetType::Empty
: WindowWidgetType::CloseBox;
window_editor_objective_options_anchor_border_widgets(w);
}

View File

@ -119,52 +119,52 @@ enum {
static rct_widget window_editor_scenario_options_financial_widgets[] = {
WINDOW_SHIM(STR_SCENARIO_OPTIONS_FINANCIAL, WW_FINANCIAL, WH_FINANCIAL),
MakeWidget ({ 0, 43}, { WW_FINANCIAL, 106}, WWT_RESIZE, WindowColour::Secondary ),
MakeWidget ({ 0, 43}, { WW_FINANCIAL, 106}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_SCENARIO_OPTIONS_FINANCIAL_TIP),
MakeTab ({ 34, 17}, STR_SCENARIO_OPTIONS_GUESTS_TIP ),
MakeTab ({ 65, 17}, STR_SCENARIO_OPTIONS_PARK_TIP ),
MakeWidget ({ 8, 48}, {WW_FINANCIAL - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MAKE_PARK_NO_MONEY, STR_MAKE_PARK_NO_MONEY_TIP ),
MakeSpinnerWidgets({168, 65}, { 100, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({168, 82}, { 100, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({168, 99}, { 100, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({168, 116}, { 70, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({ 8, 133}, {WW_FINANCIAL - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_FORBID_MARKETING, STR_FORBID_MARKETING_TIP ),
MakeWidget ({ 8, 48}, {WW_FINANCIAL - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAKE_PARK_NO_MONEY, STR_MAKE_PARK_NO_MONEY_TIP ),
MakeSpinnerWidgets({168, 65}, { 100, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({168, 82}, { 100, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({168, 99}, { 100, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({168, 116}, { 70, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({ 8, 133}, {WW_FINANCIAL - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_FORBID_MARKETING, STR_FORBID_MARKETING_TIP ),
{ WIDGETS_END }
};
static rct_widget window_editor_scenario_options_guests_widgets[] = {
WINDOW_SHIM(STR_SCENARIO_OPTIONS_GUESTS, WW_GUESTS, WH_GUESTS),
MakeWidget ({ 0, 43}, { WW_GUESTS, 106}, WWT_RESIZE, WindowColour::Secondary),
MakeRemapWidget ({ 3, 17}, { 31, 27}, WWT_TAB, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP ),
MakeRemapWidget ({ 34, 17}, { 31, 30}, WWT_TAB, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP ),
MakeRemapWidget ({ 65, 17}, { 31, 27}, WWT_TAB, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP ),
MakeSpinnerWidgets({268, 48}, { 70, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({268, 65}, { 70, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({268, 82}, { 70, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({268, 99}, { 70, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({ 8, 116}, {WW_GUESTS - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_GUESTS_PREFER_LESS_INTENSE_RIDES, STR_GUESTS_PREFER_LESS_INTENSE_RIDES_TIP),
MakeWidget ({ 8, 133}, {WW_GUESTS - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_GUESTS_PREFER_MORE_INTENSE_RIDES, STR_GUESTS_PREFER_MORE_INTENSE_RIDES_TIP),
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 ({ 34, 17}, { 31, 30}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP ),
MakeRemapWidget ({ 65, 17}, { 31, 27}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP ),
MakeSpinnerWidgets({268, 48}, { 70, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({268, 65}, { 70, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({268, 82}, { 70, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({268, 99}, { 70, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({ 8, 116}, {WW_GUESTS - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_GUESTS_PREFER_LESS_INTENSE_RIDES, STR_GUESTS_PREFER_LESS_INTENSE_RIDES_TIP),
MakeWidget ({ 8, 133}, {WW_GUESTS - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_GUESTS_PREFER_MORE_INTENSE_RIDES, STR_GUESTS_PREFER_MORE_INTENSE_RIDES_TIP),
{ WIDGETS_END }
};
static rct_widget window_editor_scenario_options_park_widgets[] = {
WINDOW_SHIM(STR_SCENARIO_OPTIONS_PARK, WW_PARK, WH_PARK),
MakeWidget ({ 0, 43}, { WW_PARK, 106}, WWT_RESIZE, WindowColour::Secondary ),
MakeRemapWidget ({ 3, 17}, { 31, 27}, WWT_TAB, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP),
MakeRemapWidget ({ 34, 17}, { 31, 30}, WWT_TAB, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP ),
MakeRemapWidget ({ 65, 17}, { 31, 27}, WWT_TAB, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP ),
MakeSpinnerWidgets({188, 48}, { 70, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({188, 65}, { 70, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({ 8, 82}, { 210, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_NONE, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP),
MakeWidget ({206, 83}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP),
MakeSpinnerWidgets({328, 82}, { 67, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({188, 99}, { 207, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_NONE, STR_SELECT_CLIMATE_TIP ),
MakeWidget ({383, 100}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_CLIMATE_TIP ),
MakeWidget ({ 8, 116}, {WW_PARK - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_FORBID_TREE_REMOVAL, STR_FORBID_TREE_REMOVAL_TIP ),
MakeWidget ({ 8, 133}, {WW_PARK - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_FORBID_LANDSCAPE_CHANGES, STR_FORBID_LANDSCAPE_CHANGES_TIP ),
MakeWidget ({ 8, 150}, {WW_PARK - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_FORBID_HIGH_CONSTRUCTION, STR_FORBID_HIGH_CONSTRUCTION_TIP ),
MakeWidget ({ 8, 167}, {WW_PARK - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_HARD_PARK_RATING, STR_HARD_PARK_RATING_TIP ),
MakeWidget ({ 8, 184}, {WW_PARK - 16, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_HARD_GUEST_GENERATION, STR_HARD_GUEST_GENERATION_TIP ),
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 ({ 34, 17}, { 31, 30}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP ),
MakeRemapWidget ({ 65, 17}, { 31, 27}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB, STR_SCENARIO_OPTIONS_PARK_TIP ),
MakeSpinnerWidgets({188, 48}, { 70, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({188, 65}, { 70, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({ 8, 82}, { 210, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_NONE, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP),
MakeWidget ({206, 83}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_PAY_FOR_PARK_PAY_FOR_RIDES_TIP),
MakeSpinnerWidgets({328, 82}, { 67, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({188, 99}, { 207, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_NONE, STR_SELECT_CLIMATE_TIP ),
MakeWidget ({383, 100}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_CLIMATE_TIP ),
MakeWidget ({ 8, 116}, {WW_PARK - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_FORBID_TREE_REMOVAL, STR_FORBID_TREE_REMOVAL_TIP ),
MakeWidget ({ 8, 133}, {WW_PARK - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_FORBID_LANDSCAPE_CHANGES, STR_FORBID_LANDSCAPE_CHANGES_TIP ),
MakeWidget ({ 8, 150}, {WW_PARK - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_FORBID_HIGH_CONSTRUCTION, STR_FORBID_HIGH_CONSTRUCTION_TIP ),
MakeWidget ({ 8, 167}, {WW_PARK - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_HARD_PARK_RATING, STR_HARD_PARK_RATING_TIP ),
MakeWidget ({ 8, 184}, {WW_PARK - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_HARD_GUEST_GENERATION, STR_HARD_GUEST_GENERATION_TIP ),
{ WIDGETS_END }
};
@ -641,24 +641,24 @@ static void window_editor_scenario_options_financial_invalidate(rct_window* w)
{
w->pressed_widgets |= (1 << WIDX_NO_MONEY);
for (int32_t i = WIDX_INITIAL_CASH; i <= WIDX_FORBID_MARKETING; i++)
w->widgets[i].type = WWT_EMPTY;
w->widgets[i].type = WindowWidgetType::Empty;
}
else
{
w->pressed_widgets &= ~(1 << WIDX_NO_MONEY);
w->widgets[WIDX_INITIAL_CASH].type = WWT_SPINNER;
w->widgets[WIDX_INITIAL_CASH_INCREASE].type = WWT_BUTTON;
w->widgets[WIDX_INITIAL_CASH_DECREASE].type = WWT_BUTTON;
w->widgets[WIDX_INITIAL_LOAN].type = WWT_SPINNER;
w->widgets[WIDX_INITIAL_LOAN_INCREASE].type = WWT_BUTTON;
w->widgets[WIDX_INITIAL_LOAN_DECREASE].type = WWT_BUTTON;
w->widgets[WIDX_MAXIMUM_LOAN].type = WWT_SPINNER;
w->widgets[WIDX_MAXIMUM_LOAN_INCREASE].type = WWT_BUTTON;
w->widgets[WIDX_MAXIMUM_LOAN_DECREASE].type = WWT_BUTTON;
w->widgets[WIDX_INTEREST_RATE].type = WWT_SPINNER;
w->widgets[WIDX_INTEREST_RATE_INCREASE].type = WWT_BUTTON;
w->widgets[WIDX_INTEREST_RATE_DECREASE].type = WWT_BUTTON;
w->widgets[WIDX_FORBID_MARKETING].type = WWT_CHECKBOX;
w->widgets[WIDX_INITIAL_CASH].type = WindowWidgetType::Spinner;
w->widgets[WIDX_INITIAL_CASH_INCREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_INITIAL_CASH_DECREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_INITIAL_LOAN].type = WindowWidgetType::Spinner;
w->widgets[WIDX_INITIAL_LOAN_INCREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_INITIAL_LOAN_DECREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_MAXIMUM_LOAN].type = WindowWidgetType::Spinner;
w->widgets[WIDX_MAXIMUM_LOAN_INCREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_MAXIMUM_LOAN_DECREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_INTEREST_RATE].type = WindowWidgetType::Spinner;
w->widgets[WIDX_INTEREST_RATE_INCREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_INTEREST_RATE_DECREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_FORBID_MARKETING].type = WindowWidgetType::Checkbox;
}
if (gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN)
@ -666,7 +666,8 @@ static void window_editor_scenario_options_financial_invalidate(rct_window* w)
else
w->pressed_widgets &= ~(1 << WIDX_FORBID_MARKETING);
w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX;
w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WindowWidgetType::Empty
: WindowWidgetType::CloseBox;
window_editor_scenario_options_anchor_border_widgets(w);
}
@ -682,7 +683,7 @@ static void window_editor_scenario_options_financial_paint(rct_window* w, rct_dr
WindowDrawWidgets(w, dpi);
window_editor_scenario_options_draw_tab_images(w, dpi);
if (w->widgets[WIDX_INITIAL_CASH].type != WWT_EMPTY)
if (w->widgets[WIDX_INITIAL_CASH].type != WindowWidgetType::Empty)
{
screenCoords = w->windowPos + ScreenCoordsXY{ 8, w->widgets[WIDX_INITIAL_CASH].top };
gfx_draw_string_left(dpi, STR_INIT_CASH_LABEL, nullptr, COLOUR_BLACK, screenCoords);
@ -692,7 +693,7 @@ static void window_editor_scenario_options_financial_paint(rct_window* w, rct_dr
gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gInitialCash, COLOUR_BLACK, screenCoords);
}
if (w->widgets[WIDX_INITIAL_LOAN].type != WWT_EMPTY)
if (w->widgets[WIDX_INITIAL_LOAN].type != WindowWidgetType::Empty)
{
screenCoords = w->windowPos + ScreenCoordsXY{ 8, w->widgets[WIDX_INITIAL_LOAN].top };
gfx_draw_string_left(dpi, STR_INIT_LOAN_LABEL, nullptr, COLOUR_BLACK, screenCoords);
@ -702,7 +703,7 @@ static void window_editor_scenario_options_financial_paint(rct_window* w, rct_dr
gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gBankLoan, COLOUR_BLACK, screenCoords);
}
if (w->widgets[WIDX_MAXIMUM_LOAN].type != WWT_EMPTY)
if (w->widgets[WIDX_MAXIMUM_LOAN].type != WindowWidgetType::Empty)
{
screenCoords = w->windowPos + ScreenCoordsXY{ 8, w->widgets[WIDX_MAXIMUM_LOAN].top };
gfx_draw_string_left(dpi, STR_MAX_LOAN_LABEL, nullptr, COLOUR_BLACK, screenCoords);
@ -712,7 +713,7 @@ static void window_editor_scenario_options_financial_paint(rct_window* w, rct_dr
gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &gMaxBankLoan, COLOUR_BLACK, screenCoords);
}
if (w->widgets[WIDX_INTEREST_RATE].type != WWT_EMPTY)
if (w->widgets[WIDX_INTEREST_RATE].type != WindowWidgetType::Empty)
{
screenCoords = w->windowPos + ScreenCoordsXY{ 8, w->widgets[WIDX_INTEREST_RATE].top };
gfx_draw_string_left(dpi, STR_INTEREST_RATE_LABEL, nullptr, COLOUR_BLACK, screenCoords);
@ -919,15 +920,15 @@ static void window_editor_scenario_options_guests_invalidate(rct_window* w)
if (((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY_SCENARIO))
|| (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY)))
{
w->widgets[WIDX_CASH_PER_GUEST].type = WWT_EMPTY;
w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WWT_EMPTY;
w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WWT_EMPTY;
w->widgets[WIDX_CASH_PER_GUEST].type = WindowWidgetType::Empty;
w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WindowWidgetType::Empty;
w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WindowWidgetType::Empty;
}
else
{
w->widgets[WIDX_CASH_PER_GUEST].type = WWT_SPINNER;
w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WWT_BUTTON;
w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WWT_BUTTON;
w->widgets[WIDX_CASH_PER_GUEST].type = WindowWidgetType::Spinner;
w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WindowWidgetType::Button;
}
// Guests prefer less intense rides checkbox
@ -942,7 +943,8 @@ static void window_editor_scenario_options_guests_invalidate(rct_window* w)
else
w->pressed_widgets &= ~(1 << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES);
w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX;
w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WindowWidgetType::Empty
: WindowWidgetType::CloseBox;
window_editor_scenario_options_anchor_border_widgets(w);
}
@ -959,7 +961,7 @@ static void window_editor_scenario_options_guests_paint(rct_window* w, rct_drawp
WindowDrawWidgets(w, dpi);
window_editor_scenario_options_draw_tab_images(w, dpi);
if (w->widgets[WIDX_CASH_PER_GUEST].type != WWT_EMPTY)
if (w->widgets[WIDX_CASH_PER_GUEST].type != WindowWidgetType::Empty)
{
// Cash per guest label
screenCoords = w->windowPos + ScreenCoordsXY{ 8, w->widgets[WIDX_CASH_PER_GUEST].top };
@ -1254,30 +1256,30 @@ static void window_editor_scenario_options_park_invalidate(rct_window* w)
|| (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && (gParkFlags & PARK_FLAGS_NO_MONEY)))
{
for (int32_t i = WIDX_LAND_COST; i <= WIDX_ENTRY_PRICE_DECREASE; i++)
w->widgets[i].type = WWT_EMPTY;
w->widgets[i].type = WindowWidgetType::Empty;
}
else
{
w->widgets[WIDX_LAND_COST].type = WWT_SPINNER;
w->widgets[WIDX_LAND_COST_INCREASE].type = WWT_BUTTON;
w->widgets[WIDX_LAND_COST_DECREASE].type = WWT_BUTTON;
w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type = WWT_SPINNER;
w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE].type = WWT_BUTTON;
w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE].type = WWT_BUTTON;
w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type = WWT_DROPDOWN;
w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN].type = WWT_BUTTON;
w->widgets[WIDX_LAND_COST].type = WindowWidgetType::Spinner;
w->widgets[WIDX_LAND_COST_INCREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_LAND_COST_DECREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type = WindowWidgetType::Spinner;
w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type = WindowWidgetType::DropdownMenu;
w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN].type = WindowWidgetType::Button;
if (!park_entry_price_unlocked())
{
w->widgets[WIDX_ENTRY_PRICE].type = WWT_EMPTY;
w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WWT_EMPTY;
w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WWT_EMPTY;
w->widgets[WIDX_ENTRY_PRICE].type = WindowWidgetType::Empty;
w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WindowWidgetType::Empty;
w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WindowWidgetType::Empty;
}
else
{
w->widgets[WIDX_ENTRY_PRICE].type = WWT_SPINNER;
w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WWT_BUTTON;
w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WWT_BUTTON;
w->widgets[WIDX_ENTRY_PRICE].type = WindowWidgetType::Spinner;
w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WindowWidgetType::Button;
w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WindowWidgetType::Button;
}
}
@ -1302,7 +1304,8 @@ static void window_editor_scenario_options_park_invalidate(rct_window* w)
w->pressed_widgets = pressedWidgets;
w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WWT_EMPTY : WWT_CLOSEBOX;
w->widgets[WIDX_CLOSE].type = (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) ? WindowWidgetType::Empty
: WindowWidgetType::CloseBox;
window_editor_scenario_options_anchor_border_widgets(w);
}
@ -1320,7 +1323,7 @@ static void window_editor_scenario_options_park_paint(rct_window* w, rct_drawpix
WindowDrawWidgets(w, dpi);
window_editor_scenario_options_draw_tab_images(w, dpi);
if (w->widgets[WIDX_LAND_COST].type != WWT_EMPTY)
if (w->widgets[WIDX_LAND_COST].type != WindowWidgetType::Empty)
{
// Cost to buy land label
screenCoords = w->windowPos + ScreenCoordsXY{ 8, w->widgets[WIDX_LAND_COST].top };
@ -1332,7 +1335,7 @@ static void window_editor_scenario_options_park_paint(rct_window* w, rct_drawpix
gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, screenCoords);
}
if (w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type != WWT_EMPTY)
if (w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type != WindowWidgetType::Empty)
{
// Cost to buy construction rights label
screenCoords = w->windowPos + ScreenCoordsXY{ 8, w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].top };
@ -1346,7 +1349,7 @@ static void window_editor_scenario_options_park_paint(rct_window* w, rct_drawpix
gfx_draw_string_left(dpi, STR_CURRENCY_FORMAT_LABEL, &arg, COLOUR_BLACK, screenCoords);
}
if (w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type != WWT_EMPTY)
if (w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type != WindowWidgetType::Empty)
{
// Pay for park or rides label
screenCoords = w->windowPos
@ -1363,7 +1366,7 @@ static void window_editor_scenario_options_park_paint(rct_window* w, rct_drawpix
gfx_draw_string_left(dpi, STR_WINDOW_COLOUR_2_STRINGID, &stringId, COLOUR_BLACK, screenCoords);
}
if (w->widgets[WIDX_ENTRY_PRICE].type != WWT_EMPTY)
if (w->widgets[WIDX_ENTRY_PRICE].type != WindowWidgetType::Empty)
{
// Entry price label
screenCoords = w->windowPos

View File

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

View File

@ -96,17 +96,17 @@ enum
static rct_widget _windowFinancesSummaryWidgets[] =
{
WINDOW_SHIM(STR_FINANCIAL_SUMMARY, WW_OTHER_TABS, WH_SUMMARY),
MakeWidget ({ 0, 43}, {530, 266}, WWT_RESIZE, WindowColour::Secondary),
MakeWidget ({ 0, 43}, {530, 266}, WindowWidgetType::Resize, WindowColour::Secondary),
TAB_WIDGETS,
MakeWidget ({130, 50}, {391, 211}, WWT_SCROLL, WindowColour::Secondary, SCROLL_HORIZONTAL ),
MakeSpinnerWidgets({ 64, 279}, { 97, 14}, WWT_SPINNER, WindowColour::Secondary, STR_FINANCES_SUMMARY_LOAN_VALUE), // NB: 3 widgets.
MakeWidget ({130, 50}, {391, 211}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_HORIZONTAL ),
MakeSpinnerWidgets({ 64, 279}, { 97, 14}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_FINANCES_SUMMARY_LOAN_VALUE), // NB: 3 widgets.
{ WIDGETS_END },
};
static rct_widget _windowFinancesCashWidgets[] =
{
WINDOW_SHIM(STR_FINANCIAL_GRAPH, WW_OTHER_TABS, WH_OTHER_TABS),
MakeWidget({0, 43}, {WW_OTHER_TABS, 214}, WWT_RESIZE, WindowColour::Secondary),
MakeWidget({0, 43}, {WW_OTHER_TABS, 214}, WindowWidgetType::Resize, WindowColour::Secondary),
TAB_WIDGETS,
{ WIDGETS_END },
};
@ -114,7 +114,7 @@ static rct_widget _windowFinancesCashWidgets[] =
static rct_widget _windowFinancesParkValueWidgets[] =
{
WINDOW_SHIM(STR_PARK_VALUE_GRAPH, WW_OTHER_TABS, WH_OTHER_TABS),
MakeWidget({0, 43}, {WW_OTHER_TABS, 214}, WWT_RESIZE, WindowColour::Secondary),
MakeWidget({0, 43}, {WW_OTHER_TABS, 214}, WindowWidgetType::Resize, WindowColour::Secondary),
TAB_WIDGETS,
{ WIDGETS_END },
};
@ -122,7 +122,7 @@ static rct_widget _windowFinancesParkValueWidgets[] =
static rct_widget _windowFinancesProfitWidgets[] =
{
WINDOW_SHIM(STR_PROFIT_GRAPH, WW_OTHER_TABS, WH_OTHER_TABS),
MakeWidget({0, 43}, {WW_OTHER_TABS, 214}, WWT_RESIZE, WindowColour::Secondary),
MakeWidget({0, 43}, {WW_OTHER_TABS, 214}, WindowWidgetType::Resize, WindowColour::Secondary),
TAB_WIDGETS,
{ WIDGETS_END },
};
@ -130,35 +130,35 @@ static rct_widget _windowFinancesProfitWidgets[] =
static rct_widget _windowFinancesMarketingWidgets[] =
{
WINDOW_SHIM(STR_MARKETING, WW_OTHER_TABS, WH_OTHER_TABS),
MakeWidget({0, 43}, {WW_OTHER_TABS, 214}, WWT_RESIZE, WindowColour::Secondary),
MakeWidget({0, 43}, {WW_OTHER_TABS, 214}, WindowWidgetType::Resize, WindowColour::Secondary),
TAB_WIDGETS,
MakeWidget({3, 47}, { WW_OTHER_TABS - 6, 45}, WWT_GROUPBOX, WindowColour::Tertiary , STR_MARKETING_CAMPAIGNS_IN_OPERATION ),
MakeWidget({3, 47}, { WW_OTHER_TABS - 6, 206}, WWT_GROUPBOX, WindowColour::Tertiary , STR_MARKETING_CAMPAIGNS_AVAILABLE ),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WWT_IMGBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WWT_IMGBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WWT_IMGBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WWT_IMGBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WWT_IMGBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WWT_IMGBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({3, 47}, { WW_OTHER_TABS - 6, 45}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_MARKETING_CAMPAIGNS_IN_OPERATION ),
MakeWidget({3, 47}, { WW_OTHER_TABS - 6, 206}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_MARKETING_CAMPAIGNS_AVAILABLE ),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
MakeWidget({8, 0}, {WW_OTHER_TABS - 16, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_START_THIS_MARKETING_CAMPAIGN),
{ WIDGETS_END },
};
static rct_widget _windowFinancesResearchWidgets[] =
{
WINDOW_SHIM(STR_RESEARCH_FUNDING, WW_RESEARCH, WH_RESEARCH),
MakeWidget({0, 43}, {WW_RESEARCH, 164}, WWT_RESIZE, WindowColour::Secondary),
MakeWidget({0, 43}, {WW_RESEARCH, 164}, WindowWidgetType::Resize, WindowColour::Secondary),
TAB_WIDGETS,
MakeWidget({ 3, 47}, { WW_RESEARCH - 6, 45}, WWT_GROUPBOX, WindowColour::Tertiary, STR_RESEARCH_FUNDING_ ),
MakeWidget({ 8, 59}, { 160, 14}, WWT_DROPDOWN, WindowColour::Tertiary, 0xFFFFFFFF, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT),
MakeWidget({156, 60}, { 11, 12}, WWT_BUTTON, WindowColour::Tertiary, STR_DROPDOWN_GLYPH, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT),
MakeWidget({ 3, 96}, { WW_RESEARCH - 6, 107}, WWT_GROUPBOX, WindowColour::Tertiary, STR_RESEARCH_PRIORITIES ),
MakeWidget({ 8, 108}, {WW_RESEARCH - 14, 12}, WWT_CHECKBOX, WindowColour::Tertiary, STR_RESEARCH_NEW_TRANSPORT_RIDES, STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP ),
MakeWidget({ 8, 121}, {WW_RESEARCH - 14, 12}, WWT_CHECKBOX, WindowColour::Tertiary, STR_RESEARCH_NEW_GENTLE_RIDES, STR_RESEARCH_NEW_GENTLE_RIDES_TIP ),
MakeWidget({ 8, 134}, {WW_RESEARCH - 14, 12}, WWT_CHECKBOX, WindowColour::Tertiary, STR_RESEARCH_NEW_ROLLER_COASTERS, STR_RESEARCH_NEW_ROLLER_COASTERS_TIP ),
MakeWidget({ 8, 147}, {WW_RESEARCH - 14, 12}, WWT_CHECKBOX, WindowColour::Tertiary, STR_RESEARCH_NEW_THRILL_RIDES, STR_RESEARCH_NEW_THRILL_RIDES_TIP ),
MakeWidget({ 8, 160}, {WW_RESEARCH - 14, 12}, WWT_CHECKBOX, WindowColour::Tertiary, STR_RESEARCH_NEW_WATER_RIDES, STR_RESEARCH_NEW_WATER_RIDES_TIP ),
MakeWidget({ 8, 173}, {WW_RESEARCH - 14, 12}, WWT_CHECKBOX, WindowColour::Tertiary, STR_RESEARCH_NEW_SHOPS_AND_STALLS, STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP ),
MakeWidget({ 8, 186}, {WW_RESEARCH - 14, 12}, WWT_CHECKBOX, WindowColour::Tertiary, STR_RESEARCH_NEW_SCENERY_AND_THEMING, STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP ),
MakeWidget({ 3, 47}, { WW_RESEARCH - 6, 45}, WindowWidgetType::Groupbox, WindowColour::Tertiary, STR_RESEARCH_FUNDING_ ),
MakeWidget({ 8, 59}, { 160, 14}, WindowWidgetType::DropdownMenu, WindowColour::Tertiary, 0xFFFFFFFF, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT),
MakeWidget({156, 60}, { 11, 12}, WindowWidgetType::Button, WindowColour::Tertiary, STR_DROPDOWN_GLYPH, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT),
MakeWidget({ 3, 96}, { WW_RESEARCH - 6, 107}, WindowWidgetType::Groupbox, WindowColour::Tertiary, STR_RESEARCH_PRIORITIES ),
MakeWidget({ 8, 108}, {WW_RESEARCH - 14, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary, STR_RESEARCH_NEW_TRANSPORT_RIDES, STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP ),
MakeWidget({ 8, 121}, {WW_RESEARCH - 14, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary, STR_RESEARCH_NEW_GENTLE_RIDES, STR_RESEARCH_NEW_GENTLE_RIDES_TIP ),
MakeWidget({ 8, 134}, {WW_RESEARCH - 14, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary, STR_RESEARCH_NEW_ROLLER_COASTERS, STR_RESEARCH_NEW_ROLLER_COASTERS_TIP ),
MakeWidget({ 8, 147}, {WW_RESEARCH - 14, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary, STR_RESEARCH_NEW_THRILL_RIDES, STR_RESEARCH_NEW_THRILL_RIDES_TIP ),
MakeWidget({ 8, 160}, {WW_RESEARCH - 14, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary, STR_RESEARCH_NEW_WATER_RIDES, STR_RESEARCH_NEW_WATER_RIDES_TIP ),
MakeWidget({ 8, 173}, {WW_RESEARCH - 14, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary, STR_RESEARCH_NEW_SHOPS_AND_STALLS, STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP ),
MakeWidget({ 8, 186}, {WW_RESEARCH - 14, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary, STR_RESEARCH_NEW_SCENERY_AND_THEMING, STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP ),
{ WIDGETS_END },
};
@ -1042,14 +1042,14 @@ static void window_finances_marketing_invalidate(rct_window* w)
auto campaign = marketing_get_campaign(i);
if (campaign == nullptr && marketing_is_campaign_type_applicable(i))
{
campaignButton->type = WWT_BUTTON;
campaignButton->type = WindowWidgetType::Button;
campaignButton->top = y;
campaignButton->bottom = y + BUTTON_FACE_HEIGHT + 1;
y += BUTTON_FACE_HEIGHT + 2;
}
else
{
campaignButton->type = WWT_EMPTY;
campaignButton->type = WindowWidgetType::Empty;
}
}
}
@ -1126,7 +1126,7 @@ static void window_finances_marketing_paint(rct_window* w, rct_drawpixelinfo* dp
for (int32_t i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++)
{
auto campaignButton = &_windowFinancesMarketingWidgets[WIDX_CAMPAIGN_1 + i];
if (campaignButton->type != WWT_EMPTY)
if (campaignButton->type != WindowWidgetType::Empty)
{
// Draw button text
money32 pricePerWeek = AdvertisingCampaignPricePerWeek[i];
@ -1248,13 +1248,13 @@ static void window_finances_research_invalidate(rct_window* w)
window_finances_set_pressed_tab(w);
if (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL)
{
_windowFinancesResearchWidgets[WIDX_RESEARCH_FUNDING].type = WWT_EMPTY;
_windowFinancesResearchWidgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_EMPTY;
_windowFinancesResearchWidgets[WIDX_RESEARCH_FUNDING].type = WindowWidgetType::Empty;
_windowFinancesResearchWidgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WindowWidgetType::Empty;
}
else
{
_windowFinancesResearchWidgets[WIDX_RESEARCH_FUNDING].type = WWT_DROPDOWN;
_windowFinancesResearchWidgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_BUTTON;
_windowFinancesResearchWidgets[WIDX_RESEARCH_FUNDING].type = WindowWidgetType::DropdownMenu;
_windowFinancesResearchWidgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WindowWidgetType::Button;
}
int32_t currentResearchLevel = gResearchFundingLevel;

View File

@ -76,29 +76,29 @@ static rct_widget window_footpath_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
// Type group
MakeWidget({ 3, 17}, {100, 55}, WWT_GROUPBOX, WindowColour::Primary , STR_TYPE ),
MakeWidget({ 6, 30}, { 47, 36}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_FOOTPATH_TIP ),
MakeWidget({53, 30}, { 47, 36}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_QUEUE_LINE_PATH_TIP ),
MakeWidget({ 3, 17}, {100, 55}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_TYPE ),
MakeWidget({ 6, 30}, { 47, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_FOOTPATH_TIP ),
MakeWidget({53, 30}, { 47, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_QUEUE_LINE_PATH_TIP ),
// Direction group
MakeWidget({ 3, 75}, {100, 77}, WWT_GROUPBOX, WindowColour::Primary , STR_DIRECTION ),
MakeWidget({53, 87}, { 45, 29}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_NE, STR_DIRECTION_TIP ),
MakeWidget({53, 116}, { 45, 29}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_SE, STR_DIRECTION_TIP ),
MakeWidget({ 8, 116}, { 45, 29}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_SW, STR_DIRECTION_TIP ),
MakeWidget({ 8, 87}, { 45, 29}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_NW, STR_DIRECTION_TIP ),
MakeWidget({ 3, 75}, {100, 77}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_DIRECTION ),
MakeWidget({53, 87}, { 45, 29}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_NE, STR_DIRECTION_TIP ),
MakeWidget({53, 116}, { 45, 29}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_SE, STR_DIRECTION_TIP ),
MakeWidget({ 8, 116}, { 45, 29}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_SW, STR_DIRECTION_TIP ),
MakeWidget({ 8, 87}, { 45, 29}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_NW, STR_DIRECTION_TIP ),
// Slope group
MakeWidget({ 3, 155}, {100, 41}, WWT_GROUPBOX, WindowColour::Primary , STR_SLOPE ),
MakeWidget({17, 167}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_DOWN, STR_SLOPE_DOWN_TIP ),
MakeWidget({41, 167}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_LEVEL, STR_LEVEL_TIP ),
MakeWidget({65, 167}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_SLOPE_UP_TIP ),
MakeWidget({ 8, 202}, { 90, 90}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_CONSTRUCT_THE_SELECTED_FOOTPATH_SECTION_TIP),
MakeWidget({30, 295}, { 46, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_DEMOLISH_CURRENT_SECTION, STR_REMOVE_PREVIOUS_FOOTPATH_SECTION_TIP ),
MakeWidget({ 3, 155}, {100, 41}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_SLOPE ),
MakeWidget({17, 167}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_DOWN, STR_SLOPE_DOWN_TIP ),
MakeWidget({41, 167}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_LEVEL, STR_LEVEL_TIP ),
MakeWidget({65, 167}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_SLOPE_UP_TIP ),
MakeWidget({ 8, 202}, { 90, 90}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_CONSTRUCT_THE_SELECTED_FOOTPATH_SECTION_TIP),
MakeWidget({30, 295}, { 46, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_DEMOLISH_CURRENT_SECTION, STR_REMOVE_PREVIOUS_FOOTPATH_SECTION_TIP ),
// Mode group
MakeWidget({ 3, 321}, {100, 54}, WWT_GROUPBOX, WindowColour::Primary ),
MakeWidget({13, 332}, { 36, 36}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_FOOTPATH_LAND, STR_CONSTRUCT_FOOTPATH_ON_LAND_TIP ),
MakeWidget({57, 332}, { 36, 36}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_FOOTPATH_BRIDGE, STR_CONSTRUCT_BRIDGE_OR_TUNNEL_FOOTPATH_TIP ),
MakeWidget({ 3, 321}, {100, 54}, WindowWidgetType::Groupbox, WindowColour::Primary ),
MakeWidget({13, 332}, { 36, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_FOOTPATH_LAND, STR_CONSTRUCT_FOOTPATH_ON_LAND_TIP ),
MakeWidget({57, 332}, { 36, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_FOOTPATH_BRIDGE, STR_CONSTRUCT_BRIDGE_OR_TUNNEL_FOOTPATH_TIP ),
{WIDGETS_END},
};
@ -563,8 +563,8 @@ static void window_footpath_invalidate(rct_window* w)
// Enable / disable construct button
window_footpath_widgets[WIDX_CONSTRUCT].type = gFootpathConstructionMode == PATH_CONSTRUCTION_MODE_BRIDGE_OR_TUNNEL
? WWT_IMGBTN
: WWT_EMPTY;
? WindowWidgetType::ImgBtn
: WindowWidgetType::Empty;
// Set footpath and queue type button images
auto pathImage = static_cast<uint32_t>(SPR_NONE);

View File

@ -48,20 +48,20 @@ enum WINDOW_GAME_BOTTOM_TOOLBAR_WIDGET_IDX
static rct_widget window_game_bottom_toolbar_widgets[] =
{
MakeWidget({ 0, 0}, {142, 34}, WWT_IMGBTN, WindowColour::Primary ), // Left outset panel
MakeWidget({ 2, 2}, {138, 30}, WWT_IMGBTN, WindowColour::Primary ), // Left inset panel
MakeWidget({ 2, 1}, {138, 12}, WWT_FLATBTN, WindowColour::Primary , 0xFFFFFFFF, STR_PROFIT_PER_WEEK_AND_PARK_VALUE_TIP), // Money window
MakeWidget({ 2, 11}, {138, 12}, WWT_FLATBTN, WindowColour::Primary ), // Guests window
MakeWidget({ 2, 21}, {138, 11}, WWT_FLATBTN, WindowColour::Primary , 0xFFFFFFFF, STR_PARK_RATING_TIP ), // Park rating window
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, 1}, {138, 12}, WindowWidgetType::FlatBtn, WindowColour::Primary , 0xFFFFFFFF, STR_PROFIT_PER_WEEK_AND_PARK_VALUE_TIP), // Money window
MakeWidget({ 2, 11}, {138, 12}, WindowWidgetType::FlatBtn, WindowColour::Primary ), // Guests window
MakeWidget({ 2, 21}, {138, 11}, WindowWidgetType::FlatBtn, WindowColour::Primary , 0xFFFFFFFF, STR_PARK_RATING_TIP ), // Park rating window
MakeWidget({142, 0}, {356, 34}, WWT_IMGBTN, WindowColour::Tertiary ), // Middle outset panel
MakeWidget({144, 2}, {352, 30}, WWT_PLACEHOLDER, WindowColour::Tertiary ), // Middle inset panel
MakeWidget({147, 5}, { 24, 24}, WWT_FLATBTN, WindowColour::Tertiary, 0xFFFFFFFF, STR_SHOW_SUBJECT_TIP ), // Associated news item window
MakeWidget({469, 5}, { 24, 24}, WWT_FLATBTN, WindowColour::Tertiary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP ), // Scroll to news item target
MakeWidget({142, 0}, {356, 34}, WindowWidgetType::ImgBtn, WindowColour::Tertiary ), // Middle outset panel
MakeWidget({144, 2}, {352, 30}, WindowWidgetType::Placeholder, WindowColour::Tertiary ), // Middle inset panel
MakeWidget({147, 5}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Tertiary, 0xFFFFFFFF, STR_SHOW_SUBJECT_TIP ), // Associated news item window
MakeWidget({469, 5}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Tertiary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP ), // Scroll to news item target
MakeWidget({498, 0}, {142, 34}, WWT_IMGBTN, WindowColour::Primary ), // Right outset panel
MakeWidget({500, 2}, {138, 30}, WWT_IMGBTN, WindowColour::Primary ), // Right inset panel
MakeWidget({500, 2}, {138, 12}, WWT_FLATBTN, WindowColour::Primary ), // Date
MakeWidget({498, 0}, {142, 34}, WindowWidgetType::ImgBtn, WindowColour::Primary ), // Right outset panel
MakeWidget({500, 2}, {138, 30}, WindowWidgetType::ImgBtn, WindowColour::Primary ), // Right inset panel
MakeWidget({500, 2}, {138, 12}, WindowWidgetType::FlatBtn, WindowColour::Primary ), // Date
{ WIDGETS_END },
};
@ -125,7 +125,7 @@ rct_window* window_game_bottom_toolbar_open()
// Reset the middle widget to not show by default.
// If it is required to be shown news_update will reshow it.
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WindowWidgetType::Empty;
return window;
}
@ -237,7 +237,7 @@ static void window_game_bottom_toolbar_invalidate(rct_window* w)
// Reposition left widgets in accordance with line height... depending on whether there is money in play.
if (gParkFlags & PARK_FLAGS_NO_MONEY)
{
w->widgets[WIDX_MONEY].type = WWT_EMPTY;
w->widgets[WIDX_MONEY].type = WindowWidgetType::Empty;
w->widgets[WIDX_GUESTS].top = 1;
w->widgets[WIDX_GUESTS].bottom = line_height + 7;
w->widgets[WIDX_PARK_RATING].top = line_height + 8;
@ -245,7 +245,7 @@ static void window_game_bottom_toolbar_invalidate(rct_window* w)
}
else
{
w->widgets[WIDX_MONEY].type = WWT_FLATBTN;
w->widgets[WIDX_MONEY].type = WindowWidgetType::FlatBtn;
w->widgets[WIDX_MONEY].bottom = w->widgets[WIDX_MONEY].top + line_height;
w->widgets[WIDX_GUESTS].top = w->widgets[WIDX_MONEY].bottom + 1;
w->widgets[WIDX_GUESTS].bottom = w->widgets[WIDX_GUESTS].top + line_height;
@ -278,24 +278,24 @@ static void window_game_bottom_toolbar_invalidate(rct_window* w)
window_game_bottom_toolbar_widgets[WIDX_DATE].left = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 2;
window_game_bottom_toolbar_widgets[WIDX_DATE].right = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right - 2;
window_game_bottom_toolbar_widgets[WIDX_LEFT_INSET].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_RIGHT_INSET].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_LEFT_INSET].type = WindowWidgetType::Empty;
window_game_bottom_toolbar_widgets[WIDX_RIGHT_INSET].type = WindowWidgetType::Empty;
if (News::IsQueueEmpty())
{
if (!(ThemeGetFlags() & UITHEME_FLAG_USE_FULL_BOTTOM_TOOLBAR))
{
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WindowWidgetType::Empty;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WindowWidgetType::Empty;
window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WindowWidgetType::Empty;
window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WindowWidgetType::Empty;
}
else
{
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_IMGBTN;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WWT_PLACEHOLDER;
window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WindowWidgetType::ImgBtn;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WindowWidgetType::Placeholder;
window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WindowWidgetType::Empty;
window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WindowWidgetType::Empty;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].colour = 0;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].colour = 0;
}
@ -303,10 +303,10 @@ static void window_game_bottom_toolbar_invalidate(rct_window* w)
else
{
News::Item* newsItem = News::GetItem(0);
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_IMGBTN;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WWT_PLACEHOLDER;
window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_FLATBTN;
window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WWT_FLATBTN;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WindowWidgetType::ImgBtn;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].type = WindowWidgetType::Placeholder;
window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WindowWidgetType::FlatBtn;
window_game_bottom_toolbar_widgets[WIDX_NEWS_LOCATE].type = WindowWidgetType::FlatBtn;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].colour = 2;
window_game_bottom_toolbar_widgets[WIDX_MIDDLE_INSET].colour = 2;
w->disabled_widgets &= ~(1 << WIDX_NEWS_SUBJECT);
@ -321,7 +321,7 @@ static void window_game_bottom_toolbar_invalidate(rct_window* w)
if (!(newsItem->TypeHasSubject()))
{
w->disabled_widgets |= (1 << WIDX_NEWS_SUBJECT);
window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WWT_EMPTY;
window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].type = WindowWidgetType::Empty;
}
if (newsItem->HasButton())

View File

@ -76,7 +76,7 @@ static constexpr int32_t TabWidth = 30;
#define MAIN_GUEST_WIDGETS \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
MakeWidget({ 0, 43}, {192, 114}, WWT_RESIZE, WindowColour::Secondary), /* Resize */ \
MakeWidget({ 0, 43}, {192, 114}, WindowWidgetType::Resize, WindowColour::Secondary), /* Resize */ \
MakeTab ({ 3, 17}, STR_SHOW_GUEST_VIEW_TIP ), /* Tab 1 */ \
MakeTab ({ 34, 17}, STR_SHOW_GUEST_NEEDS_TIP ), /* Tab 2 */ \
MakeTab ({ 65, 17}, STR_SHOW_GUEST_VISITED_RIDES_TIP ), /* Tab 3 */ \
@ -87,13 +87,13 @@ static constexpr int32_t TabWidth = 30;
static rct_widget window_guest_overview_widgets[] = {
MAIN_GUEST_WIDGETS,
MakeWidget({ 3, 45}, {164, 12}, WWT_LABEL_CENTRED, WindowColour::Secondary ), // Label Thought marquee
MakeWidget({ 3, 57}, {164, 87}, WWT_VIEWPORT, WindowColour::Secondary ), // Viewport
MakeWidget({ 3, 144}, {164, 11}, WWT_LABEL_CENTRED, WindowColour::Secondary ), // Label Action
MakeWidget({167, 45}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_PICKUP_BTN, STR_PICKUP_TIP ), // Pickup Button
MakeWidget({167, 69}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RENAME, STR_NAME_GUEST_TIP ), // Rename Button
MakeWidget({167, 93}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP ), // Locate Button
MakeWidget({167, 117}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_TRACK_PEEP, STR_TOGGLE_GUEST_TRACKING_TIP), // Track Button
MakeWidget({ 3, 45}, {164, 12}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // Label Thought marquee
MakeWidget({ 3, 57}, {164, 87}, WindowWidgetType::Viewport, WindowColour::Secondary ), // Viewport
MakeWidget({ 3, 144}, {164, 11}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // Label Action
MakeWidget({167, 45}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PICKUP_BTN, STR_PICKUP_TIP ), // Pickup Button
MakeWidget({167, 69}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RENAME, STR_NAME_GUEST_TIP ), // Rename Button
MakeWidget({167, 93}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP ), // Locate Button
MakeWidget({167, 117}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_TRACK_PEEP, STR_TOGGLE_GUEST_TRACKING_TIP), // Track Button
{ WIDGETS_END },
};
@ -104,7 +104,7 @@ static rct_widget window_guest_stats_widgets[] = {
static rct_widget window_guest_rides_widgets[] = {
MAIN_GUEST_WIDGETS,
MakeWidget({3, 57}, {186, 87}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL),
MakeWidget({3, 57}, {186, 87}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL),
{ WIDGETS_END },
};

View File

@ -69,17 +69,17 @@ static constexpr const rct_string_id viewNames[VIEW_COUNT] = {
static rct_widget window_guest_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {350, 287}, WWT_RESIZE, WindowColour::Secondary ), // tab content panel
MakeWidget({ 5, 59}, { 80, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_ARG_4_PAGE_X ), // page dropdown
MakeWidget({ 73, 60}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ), // page dropdown button
MakeWidget({120, 59}, {142, 12}, WWT_DROPDOWN, WindowColour::Secondary, 0xFFFFFFFF, STR_INFORMATION_TYPE_TIP ), // information type dropdown
MakeWidget({250, 60}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_INFORMATION_TYPE_TIP ), // information type dropdown button
MakeWidget({273, 46}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_MAP, STR_SHOW_GUESTS_ON_MAP_TIP ), // map
MakeWidget({297, 46}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_G2_SEARCH, STR_GUESTS_FILTER_BY_NAME_TIP), // filter by name
MakeWidget({321, 46}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_TRACK_PEEP, STR_TRACKED_GUESTS_ONLY_TIP ), // tracking
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({ 73, 60}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ), // page dropdown button
MakeWidget({120, 59}, {142, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, 0xFFFFFFFF, STR_INFORMATION_TYPE_TIP ), // information type dropdown
MakeWidget({250, 60}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_INFORMATION_TYPE_TIP ), // information type dropdown button
MakeWidget({273, 46}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_MAP, STR_SHOW_GUESTS_ON_MAP_TIP ), // map
MakeWidget({297, 46}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_SEARCH, STR_GUESTS_FILTER_BY_NAME_TIP), // filter by name
MakeWidget({321, 46}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_TRACK_PEEP, STR_TRACKED_GUESTS_ONLY_TIP ), // tracking
MakeTab ({ 3, 17}, STR_INDIVIDUAL_GUESTS_TIP ), // tab 1
MakeTab ({ 34, 17}, STR_SUMMARISED_GUESTS_TIP ), // tab 2
MakeWidget({ 3, 72}, {344, 255}, WWT_SCROLL, WindowColour::Secondary, SCROLL_BOTH ), // guest list
MakeWidget({ 3, 72}, {344, 255}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_BOTH ), // guest list
{ WIDGETS_END },
};
@ -204,10 +204,10 @@ rct_window* window_guest_list_open()
_window_guest_list_num_pages = 1;
_window_guest_list_tracking_only = false;
_window_guest_list_filter_name[0] = '\0';
window_guest_list_widgets[WIDX_TRACKING].type = WWT_FLATBTN;
window_guest_list_widgets[WIDX_FILTER_BY_NAME].type = WWT_FLATBTN;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_TRACKING].type = WindowWidgetType::FlatBtn;
window_guest_list_widgets[WIDX_FILTER_BY_NAME].type = WindowWidgetType::FlatBtn;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WindowWidgetType::Empty;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WindowWidgetType::Empty;
window->min_width = 350;
window->min_height = 330;
window->max_width = 500;
@ -411,15 +411,15 @@ static void window_guest_list_mousedown(rct_window* w, rct_widgetindex widgetInd
_window_guest_list_selected_tab = widgetIndex - WIDX_TAB_1;
_window_guest_list_selected_page = 0;
_window_guest_list_num_pages = 1;
window_guest_list_widgets[WIDX_TRACKING].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_FILTER_BY_NAME].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_TRACKING].type = WindowWidgetType::Empty;
window_guest_list_widgets[WIDX_FILTER_BY_NAME].type = WindowWidgetType::Empty;
if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL)
{
window_guest_list_widgets[WIDX_TRACKING].type = WWT_FLATBTN;
window_guest_list_widgets[WIDX_FILTER_BY_NAME].type = WWT_FLATBTN;
window_guest_list_widgets[WIDX_TRACKING].type = WindowWidgetType::FlatBtn;
window_guest_list_widgets[WIDX_FILTER_BY_NAME].type = WindowWidgetType::FlatBtn;
}
window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WindowWidgetType::Empty;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WindowWidgetType::Empty;
w->list_information_type = 0;
_window_guest_list_selected_filter = -1;
w->Invalidate();
@ -584,7 +584,7 @@ static void window_guest_list_scrollmousedown(rct_window* w, int32_t scrollIndex
_window_guest_list_filter_arguments = _window_guest_list_groups_arguments[i];
_window_guest_list_selected_filter = _window_guest_list_selected_view;
_window_guest_list_selected_tab = PAGE_INDIVIDUAL;
window_guest_list_widgets[WIDX_TRACKING].type = WWT_FLATBTN;
window_guest_list_widgets[WIDX_TRACKING].type = WindowWidgetType::FlatBtn;
w->Invalidate();
w->scrolls[0].v_top = 0;
window_guest_list_refresh_list();
@ -622,9 +622,9 @@ static void window_guest_list_invalidate(rct_window* w)
w->pressed_widgets |= (1LL << (_window_guest_list_selected_tab + WIDX_TAB_1));
window_guest_list_widgets[WIDX_INFO_TYPE_DROPDOWN].text = viewNames[_window_guest_list_selected_view];
window_guest_list_widgets[WIDX_MAP].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_MAP].type = WindowWidgetType::Empty;
if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL && _window_guest_list_selected_filter != -1)
window_guest_list_widgets[WIDX_MAP].type = WWT_FLATBTN;
window_guest_list_widgets[WIDX_MAP].type = WindowWidgetType::FlatBtn;
window_guest_list_widgets[WIDX_BACKGROUND].right = w->width - 1;
window_guest_list_widgets[WIDX_BACKGROUND].bottom = w->height - 1;
@ -644,16 +644,16 @@ static void window_guest_list_invalidate(rct_window* w)
if (_window_guest_list_num_pages > 1)
{
window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_DROPDOWN;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_BUTTON;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WindowWidgetType::DropdownMenu;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WindowWidgetType::Button;
auto ft = Formatter::Common();
ft.Increment(4);
ft.Add<uint16_t>(_window_guest_list_selected_page + 1);
}
else
{
window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WWT_EMPTY;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN].type = WindowWidgetType::Empty;
window_guest_list_widgets[WIDX_PAGE_DROPDOWN_BUTTON].type = WindowWidgetType::Empty;
}
}

View File

@ -43,11 +43,11 @@ constexpr int32_t ACTION_BUTTONS_LEFT = WW - 100;
static rct_widget window_install_track_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 4, 18}, {372, 219}, WWT_FLATBTN, WindowColour::Primary ),
MakeWidget({PREVIEW_BUTTONS_LEFT, 422}, { 22, 24}, WWT_FLATBTN, WindowColour::Primary, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP ),
MakeWidget({PREVIEW_BUTTONS_LEFT, 398}, { 22, 24}, WWT_FLATBTN, WindowColour::Primary, SPR_SCENERY, STR_TOGGLE_SCENERY_TIP),
MakeWidget({ ACTION_BUTTONS_LEFT, 241}, { 97, 15}, WWT_BUTTON, WindowColour::Primary, STR_INSTALL_NEW_TRACK_DESIGN_INSTALL ),
MakeWidget({ ACTION_BUTTONS_LEFT, 259}, { 97, 15}, WWT_BUTTON, WindowColour::Primary, STR_INSTALL_NEW_TRACK_DESIGN_CANCEL ),
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, 398}, { 22, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary, SPR_SCENERY, STR_TOGGLE_SCENERY_TIP),
MakeWidget({ ACTION_BUTTONS_LEFT, 241}, { 97, 15}, WindowWidgetType::Button, WindowColour::Primary, STR_INSTALL_NEW_TRACK_DESIGN_INSTALL ),
MakeWidget({ ACTION_BUTTONS_LEFT, 259}, { 97, 15}, WindowWidgetType::Button, WindowColour::Primary, STR_INSTALL_NEW_TRACK_DESIGN_CANCEL ),
{ WIDGETS_END },
};

View File

@ -43,13 +43,13 @@ enum WINDOW_LAND_WIDGET_IDX {
static rct_widget window_land_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({19, 19}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_ENABLE_MOUNTAIN_TOOL_TIP), // mountain mode
MakeWidget ({55, 19}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_PAINTBRUSH, STR_DISABLE_ELEVATION), // paint mode
MakeWidget ({27, 48}, {44, 32}, WWT_IMGBTN, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box
MakeRemapWidget({28, 49}, {16, 16}, WWT_TRNBTN, WindowColour::Secondary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP), // decrement size
MakeRemapWidget({54, 63}, {16, 16}, WWT_TRNBTN, WindowColour::Secondary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP), // increment size
MakeWidget ({ 2, 106}, {47, 36}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP), // floor texture
MakeWidget ({49, 106}, {47, 36}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP), // wall texture
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 ({27, 48}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box
MakeRemapWidget({28, 49}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Secondary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP), // decrement size
MakeRemapWidget({54, 63}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Secondary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP), // increment size
MakeWidget ({ 2, 106}, {47, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP), // floor texture
MakeWidget ({49, 106}, {47, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP), // wall texture
{ WIDGETS_END },
};

View File

@ -38,11 +38,11 @@ enum WINDOW_WATER_WIDGET_IDX {
static rct_widget window_land_rights_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({27, 17}, {44, 32}, WWT_IMGBTN, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0 ), // preview box
MakeRemapWidget({28, 18}, {16, 16}, WWT_TRNBTN, WindowColour::Tertiary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_RIGHTS_TIP), // decrement size
MakeRemapWidget({54, 32}, {16, 16}, WWT_TRNBTN, WindowColour::Tertiary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_RIGHTS_TIP ), // increment size
MakeRemapWidget({22, 53}, {24, 24}, WWT_FLATBTN, WindowColour::Tertiary, SPR_BUY_LAND_RIGHTS, STR_BUY_LAND_RIGHTS_TIP ), // land rights
MakeRemapWidget({52, 53}, {24, 24}, WWT_FLATBTN, WindowColour::Tertiary, SPR_BUY_CONSTRUCTION_RIGHTS, STR_BUY_CONSTRUCTION_RIGHTS_TIP ), // construction rights
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({54, 32}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Tertiary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_RIGHTS_TIP ), // increment size
MakeRemapWidget({22, 53}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Tertiary, SPR_BUY_LAND_RIGHTS, STR_BUY_LAND_RIGHTS_TIP ), // land rights
MakeRemapWidget({52, 53}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Tertiary, SPR_BUY_CONSTRUCTION_RIGHTS, STR_BUY_CONSTRUCTION_RIGHTS_TIP ), // construction rights
{ WIDGETS_END },
};

View File

@ -64,15 +64,15 @@ enum
static rct_widget window_loadsave_widgets[] =
{
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, WH - 1}, { WW, 1}, WWT_RESIZE, WindowColour::Secondary ), // tab content panel
MakeWidget({ 4, 36}, { 84, 14}, WWT_BUTTON, WindowColour::Primary , STR_LOADSAVE_DEFAULT, STR_LOADSAVE_DEFAULT_TIP), // Go to default directory
MakeWidget({ 88, 36}, { 84, 14}, WWT_BUTTON, WindowColour::Primary , STR_FILEBROWSER_ACTION_UP ), // Up
MakeWidget({ 172, 36}, { 87, 14}, WWT_BUTTON, WindowColour::Primary , STR_FILEBROWSER_ACTION_NEW_FOLDER ), // New
MakeWidget({ 259, 36}, { 87, 14}, WWT_BUTTON, WindowColour::Primary , STR_FILEBROWSER_ACTION_NEW_FILE ), // New
MakeWidget({ 4, 55}, {170, 14}, WWT_TABLE_HEADER, WindowColour::Primary ), // Name
MakeWidget({(WW - 5) / 2 + 1, 55}, {170, 14}, WWT_TABLE_HEADER, WindowColour::Primary ), // Date
MakeWidget({ 4, 68}, {342, 303}, WWT_SCROLL, WindowColour::Primary , SCROLL_VERTICAL ), // File list
MakeWidget({ 4, WH - 24}, {197, 19}, WWT_BUTTON, WindowColour::Primary , STR_FILEBROWSER_USE_SYSTEM_WINDOW ), // Use native browser
MakeWidget({ 0, WH - 1}, { WW, 1}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab content panel
MakeWidget({ 4, 36}, { 84, 14}, WindowWidgetType::Button, WindowColour::Primary , STR_LOADSAVE_DEFAULT, STR_LOADSAVE_DEFAULT_TIP), // Go to default directory
MakeWidget({ 88, 36}, { 84, 14}, WindowWidgetType::Button, WindowColour::Primary , STR_FILEBROWSER_ACTION_UP ), // Up
MakeWidget({ 172, 36}, { 87, 14}, WindowWidgetType::Button, WindowColour::Primary , STR_FILEBROWSER_ACTION_NEW_FOLDER ), // New
MakeWidget({ 259, 36}, { 87, 14}, WindowWidgetType::Button, WindowColour::Primary , STR_FILEBROWSER_ACTION_NEW_FILE ), // New
MakeWidget({ 4, 55}, {170, 14}, WindowWidgetType::TableHeader, WindowColour::Primary ), // Name
MakeWidget({(WW - 5) / 2 + 1, 55}, {170, 14}, WindowWidgetType::TableHeader, WindowColour::Primary ), // Date
MakeWidget({ 4, 68}, {342, 303}, WindowWidgetType::Scroll, WindowColour::Primary , SCROLL_VERTICAL ), // File list
MakeWidget({ 4, WH - 24}, {197, 19}, WindowWidgetType::Button, WindowColour::Primary , STR_FILEBROWSER_USE_SYSTEM_WINDOW ), // Use native browser
{ WIDGETS_END }
};
@ -280,7 +280,7 @@ rct_window* window_loadsave_open(int32_t type, const char* defaultName, loadsave
{
w->enabled_widgets &= ~(1 << WIDX_BROWSE);
w->disabled_widgets |= (1 << WIDX_BROWSE);
window_loadsave_widgets[WIDX_BROWSE].type = WWT_EMPTY;
window_loadsave_widgets[WIDX_BROWSE].type = WindowWidgetType::Empty;
}
}
@ -833,8 +833,8 @@ static void window_loadsave_populate_list(rct_window* w, int32_t includeNewItem,
_listItems.clear();
// Show "new" buttons when saving
window_loadsave_widgets[WIDX_NEW_FILE].type = includeNewItem ? WWT_BUTTON : WWT_EMPTY;
window_loadsave_widgets[WIDX_NEW_FOLDER].type = includeNewItem ? WWT_BUTTON : WWT_EMPTY;
window_loadsave_widgets[WIDX_NEW_FILE].type = includeNewItem ? WindowWidgetType::Button : WindowWidgetType::Empty;
window_loadsave_widgets[WIDX_NEW_FOLDER].type = includeNewItem ? WindowWidgetType::Button : WindowWidgetType::Empty;
int32_t drives = platform_get_drives();
if (str_is_null_or_empty(directory) && drives)
@ -1141,9 +1141,9 @@ enum
static rct_widget window_overwrite_prompt_widgets[] = {
WINDOW_SHIM_WHITE(STR_FILEBROWSER_OVERWRITE_TITLE, OVERWRITE_WW, OVERWRITE_WH),
{ WWT_BUTTON, 0, 10, 94, OVERWRITE_WH - 20, OVERWRITE_WH - 9, STR_FILEBROWSER_OVERWRITE_TITLE, STR_NONE },
{ WWT_BUTTON, 0, OVERWRITE_WW - 95, OVERWRITE_WW - 11, OVERWRITE_WH - 20, OVERWRITE_WH - 9, STR_SAVE_PROMPT_CANCEL,
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,
STR_SAVE_PROMPT_CANCEL, STR_NONE },
{ WIDGETS_END }
};

View File

@ -17,7 +17,7 @@
// clang-format off
static rct_widget window_main_widgets[] = {
MakeWidget({0, 0}, {0, 0}, WWT_VIEWPORT, WindowColour::Primary, STR_VIEWPORT),
MakeWidget({0, 0}, {0, 0}, WindowWidgetType::Viewport, WindowColour::Primary, STR_VIEWPORT),
{ WIDGETS_END },
};

View File

@ -81,23 +81,23 @@ validate_global_widx(WC_MAP, WIDX_ROTATE_90);
static rct_widget window_map_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ 0, 43}, {245, 215}, WWT_RESIZE, WindowColour::Secondary ),
MakeRemapWidget ({ 3, 17}, { 31, 27}, WWT_COLOURBTN, WindowColour::Secondary, SPR_TAB, STR_SHOW_PEOPLE_ON_MAP_TIP ),
MakeRemapWidget ({ 34, 17}, { 31, 27}, WWT_COLOURBTN, WindowColour::Secondary, SPR_TAB, STR_SHOW_RIDES_STALLS_ON_MAP_TIP ),
MakeWidget ({ 3, 46}, {239, 180}, WWT_SCROLL, WindowColour::Secondary, SCROLL_BOTH ),
MakeSpinnerWidgets({104, 229}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary, STR_MAP_SIZE_VALUE ), // NB: 3 widgets
MakeWidget ({ 4, 1}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_BUY_LAND_RIGHTS, STR_SELECT_PARK_OWNED_LAND_TIP ),
MakeWidget ({ 4, 1}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_PARK_ENTRANCE, STR_BUILD_PARK_ENTRANCE_TIP ),
MakeWidget ({ 28, 1}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SET_STARTING_POSITIONS_TIP ),
MakeWidget ({ 4, 17}, { 44, 32}, WWT_IMGBTN, WindowColour::Secondary, SPR_LAND_TOOL_SIZE_0 ),
MakeRemapWidget ({ 5, 18}, { 16, 16}, WWT_TRNBTN, WindowColour::Secondary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP ),
MakeRemapWidget ({ 31, 32}, { 16, 16}, WWT_TRNBTN, WindowColour::Secondary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP ),
MakeWidget ({ 58, 197}, {184, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_LAND_OWNED, STR_SET_LAND_TO_BE_OWNED_TIP ),
MakeWidget ({ 58, 197}, {184, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_CONSTRUCTION_RIGHTS_OWNED, STR_SET_CONSTRUCTION_RIGHTS_TO_BE_OWNED_TIP ),
MakeWidget ({ 58, 197}, {184, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_LAND_SALE, STR_SET_LAND_TO_BE_AVAILABLE_TIP ),
MakeWidget ({ 58, 197}, {174, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_CONSTRUCTION_RIGHTS_SALE, STR_SET_CONSTRUCTION_RIGHTS_TO_BE_AVAILABLE_TIP),
MakeWidget ({218, 45}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_ROTATE_ARROW, STR_ROTATE_OBJECTS_90 ),
MakeWidget ({110, 189}, {131, 14}, WWT_BUTTON, WindowColour::Secondary, STR_MAPGEN_WINDOW_TITLE, STR_MAP_GENERATOR_TIP ),
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 ({ 34, 17}, { 31, 27}, WindowWidgetType::ColourBtn, WindowColour::Secondary, SPR_TAB, STR_SHOW_RIDES_STALLS_ON_MAP_TIP ),
MakeWidget ({ 3, 46}, {239, 180}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_BOTH ),
MakeSpinnerWidgets({104, 229}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_MAP_SIZE_VALUE ), // NB: 3 widgets
MakeWidget ({ 4, 1}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_BUY_LAND_RIGHTS, STR_SELECT_PARK_OWNED_LAND_TIP ),
MakeWidget ({ 4, 1}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PARK_ENTRANCE, STR_BUILD_PARK_ENTRANCE_TIP ),
MakeWidget ({ 28, 1}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SET_STARTING_POSITIONS_TIP ),
MakeWidget ({ 4, 17}, { 44, 32}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_LAND_TOOL_SIZE_0 ),
MakeRemapWidget ({ 5, 18}, { 16, 16}, WindowWidgetType::TrnBtn, WindowColour::Secondary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP ),
MakeRemapWidget ({ 31, 32}, { 16, 16}, WindowWidgetType::TrnBtn, WindowColour::Secondary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP ),
MakeWidget ({ 58, 197}, {184, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_LAND_OWNED, STR_SET_LAND_TO_BE_OWNED_TIP ),
MakeWidget ({ 58, 197}, {184, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CONSTRUCTION_RIGHTS_OWNED, STR_SET_CONSTRUCTION_RIGHTS_TO_BE_OWNED_TIP ),
MakeWidget ({ 58, 197}, {184, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_LAND_SALE, STR_SET_LAND_TO_BE_AVAILABLE_TIP ),
MakeWidget ({ 58, 197}, {174, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CONSTRUCTION_RIGHTS_SALE, STR_SET_CONSTRUCTION_RIGHTS_TO_BE_AVAILABLE_TIP),
MakeWidget ({218, 45}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_ROTATE_ARROW, STR_ROTATE_OBJECTS_90 ),
MakeWidget ({110, 189}, {131, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_WINDOW_TITLE, STR_MAP_GENERATOR_TIP ),
{ WIDGETS_END },
};
@ -744,7 +744,7 @@ static void window_map_invalidate(rct_window* w)
// Disable all scenario editor related widgets
for (i = WIDX_MAP_SIZE_SPINNER; i <= WIDX_MAP_GENERATOR; i++)
{
w->widgets[i].type = WWT_EMPTY;
w->widgets[i].type = WindowWidgetType::Empty;
}
if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode)
@ -753,11 +753,11 @@ static void window_map_invalidate(rct_window* w)
if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && gCurrentToolWidget.window_classification == WC_MAP
&& gCurrentToolWidget.widget_index == WIDX_BUILD_PARK_ENTRANCE)
{
w->widgets[WIDX_ROTATE_90].type = WWT_FLATBTN;
w->widgets[WIDX_ROTATE_90].type = WindowWidgetType::FlatBtn;
}
// Always show set land rights button
w->widgets[WIDX_SET_LAND_RIGHTS].type = WWT_FLATBTN;
w->widgets[WIDX_SET_LAND_RIGHTS].type = WindowWidgetType::FlatBtn;
// If any tool is active
if ((input_test_flag(INPUT_FLAG_TOOL_ACTIVE)) && gCurrentToolWidget.window_classification == WC_MAP)
@ -769,12 +769,12 @@ static void window_map_invalidate(rct_window* w)
}
else
{ // if in set land rights mode: show land tool buttons + modes
w->widgets[WIDX_LAND_TOOL].type = WWT_IMGBTN;
w->widgets[WIDX_LAND_TOOL_SMALLER].type = WWT_TRNBTN;
w->widgets[WIDX_LAND_TOOL_LARGER].type = WWT_TRNBTN;
w->widgets[WIDX_LAND_TOOL].type = WindowWidgetType::ImgBtn;
w->widgets[WIDX_LAND_TOOL_SMALLER].type = WindowWidgetType::TrnBtn;
w->widgets[WIDX_LAND_TOOL_LARGER].type = WindowWidgetType::TrnBtn;
for (i = 0; i < 4; i++)
w->widgets[WIDX_LAND_OWNED_CHECKBOX + i].type = WWT_CHECKBOX;
w->widgets[WIDX_LAND_OWNED_CHECKBOX + i].type = WindowWidgetType::Checkbox;
w->widgets[WIDX_LAND_TOOL].image = LandTool::SizeToSpriteIndex(_landRightsToolSize);
}
@ -808,7 +808,7 @@ static void window_map_paint(rct_window* w, rct_drawpixelinfo* dpi)
screenCoords.y = w->windowPos.y + window_map_widgets[WIDX_LAND_TOOL].bottom + 5;
// People starting position (scenario editor only)
if (w->widgets[WIDX_PEOPLE_STARTING_POSITION].type != WWT_EMPTY)
if (w->widgets[WIDX_PEOPLE_STARTING_POSITION].type != WindowWidgetType::Empty)
{
screenCoords = w->windowPos
+ ScreenCoordsXY{ w->widgets[WIDX_PEOPLE_STARTING_POSITION].left + 12,
@ -949,15 +949,15 @@ static void window_map_centre_on_view_point()
*/
static void window_map_show_default_scenario_editor_buttons(rct_window* w)
{
w->widgets[WIDX_BUILD_PARK_ENTRANCE].type = WWT_FLATBTN;
w->widgets[WIDX_PEOPLE_STARTING_POSITION].type = WWT_FLATBTN;
w->widgets[WIDX_MAP_SIZE_SPINNER].type = WWT_SPINNER;
w->widgets[WIDX_MAP_SIZE_SPINNER_UP].type = WWT_BUTTON;
w->widgets[WIDX_MAP_SIZE_SPINNER_DOWN].type = WWT_BUTTON;
w->widgets[WIDX_BUILD_PARK_ENTRANCE].type = WindowWidgetType::FlatBtn;
w->widgets[WIDX_PEOPLE_STARTING_POSITION].type = WindowWidgetType::FlatBtn;
w->widgets[WIDX_MAP_SIZE_SPINNER].type = WindowWidgetType::Spinner;
w->widgets[WIDX_MAP_SIZE_SPINNER_UP].type = WindowWidgetType::Button;
w->widgets[WIDX_MAP_SIZE_SPINNER_DOWN].type = WindowWidgetType::Button;
// Only show this in the scenario editor, even when in sandbox mode.
if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)
w->widgets[WIDX_MAP_GENERATOR].type = WWT_BUTTON;
w->widgets[WIDX_MAP_GENERATOR].type = WindowWidgetType::Button;
auto ft = Formatter::Common();
ft.Increment(2);

View File

@ -116,7 +116,7 @@ static constexpr const int32_t WH = 273;
#define SHARED_WIDGETS \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), /* WIDX_BACKGROUND, WIDX_TITLE, WIDX_CLOSE */ \
MakeWidget({ 0, 43}, {WW, 229}, WWT_RESIZE, WindowColour::Secondary), /* WIDX_PAGE_BACKGROUND */ \
MakeWidget({ 0, 43}, {WW, 229}, WindowWidgetType::Resize, WindowColour::Secondary), /* WIDX_PAGE_BACKGROUND */ \
MakeTab ({ 3, 17} ), /* WIDX_TAB_1 */ \
MakeTab ({34, 17} ), /* WIDX_TAB_2 */ \
MakeTab ({65, 17} ), /* WIDX_TAB_3 */ \
@ -124,50 +124,50 @@ static constexpr const int32_t WH = 273;
static rct_widget MapWidgets[] = {
SHARED_WIDGETS,
MakeWidget ({155, 255}, {90, 14}, WWT_BUTTON, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ),
MakeSpinnerWidgets({104, 52}, {95, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({104, 70}, {95, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({104, 88}, {95, 12}, WWT_SPINNER, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({104, 106}, {47, 36}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP ),
MakeWidget ({151, 106}, {47, 36}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP),
MakeWidget ({155, 255}, {90, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ),
MakeSpinnerWidgets({104, 52}, {95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({104, 70}, {95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeSpinnerWidgets({104, 88}, {95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // NB: 3 widgets
MakeWidget ({104, 106}, {47, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP ),
MakeWidget ({151, 106}, {47, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP),
{ WIDGETS_END },
};
static rct_widget RandomWidgets[] = {
SHARED_WIDGETS,
MakeWidget({155, 255}, { 90, 14}, WWT_BUTTON, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ),
MakeWidget({ 4, 52}, {195, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MAPGEN_OPTION_RANDOM_TERRAIN),
MakeWidget({ 4, 70}, {195, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MAPGEN_OPTION_PLACE_TREES ),
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, 70}, {195, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAPGEN_OPTION_PLACE_TREES ),
{ WIDGETS_END },
};
static rct_widget SimplexWidgets[] = {
SHARED_WIDGETS,
MakeWidget ({155, 255}, { 90, 14}, WWT_BUTTON, WindowColour::Secondary, STR_MAPGEN_ACTION_GENERATE ), // WIDX_SIMPLEX_GENERATE
MakeWidget ({ 4, 52}, {195, 12}, WWT_LABEL_CENTRED, WindowColour::Secondary, STR_MAPGEN_SIMPLEX_NOISE ), // WIDX_SIMPLEX_LABEL
MakeSpinnerWidgets({104, 70}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_SIMPLEX_LOW{,_UP,_DOWN}
MakeSpinnerWidgets({104, 88}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_SIMPLEX_HIGH{,_UP,_DOWN}
MakeSpinnerWidgets({104, 106}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_SIMPLEX_BASE_FREQ{,_UP,_DOWN}
MakeSpinnerWidgets({104, 124}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_SIMPLEX_OCTAVES{,_UP,_DOWN}
MakeSpinnerWidgets({104, 148}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_SIMPLEX_MAP_SIZE{,_UP,_DOWN}
MakeSpinnerWidgets({104, 166}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_SIMPLEX_WATER_LEVEL{,_UP,_DOWN}
MakeWidget ({104, 190}, { 95, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MAPGEN_OPTION_RANDOM_TERRAIN ), // WIDX_SIMPLEX_RANDOM_TERRAIN_CHECKBOX
MakeWidget ({102, 202}, { 47, 36}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP ), // WIDX_SIMPLEX_FLOOR_TEXTURE
MakeWidget ({150, 202}, { 47, 36}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP), // WIDX_SIMPLEX_WALL_TEXTURE
MakeWidget ({104, 239}, { 95, 12}, WWT_CHECKBOX, WindowColour::Secondary ), // WIDX_SIMPLEX_PLACE_TREES_CHECKBOX
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
MakeSpinnerWidgets({104, 70}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_SIMPLEX_LOW{,_UP,_DOWN}
MakeSpinnerWidgets({104, 88}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_SIMPLEX_HIGH{,_UP,_DOWN}
MakeSpinnerWidgets({104, 106}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_SIMPLEX_BASE_FREQ{,_UP,_DOWN}
MakeSpinnerWidgets({104, 124}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_SIMPLEX_OCTAVES{,_UP,_DOWN}
MakeSpinnerWidgets({104, 148}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_SIMPLEX_MAP_SIZE{,_UP,_DOWN}
MakeSpinnerWidgets({104, 166}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_SIMPLEX_WATER_LEVEL{,_UP,_DOWN}
MakeWidget ({104, 190}, { 95, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAPGEN_OPTION_RANDOM_TERRAIN ), // WIDX_SIMPLEX_RANDOM_TERRAIN_CHECKBOX
MakeWidget ({102, 202}, { 47, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_BASE_LAND_TIP ), // WIDX_SIMPLEX_FLOOR_TEXTURE
MakeWidget ({150, 202}, { 47, 36}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_CHANGE_VERTICAL_LAND_TIP), // WIDX_SIMPLEX_WALL_TEXTURE
MakeWidget ({104, 239}, { 95, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // WIDX_SIMPLEX_PLACE_TREES_CHECKBOX
{ WIDGETS_END },
};
static rct_widget HeightmapWidgets[] = {
SHARED_WIDGETS,
MakeWidget ({ 95, 255}, {150, 14}, WWT_BUTTON, WindowColour::Secondary, STR_MAPGEN_SELECT_HEIGHTMAP), // WIDX_HEIGHTMAP_SELECT
MakeWidget ({ 4, 52}, {100, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MAPGEN_SMOOTH_HEIGHTMAP), // WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP
MakeSpinnerWidgets({104, 70}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_HEIGHTMAP_STRENGTH{,_UP,_DOWN}
MakeWidget ({ 4, 88}, {100, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MAPGEN_NORMALIZE ), // WIDX_HEIGHTMAP_NORMALIZE
MakeWidget ({ 4, 106}, {100, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MAPGEN_SMOOTH_TILE ), // WIDX_HEIGHTMAP_SMOOTH_TILES
MakeSpinnerWidgets({104, 124}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_HEIGHTMAP_LOW{,_UP,_DOWN}
MakeSpinnerWidgets({104, 142}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_HEIGHTMAP_HIGH{,_UP,_DOWN}
MakeSpinnerWidgets({104, 160}, { 95, 12}, WWT_SPINNER, WindowColour::Secondary ), // WIDX_HEIGHTMAP_WATER_LEVEL{,_UP,_DOWN}
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
MakeSpinnerWidgets({104, 70}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_HEIGHTMAP_STRENGTH{,_UP,_DOWN}
MakeWidget ({ 4, 88}, {100, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAPGEN_NORMALIZE ), // WIDX_HEIGHTMAP_NORMALIZE
MakeWidget ({ 4, 106}, {100, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAPGEN_SMOOTH_TILE ), // WIDX_HEIGHTMAP_SMOOTH_TILES
MakeSpinnerWidgets({104, 124}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_HEIGHTMAP_LOW{,_UP,_DOWN}
MakeSpinnerWidgets({104, 142}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_HEIGHTMAP_HIGH{,_UP,_DOWN}
MakeSpinnerWidgets({104, 160}, { 95, 12}, WindowWidgetType::Spinner, WindowColour::Secondary ), // WIDX_HEIGHTMAP_WATER_LEVEL{,_UP,_DOWN}
{ WIDGETS_END },
};

View File

@ -18,7 +18,7 @@
// clang-format off
static rct_widget window_map_tooltip_widgets[] = {
MakeWidget({0, 0}, {200, 30}, WWT_IMGBTN, WindowColour::Primary),
MakeWidget({0, 0}, {200, 30}, WindowWidgetType::ImgBtn, WindowColour::Primary),
{ WIDGETS_END }
};

View File

@ -48,36 +48,36 @@ enum {
static rct_widget window_maze_construction_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 3, 17}, {160, 55}, WWT_GROUPBOX, WindowColour::Primary , STR_RIDE_CONSTRUCTION_MODE ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({35, 29}, { 32, 32}, WWT_FLATBTN, WindowColour::Secondary, SPR_MAZE_CONSTRUCTION_BUILD, STR_RIDE_CONSTRUCTION_BUILD_MODE ),
MakeWidget({67, 29}, { 32, 32}, WWT_FLATBTN, WindowColour::Secondary, SPR_MAZE_CONSTRUCTION_MOVE, STR_RIDE_CONSTRUCTION_MOVE_MODE ),
MakeWidget({99, 29}, { 32, 32}, WWT_FLATBTN, WindowColour::Secondary, SPR_MAZE_CONSTRUCTION_FILL_IN, STR_RIDE_CONSTRUCTION_FILL_IN_MODE ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 3, 80}, {160, 87}, WWT_GROUPBOX, WindowColour::Primary , STR_RIDE_CONSTRUCTION_BUILD ),
MakeWidget({83, 96}, { 45, 29}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_NE, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP),
MakeWidget({83, 125}, { 45, 29}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_SE, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP),
MakeWidget({38, 125}, { 45, 29}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_SW, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP),
MakeWidget({38, 96}, { 45, 29}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_NW, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP),
MakeWidget({ 3, 168}, {160, 28}, WWT_GROUPBOX, WindowColour::Primary ),
MakeWidget({ 9, 178}, { 70, 12}, WWT_BUTTON, WindowColour::Secondary, STR_RIDE_CONSTRUCTION_ENTRANCE, STR_RIDE_CONSTRUCTION_ENTRANCE_TIP ),
MakeWidget({87, 178}, { 70, 12}, WWT_BUTTON, WindowColour::Secondary, STR_RIDE_CONSTRUCTION_EXIT, STR_RIDE_CONSTRUCTION_EXIT_TIP ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary ),
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 ),
MakeWidget({35, 29}, { 32, 32}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_MAZE_CONSTRUCTION_BUILD, STR_RIDE_CONSTRUCTION_BUILD_MODE ),
MakeWidget({67, 29}, { 32, 32}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_MAZE_CONSTRUCTION_MOVE, STR_RIDE_CONSTRUCTION_MOVE_MODE ),
MakeWidget({99, 29}, { 32, 32}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_MAZE_CONSTRUCTION_FILL_IN, STR_RIDE_CONSTRUCTION_FILL_IN_MODE ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 3, 80}, {160, 87}, WindowWidgetType::Groupbox, WindowColour::Primary , STR_RIDE_CONSTRUCTION_BUILD ),
MakeWidget({83, 96}, { 45, 29}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_NE, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP),
MakeWidget({83, 125}, { 45, 29}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_SE, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP),
MakeWidget({38, 125}, { 45, 29}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_SW, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP),
MakeWidget({38, 96}, { 45, 29}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION_DIRECTION_NW, STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP),
MakeWidget({ 3, 168}, {160, 28}, WindowWidgetType::Groupbox, WindowColour::Primary ),
MakeWidget({ 9, 178}, { 70, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_RIDE_CONSTRUCTION_ENTRANCE, STR_RIDE_CONSTRUCTION_ENTRANCE_TIP ),
MakeWidget({87, 178}, { 70, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_RIDE_CONSTRUCTION_EXIT, STR_RIDE_CONSTRUCTION_EXIT_TIP ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary ),
{ WIDGETS_END }
};

View File

@ -58,10 +58,10 @@ enum WINDOW_MULTIPLAYER_WIDGET_IDX {
};
#define MAIN_MULTIPLAYER_WIDGETS \
MakeWidget({ 0, 0}, {340, 240}, WWT_FRAME, WindowColour::Primary ), /* panel / background */ \
MakeWidget({ 1, 1}, {338, 14}, WWT_CAPTION, WindowColour::Primary, STR_NONE, STR_WINDOW_TITLE_TIP ), /* title bar */ \
MakeWidget({327, 2}, { 11, 12}, WWT_CLOSEBOX, WindowColour::Primary, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP ), /* close x button */ \
MakeWidget({ 0, 43}, {340, 197}, WWT_RESIZE, WindowColour::Secondary ), /* content panel */ \
MakeWidget({ 0, 0}, {340, 240}, WindowWidgetType::Frame, WindowColour::Primary ), /* panel / background */ \
MakeWidget({ 1, 1}, {338, 14}, WindowWidgetType::Caption, WindowColour::Primary, STR_NONE, 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({ 0, 43}, {340, 197}, WindowWidgetType::Resize, WindowColour::Secondary ), /* content panel */ \
MakeTab ({ 3, 17}, STR_SHOW_SERVER_INFO_TIP), /* tab */ \
MakeTab ({ 34, 17}, STR_PLAYERS_TIP ), /* tab */ \
MakeTab ({ 65, 17}, STR_GROUPS_TIP ), /* tab */ \
@ -74,32 +74,32 @@ static rct_widget window_multiplayer_information_widgets[] = {
static rct_widget window_multiplayer_players_widgets[] = {
MAIN_MULTIPLAYER_WIDGETS,
MakeWidget({ 3, 46}, {173, 15}, WWT_TABLE_HEADER, WindowColour::Primary , STR_PLAYER ), // Player name
MakeWidget({176, 46}, { 83, 15}, WWT_TABLE_HEADER, WindowColour::Primary , STR_GROUP ), // Player name
MakeWidget({259, 46}, {100, 15}, WWT_TABLE_HEADER, WindowColour::Primary , STR_LAST_ACTION), // Player name
MakeWidget({359, 46}, { 42, 15}, WWT_TABLE_HEADER, WindowColour::Primary , STR_PING ), // Player name
MakeWidget({ 3, 60}, {334, 177}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL), // list
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({259, 46}, {100, 15}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_LAST_ACTION), // Player name
MakeWidget({359, 46}, { 42, 15}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_PING ), // Player name
MakeWidget({ 3, 60}, {334, 177}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL), // list
{ WIDGETS_END }
};
static rct_widget window_multiplayer_groups_widgets[] = {
MAIN_MULTIPLAYER_WIDGETS,
MakeWidget({141, 46}, {175, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // default group
MakeWidget({305, 47}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH),
MakeWidget({ 11, 65}, { 92, 12}, WWT_BUTTON, WindowColour::Secondary, STR_ADD_GROUP ), // add group button
MakeWidget({113, 65}, { 92, 12}, WWT_BUTTON, WindowColour::Secondary, STR_REMOVE_GROUP ), // remove group button
MakeWidget({215, 65}, { 92, 12}, WWT_BUTTON, WindowColour::Secondary, STR_RENAME_GROUP ), // rename group button
MakeWidget({ 72, 80}, {175, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // selected group
MakeWidget({236, 81}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH),
MakeWidget({ 3, 94}, {314, 207}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ), // permissions list
MakeWidget({141, 46}, {175, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // default group
MakeWidget({305, 47}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH),
MakeWidget({ 11, 65}, { 92, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_ADD_GROUP ), // add group button
MakeWidget({113, 65}, { 92, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_REMOVE_GROUP ), // remove group button
MakeWidget({215, 65}, { 92, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_RENAME_GROUP ), // rename group button
MakeWidget({ 72, 80}, {175, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // selected group
MakeWidget({236, 81}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH),
MakeWidget({ 3, 94}, {314, 207}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ), // permissions list
{ WIDGETS_END }
};
static rct_widget window_multiplayer_options_widgets[] = {
MAIN_MULTIPLAYER_WIDGETS,
MakeWidget({3, 50}, {295, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_LOG_CHAT, STR_LOG_CHAT_TIP ),
MakeWidget({3, 64}, {295, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_LOG_SERVER_ACTIONS, STR_LOG_SERVER_ACTIONS_TIP ),
MakeWidget({3, 78}, {295, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_ALLOW_KNOWN_KEYS_ONLY, STR_ALLOW_KNOWN_KEYS_ONLY_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, 78}, {295, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_ALLOW_KNOWN_KEYS_ONLY, STR_ALLOW_KNOWN_KEYS_ONLY_TIP),
{ WIDGETS_END }
};
@ -968,7 +968,7 @@ static void window_multiplayer_options_invalidate(rct_window* w)
if (network_get_mode() == NETWORK_MODE_CLIENT)
{
w->widgets[WIDX_KNOWN_KEYS_ONLY_CHECKBOX].type = WWT_EMPTY;
w->widgets[WIDX_KNOWN_KEYS_ONLY_CHECKBOX].type = WindowWidgetType::Empty;
}
WidgetSetCheckboxValue(w, WIDX_LOG_CHAT_CHECKBOX, gConfigNetwork.log_chat);

View File

@ -27,7 +27,7 @@ enum WINDOW_MUSIC_CREDITS_WIDGET_IDX {
static rct_widget window_music_credits_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({4, 18}, {502, 292}, WWT_SCROLL, WindowColour::Primary, SCROLL_VERTICAL), // scroll
MakeWidget({4, 18}, {502, 292}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_VERTICAL), // scroll
{ WIDGETS_END },
};

View File

@ -39,7 +39,7 @@ enum WINDOW_NETWORK_WIDGET_IDX {
static rct_widget window_network_information_widgets[] = {
WINDOW_SHIM(STR_NONE, WW, WH),
MakeWidget({ 0, 43}, {450, 167}, WWT_RESIZE, WindowColour::Secondary), // content panel
MakeWidget({ 0, 43}, {450, 167}, WindowWidgetType::Resize, WindowColour::Secondary), // content panel
MakeTab ({ 3, 17}, STR_SHOW_SERVER_INFO_TIP ), // tab
{ WIDGETS_END }
};

View File

@ -25,9 +25,9 @@ enum WINDOW_NETWORK_STATUS_WIDGET_IDX {
};
static rct_widget window_network_status_widgets[] = {
MakeWidget({ 0, 0}, {441, 91}, WWT_FRAME, WindowColour::Primary ), // panel / background
MakeWidget({ 1, 1}, {438, 14}, WWT_CAPTION, WindowColour::Primary, STR_NONE, STR_WINDOW_TITLE_TIP), // title bar
MakeWidget({427, 2}, { 11, 12}, WWT_CLOSEBOX, WindowColour::Primary, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), // close x button
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({427, 2}, { 11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), // close x button
{ WIDGETS_END },
};

View File

@ -42,12 +42,12 @@ enum WINDOW_NEW_CAMPAIGN_WIDGET_IDX {
static rct_widget window_new_campaign_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ 14, 24}, {126, 12}, WWT_LABEL, WindowColour::Primary, STR_EMPTY ), // ride label
MakeWidget ({100, 24}, {242, 12}, WWT_DROPDOWN, WindowColour::Primary, STR_EMPTY ), // ride dropdown
MakeWidget ({330, 25}, { 11, 10}, WWT_BUTTON, WindowColour::Primary, STR_DROPDOWN_GLYPH ), // ride dropdown button
MakeWidget ({ 14, 41}, {126, 14}, WWT_LABEL, WindowColour::Primary, STR_LENGTH_OF_TIME ), // weeks label
MakeSpinnerWidgets({120, 41}, {100, 14}, WWT_SPINNER, WindowColour::Primary, STR_EMPTY ), // weeks (3 widgets)
MakeWidget ({ 14, 89}, {322, 14}, WWT_BUTTON, WindowColour::Primary, STR_MARKETING_START_THIS_MARKETING_CAMPAIGN), // start button
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 ({330, 25}, { 11, 10}, WindowWidgetType::Button, WindowColour::Primary, STR_DROPDOWN_GLYPH ), // ride dropdown button
MakeWidget ({ 14, 41}, {126, 14}, WindowWidgetType::Label, WindowColour::Primary, STR_LENGTH_OF_TIME ), // weeks label
MakeSpinnerWidgets({120, 41}, {100, 14}, WindowWidgetType::Spinner, WindowColour::Primary, STR_EMPTY ), // weeks (3 widgets)
MakeWidget ({ 14, 89}, {322, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_MARKETING_START_THIS_MARKETING_CAMPAIGN), // start button
{ WIDGETS_END }
};
@ -314,17 +314,17 @@ static void window_new_campaign_dropdown(rct_window* w, rct_widgetindex widgetIn
*/
static void window_new_campaign_invalidate(rct_window* w)
{
window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_EMPTY;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_EMPTY;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_EMPTY;
window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WindowWidgetType::Empty;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WindowWidgetType::Empty;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WindowWidgetType::Empty;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].text = STR_MARKETING_NOT_SELECTED;
switch (w->campaign.campaign_type)
{
case ADVERTISING_CAMPAIGN_RIDE_FREE:
case ADVERTISING_CAMPAIGN_RIDE:
window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_LABEL;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_DROPDOWN;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_BUTTON;
window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WindowWidgetType::Label;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WindowWidgetType::DropdownMenu;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WindowWidgetType::Button;
window_new_campaign_widgets[WIDX_RIDE_LABEL].text = STR_MARKETING_RIDE;
if (w->campaign.RideId != SELECTED_RIDE_UNDEFINED)
{
@ -339,9 +339,9 @@ static void window_new_campaign_invalidate(rct_window* w)
}
break;
case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE:
window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_LABEL;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_DROPDOWN;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_BUTTON;
window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WindowWidgetType::Label;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WindowWidgetType::DropdownMenu;
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WindowWidgetType::Button;
window_new_campaign_widgets[WIDX_RIDE_LABEL].text = STR_MARKETING_ITEM;
if (w->campaign.ShopItemId != SELECTED_RIDE_UNDEFINED)
{
@ -355,7 +355,8 @@ static void window_new_campaign_invalidate(rct_window* w)
// Enable / disable start button based on ride dropdown
w->disabled_widgets &= ~(1 << WIDX_START_BUTTON);
if (window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type == WWT_DROPDOWN && w->campaign.RideId == SELECTED_RIDE_UNDEFINED)
if (window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type == WindowWidgetType::DropdownMenu
&& w->campaign.RideId == SELECTED_RIDE_UNDEFINED)
w->disabled_widgets |= 1 << WIDX_START_BUTTON;
}

View File

@ -188,7 +188,7 @@ enum {
static rct_widget window_new_ride_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {601, 339}, WWT_RESIZE, WindowColour::Secondary ),
MakeWidget({ 0, 43}, {601, 339}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_TRANSPORT_RIDES_TIP ),
MakeTab ({ 34, 17}, STR_GENTLE_RIDES_TIP ),
MakeTab ({ 65, 17}, STR_ROLLER_COASTERS_TIP ),
@ -196,11 +196,11 @@ static rct_widget window_new_ride_widgets[] = {
MakeTab ({127, 17}, STR_WATER_RIDES_TIP ),
MakeTab ({158, 17}, STR_SHOPS_STALLS_TIP ),
MakeTab ({189, 17}, STR_RESEARCH_AND_DEVELOPMENT_TIP),
MakeWidget({ 3, 46}, {595, 272}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ),
MakeWidget({ 3, 47}, {290, 70}, WWT_GROUPBOX, WindowColour::Tertiary , STR_CURRENTLY_IN_DEVELOPMENT ),
MakeWidget({ 3, 124}, {290, 65}, WWT_GROUPBOX, WindowColour::Tertiary , STR_LAST_DEVELOPMENT ),
MakeWidget({265, 161}, { 24, 24}, WWT_FLATBTN, WindowColour::Tertiary , 0xFFFFFFFF, STR_RESEARCH_SHOW_DETAILS_TIP ),
MakeWidget({265, 68}, { 24, 24}, WWT_FLATBTN, WindowColour::Tertiary , SPR_FINANCE, STR_FINANCES_RESEARCH_TIP ),
MakeWidget({ 3, 46}, {595, 272}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ),
MakeWidget({ 3, 47}, {290, 70}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_CURRENTLY_IN_DEVELOPMENT ),
MakeWidget({ 3, 124}, {290, 65}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_LAST_DEVELOPMENT ),
MakeWidget({265, 161}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Tertiary , 0xFFFFFFFF, STR_RESEARCH_SHOW_DETAILS_TIP ),
MakeWidget({265, 68}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Tertiary , SPR_FINANCE, STR_FINANCES_RESEARCH_TIP ),
{ WIDGETS_END },
};
@ -545,23 +545,23 @@ static void window_new_ride_refresh_widget_sizing(rct_window* w)
// Show or hide unrelated widgets
if (_windowNewRideCurrentTab != WINDOW_NEW_RIDE_PAGE_RESEARCH)
{
window_new_ride_widgets[WIDX_RIDE_LIST].type = WWT_SCROLL;
window_new_ride_widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP].type = WWT_EMPTY;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_GROUP].type = WWT_EMPTY;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY;
window_new_ride_widgets[WIDX_RESEARCH_FUNDING_BUTTON].type = WWT_EMPTY;
window_new_ride_widgets[WIDX_RIDE_LIST].type = WindowWidgetType::Scroll;
window_new_ride_widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP].type = WindowWidgetType::Empty;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_GROUP].type = WindowWidgetType::Empty;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WindowWidgetType::Empty;
window_new_ride_widgets[WIDX_RESEARCH_FUNDING_BUTTON].type = WindowWidgetType::Empty;
width = 601;
height = WH;
}
else
{
window_new_ride_widgets[WIDX_RIDE_LIST].type = WWT_EMPTY;
window_new_ride_widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP].type = WWT_GROUPBOX;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_GROUP].type = WWT_GROUPBOX;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN;
window_new_ride_widgets[WIDX_RIDE_LIST].type = WindowWidgetType::Empty;
window_new_ride_widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP].type = WindowWidgetType::Groupbox;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_GROUP].type = WindowWidgetType::Groupbox;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WindowWidgetType::FlatBtn;
if (!(gParkFlags & PARK_FLAGS_NO_MONEY))
window_new_ride_widgets[WIDX_RESEARCH_FUNDING_BUTTON].type = WWT_FLATBTN;
window_new_ride_widgets[WIDX_RESEARCH_FUNDING_BUTTON].type = WindowWidgetType::FlatBtn;
width = 300;
height = 196;
@ -604,7 +604,7 @@ static void window_new_ride_draw_tab_image(rct_drawpixelinfo* dpi, rct_window* w
{
rct_widgetindex widgetIndex = WIDX_TAB_1 + page;
if (w->widgets[widgetIndex].type != WWT_EMPTY && !(w->disabled_widgets & (1LL << widgetIndex)))
if (w->widgets[widgetIndex].type != WindowWidgetType::Empty && !(w->disabled_widgets & (1LL << widgetIndex)))
{
int32_t frame = 0;
if (_windowNewRideCurrentTab == page)
@ -747,17 +747,17 @@ static void window_new_ride_invalidate(rct_window* w)
window_new_ride_set_pressed_tab(w);
window_new_ride_widgets[WIDX_TITLE].text = window_new_ride_titles[_windowNewRideCurrentTab];
window_new_ride_widgets[WIDX_TAB_7].type = WWT_TAB;
window_new_ride_widgets[WIDX_TAB_7].type = WindowWidgetType::Tab;
if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER)
window_new_ride_widgets[WIDX_TAB_7].type = WWT_EMPTY;
window_new_ride_widgets[WIDX_TAB_7].type = WindowWidgetType::Empty;
if (_windowNewRideCurrentTab == WINDOW_NEW_RIDE_PAGE_RESEARCH)
{
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WindowWidgetType::Empty;
if (gResearchLastItem.has_value())
{
auto type = gResearchLastItem->type;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WindowWidgetType::FlatBtn;
window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].image = (type == Research::EntryType::Ride) ? SPR_NEW_RIDE
: SPR_NEW_SCENERY;
}

View File

@ -35,8 +35,8 @@ enum WINDOW_NEWS_WIDGET_IDX {
static rct_widget window_news_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({372, 18}, { 24, 24}, WWT_FLATBTN, WindowColour::Primary, SPR_TAB_GEARS_0), // settings
MakeWidget({ 4, 44}, {392, 252}, WWT_SCROLL, WindowColour::Primary, SCROLL_VERTICAL), // scroll
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
{ WIDGETS_END },
};

View File

@ -67,19 +67,19 @@ enum WINDOW_NEWS_WIDGET_IDX {
static rct_widget window_news_options_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {400, 257}, WWT_RESIZE, WindowColour::Secondary), // tab content panel
MakeWidget({ 0, 43}, {400, 257}, WindowWidgetType::Resize, WindowColour::Secondary), // tab content panel
MakeTab ({ 3, 17} ), // tab 1
MakeTab ({34, 17} ), // tab 2
MakeTab ({65, 17} ), // tab 2
MakeWidget({ 7, 49}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WWT_CHECKBOX, WindowColour::Tertiary ),
MakeWidget({ 7, 49}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
MakeWidget({ 0, 0}, {343, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary ),
{ WIDGETS_END },
};
@ -192,7 +192,7 @@ static void window_news_options_invalidate(rct_window* w)
w->enabled_widgets |= (1ULL << checkboxWidgetIndex);
checkboxWidget->type = WWT_CHECKBOX;
checkboxWidget->type = WindowWidgetType::Checkbox;
checkboxWidget->left = baseCheckBox->left;
checkboxWidget->right = baseCheckBox->right;
checkboxWidget->top = y;
@ -208,11 +208,11 @@ static void window_news_options_invalidate(rct_window* w)
}
// Remove unused checkboxes
while (checkboxWidget->type != WWT_LAST)
while (checkboxWidget->type != WindowWidgetType::Last)
{
w->enabled_widgets &= ~(1ULL << checkboxWidgetIndex);
checkboxWidget->type = WWT_EMPTY;
checkboxWidget->type = WindowWidgetType::Empty;
checkboxWidgetIndex++;
checkboxWidget++;
}

View File

@ -269,14 +269,14 @@ constexpr int32_t TYPE_COL_LEFT = 5 * WW_LESS_PADDING / 8 + 1;
static rct_widget window_object_load_error_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ NAME_COL_LEFT, 57}, {108, 14}, WWT_TABLE_HEADER, WindowColour::Primary, STR_OBJECT_NAME ), // 'Object name' header
MakeWidget({SOURCE_COL_LEFT, 57}, {166, 14}, WWT_TABLE_HEADER, WindowColour::Primary, STR_OBJECT_SOURCE ), // 'Object source' header
MakeWidget({ TYPE_COL_LEFT, 57}, {166, 14}, WWT_TABLE_HEADER, WindowColour::Primary, STR_OBJECT_TYPE ), // 'Object type' header
MakeWidget({ NAME_COL_LEFT, 70}, {442, 298}, WWT_SCROLL, WindowColour::Primary, SCROLL_VERTICAL ), // Scrollable list area
MakeWidget({ NAME_COL_LEFT, 377}, {145, 14}, WWT_BUTTON, WindowColour::Primary, STR_COPY_SELECTED, STR_COPY_SELECTED_TIP), // Copy selected button
MakeWidget({ 152, 377}, {145, 14}, WWT_BUTTON, WindowColour::Primary, STR_COPY_ALL, STR_COPY_ALL_TIP ), // Copy all button
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({ TYPE_COL_LEFT, 57}, {166, 14}, WindowWidgetType::TableHeader, WindowColour::Primary, STR_OBJECT_TYPE ), // 'Object type' header
MakeWidget({ NAME_COL_LEFT, 70}, {442, 298}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_VERTICAL ), // Scrollable list area
MakeWidget({ NAME_COL_LEFT, 377}, {145, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_COPY_SELECTED, STR_COPY_SELECTED_TIP), // Copy selected button
MakeWidget({ 152, 377}, {145, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_COPY_ALL, STR_COPY_ALL_TIP ), // Copy all button
#ifndef DISABLE_HTTP
MakeWidget({ 300, 377}, {146, 14}, WWT_BUTTON, WindowColour::Primary, STR_DOWNLOAD_ALL, STR_DOWNLOAD_ALL_TIP ), // Download all button
MakeWidget({ 300, 377}, {146, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_DOWNLOAD_ALL, STR_DOWNLOAD_ALL_TIP ), // Download all button
#endif
{ WIDGETS_END },
};

View File

@ -195,7 +195,7 @@ static constexpr const int32_t WH = 332;
#define MAIN_OPTIONS_WIDGETS \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
MakeWidget({ 0, 43}, {WW, 289}, WWT_RESIZE, WindowColour::Secondary), \
MakeWidget({ 0, 43}, {WW, 289}, WindowWidgetType::Resize, WindowColour::Secondary), \
MakeTab ({ 3, 17}, STR_OPTIONS_DISPLAY_TIP ), \
MakeTab ({ 34, 17}, STR_OPTIONS_RENDERING_TIP ), \
MakeTab ({ 65, 17}, STR_OPTIONS_CULTURE_TIP ), \
@ -206,108 +206,108 @@ static constexpr const int32_t WH = 332;
static rct_widget window_options_display_widgets[] = {
MAIN_OPTIONS_WIDGETS,
MakeWidget ({ 5, 53}, {300, 170}, WWT_GROUPBOX, WindowColour::Secondary, STR_HARDWARE_GROUP ), // Hardware group
MakeWidget ({155, 68}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Fullscreen
MakeWidget ({288, 69}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_FULLSCREEN_MODE_TIP ),
MakeWidget ({155, 83}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_ARG_16_RESOLUTION_X_BY_Y ), // Resolution
MakeWidget ({288, 84}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DISPLAY_RESOLUTION_TIP ),
MakeSpinnerWidgets({155, 98}, {145, 12}, WWT_SPINNER, WindowColour::Secondary, STR_NONE, STR_WINDOW_SCALE_TIP ), // Scale spinner (3 widgets)
MakeWidget ({155, 113}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary ),
MakeWidget ({288, 114}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DRAWING_ENGINE_TIP ),
MakeWidget ({155, 128}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Scaling quality hint
MakeWidget ({288, 129}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SCALE_QUALITY_TIP ),
MakeWidget ({ 25, 144}, {266, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_STEAM_OVERLAY_PAUSE, STR_STEAM_OVERLAY_PAUSE_TIP ), // Pause on steam overlay
MakeWidget ({ 11, 161}, {143, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_UNCAP_FPS, STR_UNCAP_FPS_TIP ), // Uncap fps
MakeWidget ({155, 161}, {136, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_SHOW_FPS, STR_SHOW_FPS_TIP ), // Show fps
MakeWidget ({155, 176}, {136, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MULTITHREADING, STR_MULTITHREADING_TIP ), // Multithreading
MakeWidget ({ 11, 176}, {143, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_USE_VSYNC, STR_USE_VSYNC_TIP ), // Use vsync
MakeWidget ({ 11, 191}, {280, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS, STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS_TIP), // Minimise fullscreen focus loss
MakeWidget ({ 11, 206}, {280, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_DISABLE_SCREENSAVER, STR_DISABLE_SCREENSAVER_TIP ), // Disable screensaver
MakeWidget ({ 5, 53}, {300, 170}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_HARDWARE_GROUP ), // Hardware group
MakeWidget ({155, 68}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Fullscreen
MakeWidget ({288, 69}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_FULLSCREEN_MODE_TIP ),
MakeWidget ({155, 83}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_ARG_16_RESOLUTION_X_BY_Y ), // Resolution
MakeWidget ({288, 84}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DISPLAY_RESOLUTION_TIP ),
MakeSpinnerWidgets({155, 98}, {145, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_NONE, STR_WINDOW_SCALE_TIP ), // Scale spinner (3 widgets)
MakeWidget ({155, 113}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ),
MakeWidget ({288, 114}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DRAWING_ENGINE_TIP ),
MakeWidget ({155, 128}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Scaling quality hint
MakeWidget ({288, 129}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SCALE_QUALITY_TIP ),
MakeWidget ({ 25, 144}, {266, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_STEAM_OVERLAY_PAUSE, STR_STEAM_OVERLAY_PAUSE_TIP ), // Pause on steam overlay
MakeWidget ({ 11, 161}, {143, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_UNCAP_FPS, STR_UNCAP_FPS_TIP ), // Uncap fps
MakeWidget ({155, 161}, {136, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_SHOW_FPS, STR_SHOW_FPS_TIP ), // Show fps
MakeWidget ({155, 176}, {136, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MULTITHREADING, STR_MULTITHREADING_TIP ), // Multithreading
MakeWidget ({ 11, 176}, {143, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_USE_VSYNC, STR_USE_VSYNC_TIP ), // Use vsync
MakeWidget ({ 11, 191}, {280, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS, STR_MINIMISE_FULLSCREEN_ON_FOCUS_LOSS_TIP), // Minimise fullscreen focus loss
MakeWidget ({ 11, 206}, {280, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DISABLE_SCREENSAVER, STR_DISABLE_SCREENSAVER_TIP ), // Disable screensaver
{ WIDGETS_END },
};
static rct_widget window_options_rendering_widgets[] = {
MAIN_OPTIONS_WIDGETS,
#define FRAME_RENDERING_START 53
MakeWidget({ 5, FRAME_RENDERING_START + 0}, {300, 108}, WWT_GROUPBOX, WindowColour::Secondary, STR_RENDERING_GROUP ), // Rendering group
MakeWidget({ 10, FRAME_RENDERING_START + 15}, {281, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP ), // Landscape smoothing
MakeWidget({ 10, FRAME_RENDERING_START + 30}, {281, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_GRIDLINES, STR_GRIDLINES_TIP ), // Gridlines
MakeWidget({ 10, FRAME_RENDERING_START + 45}, {281, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_UPPERCASE_BANNERS, STR_UPPERCASE_BANNERS_TIP ), // Uppercase banners
MakeWidget({ 10, FRAME_RENDERING_START + 60}, {281, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_SHOW_GUEST_PURCHASES, STR_SHOW_GUEST_PURCHASES_TIP ), // Guest purchases
MakeWidget({ 10, FRAME_RENDERING_START + 75}, {281, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_TRANSPARENT_SCREENSHOT, STR_TRANSPARENT_SCREENSHOT_TIP), // Transparent screenshot
MakeWidget({ 10, FRAME_RENDERING_START + 90}, {281, 12}, WWT_LABEL, WindowColour::Secondary, STR_VIRTUAL_FLOOR_STYLE ), // Virtual floor
MakeWidget({155, FRAME_RENDERING_START + 90}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_NONE, STR_VIRTUAL_FLOOR_STYLE_TIP ), // Virtual floor dropdown
MakeWidget({288, FRAME_RENDERING_START + 91}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_VIRTUAL_FLOOR_STYLE_TIP ), // Virtual floor dropdown
MakeWidget({ 5, FRAME_RENDERING_START + 0}, {300, 108}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_RENDERING_GROUP ), // Rendering group
MakeWidget({ 10, FRAME_RENDERING_START + 15}, {281, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP ), // Landscape smoothing
MakeWidget({ 10, FRAME_RENDERING_START + 30}, {281, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_GRIDLINES, STR_GRIDLINES_TIP ), // Gridlines
MakeWidget({ 10, FRAME_RENDERING_START + 45}, {281, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_UPPERCASE_BANNERS, STR_UPPERCASE_BANNERS_TIP ), // Uppercase banners
MakeWidget({ 10, FRAME_RENDERING_START + 60}, {281, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_SHOW_GUEST_PURCHASES, STR_SHOW_GUEST_PURCHASES_TIP ), // Guest purchases
MakeWidget({ 10, FRAME_RENDERING_START + 75}, {281, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_TRANSPARENT_SCREENSHOT, STR_TRANSPARENT_SCREENSHOT_TIP), // Transparent screenshot
MakeWidget({ 10, FRAME_RENDERING_START + 90}, {281, 12}, WindowWidgetType::Label, WindowColour::Secondary, STR_VIRTUAL_FLOOR_STYLE ), // Virtual floor
MakeWidget({155, FRAME_RENDERING_START + 90}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_NONE, STR_VIRTUAL_FLOOR_STYLE_TIP ), // Virtual floor dropdown
MakeWidget({288, FRAME_RENDERING_START + 91}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_VIRTUAL_FLOOR_STYLE_TIP ), // Virtual floor dropdown
#undef FRAME_RENDERING_START
#define FRAME_EFFECTS_START 163
MakeWidget({ 5, FRAME_EFFECTS_START + 0}, {300, 94}, WWT_GROUPBOX, WindowColour::Secondary, STR_EFFECTS_GROUP ), // Rendering group
MakeWidget({10, FRAME_EFFECTS_START + 15}, {281, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_CYCLE_DAY_NIGHT, STR_CYCLE_DAY_NIGHT_TIP ), // Cycle day-night
MakeWidget({25, FRAME_EFFECTS_START + 30}, {266, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_ENABLE_LIGHTING_EFFECTS, STR_ENABLE_LIGHTING_EFFECTS_TIP ), // Enable light fx
MakeWidget({40, FRAME_EFFECTS_START + 45}, {251, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_ENABLE_LIGHTING_VEHICLES, STR_ENABLE_LIGHTING_VEHICLES_TIP), // Enable light fx for vehicles
MakeWidget({10, FRAME_EFFECTS_START + 60}, {281, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_RENDER_WEATHER_EFFECTS, STR_RENDER_WEATHER_EFFECTS_TIP ), // Render weather effects
MakeWidget({25, FRAME_EFFECTS_START + 75}, {266, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_DISABLE_LIGHTNING_EFFECT, STR_DISABLE_LIGHTNING_EFFECT_TIP), // Disable lightning effect
MakeWidget({ 5, FRAME_EFFECTS_START + 0}, {300, 94}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_EFFECTS_GROUP ), // Rendering group
MakeWidget({10, FRAME_EFFECTS_START + 15}, {281, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_CYCLE_DAY_NIGHT, STR_CYCLE_DAY_NIGHT_TIP ), // Cycle day-night
MakeWidget({25, FRAME_EFFECTS_START + 30}, {266, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_ENABLE_LIGHTING_EFFECTS, STR_ENABLE_LIGHTING_EFFECTS_TIP ), // Enable light fx
MakeWidget({40, FRAME_EFFECTS_START + 45}, {251, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_ENABLE_LIGHTING_VEHICLES, STR_ENABLE_LIGHTING_VEHICLES_TIP), // Enable light fx for vehicles
MakeWidget({10, FRAME_EFFECTS_START + 60}, {281, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_RENDER_WEATHER_EFFECTS, STR_RENDER_WEATHER_EFFECTS_TIP ), // Render weather effects
MakeWidget({25, FRAME_EFFECTS_START + 75}, {266, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_DISABLE_LIGHTNING_EFFECT, STR_DISABLE_LIGHTNING_EFFECT_TIP), // Disable lightning effect
#undef FRAME_EFFECTS_START
{ WIDGETS_END },
};
static rct_widget window_options_culture_widgets[] = {
MAIN_OPTIONS_WIDGETS,
MakeWidget({155, 53}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_STRING ), // language
MakeWidget({288, 54}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_LANGUAGE_TIP ),
MakeWidget({155, 68}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Currency
MakeWidget({288, 69}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_CURRENCY_TIP ),
MakeWidget({155, 83}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Distance and speed
MakeWidget({288, 84}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DISTANCE_AND_SPEED_TIP ),
MakeWidget({155, 98}, {145, 13}, WWT_DROPDOWN, WindowColour::Secondary ), // Temperature
MakeWidget({288, 99}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_TEMPERATURE_FORMAT_TIP ),
MakeWidget({155, 113}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Height labels
MakeWidget({288, 114}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_HEIGHT_LABELS_UNITS_TIP),
MakeWidget({155, 128}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Date format
MakeWidget({288, 129}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DATE_FORMAT_TIP ),
MakeWidget({155, 53}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_STRING ), // language
MakeWidget({288, 54}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_LANGUAGE_TIP ),
MakeWidget({155, 68}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Currency
MakeWidget({288, 69}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_CURRENCY_TIP ),
MakeWidget({155, 83}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Distance and speed
MakeWidget({288, 84}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DISTANCE_AND_SPEED_TIP ),
MakeWidget({155, 98}, {145, 13}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Temperature
MakeWidget({288, 99}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_TEMPERATURE_FORMAT_TIP ),
MakeWidget({155, 113}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Height labels
MakeWidget({288, 114}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_HEIGHT_LABELS_UNITS_TIP),
MakeWidget({155, 128}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Date format
MakeWidget({288, 129}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DATE_FORMAT_TIP ),
{ WIDGETS_END },
};
static rct_widget window_options_audio_widgets[] = {
MAIN_OPTIONS_WIDGETS,
MakeWidget({ 10, 53}, {290, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Audio device
MakeWidget({288, 54}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_AUDIO_DEVICE_TIP ),
MakeWidget({ 10, 69}, {220, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MASTER_VOLUME, STR_MASTER_VOLUME_TIP), // Enable / disable master sound
MakeWidget({ 10, 84}, {220, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_SOUND_EFFECTS, STR_SOUND_EFFECTS_TIP), // Enable / disable sound effects
MakeWidget({ 10, 99}, {220, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_RIDE_MUSIC, STR_RIDE_MUSIC_TIP ), // Enable / disable ride music
MakeWidget({ 10, 113}, {290, 13}, WWT_CHECKBOX, WindowColour::Secondary, STR_AUDIO_FOCUS, STR_AUDIO_FOCUS_TIP ), // Enable / disable audio disabled on focus lost
MakeWidget({ 10, 128}, {145, 13}, WWT_LABEL, WindowColour::Secondary, STR_OPTIONS_MUSIC_LABEL ), // Title music label
MakeWidget({155, 127}, {145, 13}, WWT_DROPDOWN, WindowColour::Secondary ), // Title music
MakeWidget({288, 128}, { 11, 11}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_TITLE_MUSIC_TIP ),
MakeWidget({155, 68}, {145, 13}, WWT_SCROLL, WindowColour::Secondary, SCROLL_HORIZONTAL ), // Master volume
MakeWidget({155, 83}, {145, 13}, WWT_SCROLL, WindowColour::Secondary, SCROLL_HORIZONTAL ), // Sound effect volume
MakeWidget({155, 98}, {145, 13}, WWT_SCROLL, WindowColour::Secondary, SCROLL_HORIZONTAL ), // Music volume
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({ 10, 69}, {220, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MASTER_VOLUME, STR_MASTER_VOLUME_TIP), // Enable / disable master sound
MakeWidget({ 10, 84}, {220, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_SOUND_EFFECTS, STR_SOUND_EFFECTS_TIP), // Enable / disable sound effects
MakeWidget({ 10, 99}, {220, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_RIDE_MUSIC, STR_RIDE_MUSIC_TIP ), // Enable / disable ride music
MakeWidget({ 10, 113}, {290, 13}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_AUDIO_FOCUS, STR_AUDIO_FOCUS_TIP ), // Enable / disable audio disabled on focus lost
MakeWidget({ 10, 128}, {145, 13}, WindowWidgetType::Label, WindowColour::Secondary, STR_OPTIONS_MUSIC_LABEL ), // Title music label
MakeWidget({155, 127}, {145, 13}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Title music
MakeWidget({288, 128}, { 11, 11}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_TITLE_MUSIC_TIP ),
MakeWidget({155, 68}, {145, 13}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_HORIZONTAL ), // Master volume
MakeWidget({155, 83}, {145, 13}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_HORIZONTAL ), // Sound effect volume
MakeWidget({155, 98}, {145, 13}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_HORIZONTAL ), // Music volume
{ WIDGETS_END },
};
static rct_widget window_options_controls_and_interface_widgets[] = {
MAIN_OPTIONS_WIDGETS,
#define CONTROLS_GROUP_START 53
MakeWidget({ 5, CONTROLS_GROUP_START + 0}, {300, 92}, WWT_GROUPBOX, WindowColour::Secondary, STR_CONTROLS_GROUP ), // Controls group
MakeWidget({ 10, CONTROLS_GROUP_START + 13}, {290, 14}, WWT_CHECKBOX, WindowColour::Tertiary , STR_SCREEN_EDGE_SCROLLING, STR_SCREEN_EDGE_SCROLLING_TIP ), // Edge scrolling
MakeWidget({ 10, CONTROLS_GROUP_START + 30}, {290, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_TRAP_MOUSE, STR_TRAP_MOUSE_TIP ), // Trap mouse
MakeWidget({ 10, CONTROLS_GROUP_START + 45}, {290, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_INVERT_RIGHT_MOUSE_DRAG, STR_INVERT_RIGHT_MOUSE_DRAG_TIP), // Invert right mouse dragging
MakeWidget({ 10, CONTROLS_GROUP_START + 60}, {290, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_ZOOM_TO_CURSOR, STR_ZOOM_TO_CURSOR_TIP ), // Zoom to cursor
MakeWidget({155, CONTROLS_GROUP_START + 75}, {145, 13}, WWT_BUTTON, WindowColour::Secondary, STR_HOTKEY, STR_HOTKEY_TIP ), // Set hotkeys buttons
MakeWidget({ 5, CONTROLS_GROUP_START + 0}, {300, 92}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_CONTROLS_GROUP ), // Controls group
MakeWidget({ 10, CONTROLS_GROUP_START + 13}, {290, 14}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_SCREEN_EDGE_SCROLLING, STR_SCREEN_EDGE_SCROLLING_TIP ), // Edge scrolling
MakeWidget({ 10, CONTROLS_GROUP_START + 30}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_TRAP_MOUSE, STR_TRAP_MOUSE_TIP ), // Trap mouse
MakeWidget({ 10, CONTROLS_GROUP_START + 45}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_INVERT_RIGHT_MOUSE_DRAG, STR_INVERT_RIGHT_MOUSE_DRAG_TIP), // Invert right mouse dragging
MakeWidget({ 10, CONTROLS_GROUP_START + 60}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_ZOOM_TO_CURSOR, STR_ZOOM_TO_CURSOR_TIP ), // Zoom to cursor
MakeWidget({155, CONTROLS_GROUP_START + 75}, {145, 13}, WindowWidgetType::Button, WindowColour::Secondary, STR_HOTKEY, STR_HOTKEY_TIP ), // Set hotkeys buttons
#undef CONTROLS_GROUP_START
#define THEMES_GROUP_START 148
MakeWidget({ 5, THEMES_GROUP_START + 0}, {300, 48}, WWT_GROUPBOX, WindowColour::Secondary, STR_THEMES_GROUP ), // Toolbar buttons group
MakeWidget({155, THEMES_GROUP_START + 14}, {145, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_STRING ), // Themes
MakeWidget({288, THEMES_GROUP_START + 15}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_CURRENT_THEME_TIP ),
MakeWidget({155, THEMES_GROUP_START + 30}, {145, 13}, WWT_BUTTON, WindowColour::Secondary, STR_EDIT_THEMES_BUTTON, STR_EDIT_THEMES_BUTTON_TIP), // Themes button
MakeWidget({ 5, THEMES_GROUP_START + 0}, {300, 48}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_THEMES_GROUP ), // Toolbar buttons group
MakeWidget({155, THEMES_GROUP_START + 14}, {145, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_STRING ), // Themes
MakeWidget({288, THEMES_GROUP_START + 15}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_CURRENT_THEME_TIP ),
MakeWidget({155, THEMES_GROUP_START + 30}, {145, 13}, WindowWidgetType::Button, WindowColour::Secondary, STR_EDIT_THEMES_BUTTON, STR_EDIT_THEMES_BUTTON_TIP), // Themes button
#undef THEMES_GROUP_START
#define TOOLBAR_GROUP_START 200
MakeWidget({ 5, TOOLBAR_GROUP_START + 0}, {300, 76}, WWT_GROUPBOX, WindowColour::Secondary, STR_TOOLBAR_BUTTONS_GROUP ), // Toolbar buttons group
MakeWidget({ 24, TOOLBAR_GROUP_START + 31}, {122, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_FINANCES_BUTTON_ON_TOOLBAR, STR_FINANCES_BUTTON_ON_TOOLBAR_TIP ), // Finances
MakeWidget({ 24, TOOLBAR_GROUP_START + 46}, {122, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_RESEARCH_BUTTON_ON_TOOLBAR, STR_RESEARCH_BUTTON_ON_TOOLBAR_TIP ), // Research
MakeWidget({155, TOOLBAR_GROUP_START + 31}, {145, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_CHEATS_BUTTON_ON_TOOLBAR, STR_CHEATS_BUTTON_ON_TOOLBAR_TIP ), // Cheats
MakeWidget({155, TOOLBAR_GROUP_START + 46}, {145, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR, STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR_TIP), // Recent messages
MakeWidget({ 24, TOOLBAR_GROUP_START + 61}, {162, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_MUTE_BUTTON_ON_TOOLBAR, STR_MUTE_BUTTON_ON_TOOLBAR_TIP ), // Mute
MakeWidget({155, TOOLBAR_GROUP_START + 61}, {145, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_CHAT_BUTTON_ON_TOOLBAR, STR_CHAT_BUTTON_ON_TOOLBAR_TIP ), // Chat
MakeWidget({ 5, TOOLBAR_GROUP_START + 0}, {300, 76}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_TOOLBAR_BUTTONS_GROUP ), // Toolbar buttons group
MakeWidget({ 24, TOOLBAR_GROUP_START + 31}, {122, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_FINANCES_BUTTON_ON_TOOLBAR, STR_FINANCES_BUTTON_ON_TOOLBAR_TIP ), // Finances
MakeWidget({ 24, TOOLBAR_GROUP_START + 46}, {122, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_RESEARCH_BUTTON_ON_TOOLBAR, STR_RESEARCH_BUTTON_ON_TOOLBAR_TIP ), // Research
MakeWidget({155, TOOLBAR_GROUP_START + 31}, {145, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_CHEATS_BUTTON_ON_TOOLBAR, STR_CHEATS_BUTTON_ON_TOOLBAR_TIP ), // Cheats
MakeWidget({155, TOOLBAR_GROUP_START + 46}, {145, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR, STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR_TIP), // Recent messages
MakeWidget({ 24, TOOLBAR_GROUP_START + 61}, {162, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_MUTE_BUTTON_ON_TOOLBAR, STR_MUTE_BUTTON_ON_TOOLBAR_TIP ), // Mute
MakeWidget({155, TOOLBAR_GROUP_START + 61}, {145, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_CHAT_BUTTON_ON_TOOLBAR, STR_CHAT_BUTTON_ON_TOOLBAR_TIP ), // Chat
{ WIDGETS_END },
#undef TOOLBAR_GROUP_START
};
@ -315,46 +315,46 @@ static rct_widget window_options_controls_and_interface_widgets[] = {
static rct_widget window_options_misc_widgets[] = {
MAIN_OPTIONS_WIDGETS,
#define TITLE_SEQUENCE_START 53
MakeWidget({ 5, TITLE_SEQUENCE_START + 0}, {300, 65}, WWT_GROUPBOX, WindowColour::Secondary, STR_OPTIONS_TITLE_SEQUENCE ),
MakeWidget({ 10, TITLE_SEQUENCE_START + 15}, {290, 16}, WWT_CHECKBOX, WindowColour::Tertiary , STR_OPTIONS_RANDOM_TITLE_SEQUENCE ), // Random Title Sequence
MakeWidget({135, TITLE_SEQUENCE_START + 32}, {165, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_STRING ), // Title sequence dropdown
MakeWidget({288, TITLE_SEQUENCE_START + 33}, { 11, 12}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_TITLE_SEQUENCE_TIP ), // Title sequence dropdown button
MakeWidget({135, TITLE_SEQUENCE_START + 48}, {165, 13}, WWT_BUTTON, WindowColour::Secondary, STR_EDIT_TITLE_SEQUENCES_BUTTON, STR_EDIT_TITLE_SEQUENCES_BUTTON_TIP), // Edit title sequences button
MakeWidget({ 5, TITLE_SEQUENCE_START + 0}, {300, 65}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_OPTIONS_TITLE_SEQUENCE ),
MakeWidget({ 10, TITLE_SEQUENCE_START + 15}, {290, 16}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_OPTIONS_RANDOM_TITLE_SEQUENCE ), // Random Title Sequence
MakeWidget({135, TITLE_SEQUENCE_START + 32}, {165, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_STRING ), // Title sequence dropdown
MakeWidget({288, TITLE_SEQUENCE_START + 33}, { 11, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_TITLE_SEQUENCE_TIP ), // Title sequence dropdown button
MakeWidget({135, TITLE_SEQUENCE_START + 48}, {165, 13}, WindowWidgetType::Button, WindowColour::Secondary, STR_EDIT_TITLE_SEQUENCES_BUTTON, STR_EDIT_TITLE_SEQUENCES_BUTTON_TIP), // Edit title sequences button
#undef TITLE_SEQUENCE_START
#define SCENARIO_START 122
MakeWidget({ 5, SCENARIO_START + 0}, {300, 51}, WWT_GROUPBOX, WindowColour::Secondary, STR_OPTIONS_SCENARIO_SELECTION ),
MakeWidget({175, SCENARIO_START + 15}, {125, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Scenario select mode
MakeWidget({288, SCENARIO_START + 16}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SCENARIO_GROUPING_TIP ),
MakeWidget({ 25, SCENARIO_START + 30}, {275, 16}, WWT_CHECKBOX, WindowColour::Tertiary , STR_OPTIONS_SCENARIO_UNLOCKING, STR_SCENARIO_UNLOCKING_TIP), // Unlocking of scenarios
MakeWidget({ 5, SCENARIO_START + 0}, {300, 51}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_OPTIONS_SCENARIO_SELECTION ),
MakeWidget({175, SCENARIO_START + 15}, {125, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Scenario select mode
MakeWidget({288, SCENARIO_START + 16}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SCENARIO_GROUPING_TIP ),
MakeWidget({ 25, SCENARIO_START + 30}, {275, 16}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_OPTIONS_SCENARIO_UNLOCKING, STR_SCENARIO_UNLOCKING_TIP), // Unlocking of scenarios
#undef SCENARIO_START
#define SCENARIO_OPTIONS_START 177
MakeWidget({ 5, SCENARIO_OPTIONS_START + 0}, {300, 35}, WWT_GROUPBOX, WindowColour::Secondary, STR_SCENARIO_OPTIONS ),
MakeWidget({10, SCENARIO_OPTIONS_START + 15}, {290, 15}, WWT_CHECKBOX, WindowColour::Tertiary , STR_ALLOW_EARLY_COMPLETION, STR_EARLY_COMPLETION_TIP), // Allow early scenario completion
MakeWidget({ 5, SCENARIO_OPTIONS_START + 0}, {300, 35}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_SCENARIO_OPTIONS ),
MakeWidget({10, SCENARIO_OPTIONS_START + 15}, {290, 15}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_ALLOW_EARLY_COMPLETION, STR_EARLY_COMPLETION_TIP), // Allow early scenario completion
#undef SCENARIO_OPTIONS_START
#define TWEAKS_START 216
MakeWidget({ 5, TWEAKS_START + 0}, {300, 81}, WWT_GROUPBOX, WindowColour::Secondary, STR_OPTIONS_TWEAKS ),
MakeWidget({ 10, TWEAKS_START + 15}, {290, 15}, WWT_CHECKBOX, WindowColour::Tertiary , STR_REAL_NAME, STR_REAL_NAME_TIP ), // Show 'real' names of guests
MakeWidget({ 10, TWEAKS_START + 30}, {290, 15}, WWT_CHECKBOX, WindowColour::Tertiary , STR_AUTO_STAFF_PLACEMENT, STR_AUTO_STAFF_PLACEMENT_TIP ), // Auto staff placement
MakeWidget({ 10, TWEAKS_START + 45}, {290, 15}, WWT_CHECKBOX, WindowColour::Tertiary , STR_AUTO_OPEN_SHOPS, STR_AUTO_OPEN_SHOPS_TIP ), // Automatically open shops & stalls
MakeWidget({175, TWEAKS_START + 61}, {125, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Default inspection time dropdown
MakeWidget({288, TWEAKS_START + 62}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DEFAULT_INSPECTION_INTERVAL_TIP), // Default inspection time dropdown button
MakeWidget({ 5, TWEAKS_START + 0}, {300, 81}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_OPTIONS_TWEAKS ),
MakeWidget({ 10, TWEAKS_START + 15}, {290, 15}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_REAL_NAME, STR_REAL_NAME_TIP ), // Show 'real' names of guests
MakeWidget({ 10, TWEAKS_START + 30}, {290, 15}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_AUTO_STAFF_PLACEMENT, STR_AUTO_STAFF_PLACEMENT_TIP ), // Auto staff placement
MakeWidget({ 10, TWEAKS_START + 45}, {290, 15}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_AUTO_OPEN_SHOPS, STR_AUTO_OPEN_SHOPS_TIP ), // Automatically open shops & stalls
MakeWidget({175, TWEAKS_START + 61}, {125, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Default inspection time dropdown
MakeWidget({288, TWEAKS_START + 62}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_DEFAULT_INSPECTION_INTERVAL_TIP), // Default inspection time dropdown button
#undef TWEAKS_START
{ WIDGETS_END },
};
static rct_widget window_options_advanced_widgets[] = {
MAIN_OPTIONS_WIDGETS,
MakeWidget ({ 10, 54}, {290, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_ENABLE_DEBUGGING_TOOLS, STR_ENABLE_DEBUGGING_TOOLS_TIP ), // Enable debugging tools
MakeWidget ({ 10, 69}, {290, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM_TIP), // Allow loading with incorrect checksum
MakeWidget ({ 10, 84}, {290, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_SAVE_PLUGIN_DATA, STR_SAVE_PLUGIN_DATA_TIP ), // Export plug-in objects with saved games
MakeWidget ({ 10, 99}, {290, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_STAY_CONNECTED_AFTER_DESYNC, STR_STAY_CONNECTED_AFTER_DESYNC_TIP ), // Do not disconnect after the client desynchronises with the server
MakeWidget ({ 10, 114}, {290, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_ALWAYS_NATIVE_LOADSAVE, STR_ALWAYS_NATIVE_LOADSAVE_TIP ), // Use native load/save window
MakeWidget ({165, 130}, {135, 13}, WWT_DROPDOWN, WindowColour::Secondary ), // Autosave dropdown
MakeWidget ({288, 131}, { 11, 11}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_AUTOSAVE_FREQUENCY_TIP ), // Autosave dropdown button
MakeSpinnerWidgets({165, 150}, {135, 12}, WWT_SPINNER, WindowColour::Secondary, STR_NONE, STR_AUTOSAVE_AMOUNT_TIP ), // Autosave amount spinner
MakeWidget ({ 23, 169}, {276, 12}, WWT_LABEL, WindowColour::Secondary, STR_PATH_TO_RCT1, STR_PATH_TO_RCT1_TIP ), // RCT 1 path text
MakeWidget ({ 24, 184}, {266, 14}, WWT_BUTTON, WindowColour::Secondary, STR_NONE, STR_STRING_TOOLTIP ), // RCT 1 path button
MakeWidget ({289, 184}, { 11, 14}, WWT_BUTTON, WindowColour::Secondary, STR_CLOSE_X, STR_PATH_TO_RCT1_CLEAR_TIP ), // RCT 1 path clear button
MakeWidget ({ 10, 54}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_ENABLE_DEBUGGING_TOOLS, STR_ENABLE_DEBUGGING_TOOLS_TIP ), // Enable debugging tools
MakeWidget ({ 10, 69}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM_TIP), // Allow loading with incorrect checksum
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, 99}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_STAY_CONNECTED_AFTER_DESYNC, STR_STAY_CONNECTED_AFTER_DESYNC_TIP ), // Do not disconnect after the client desynchronises with the server
MakeWidget ({ 10, 114}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_ALWAYS_NATIVE_LOADSAVE, STR_ALWAYS_NATIVE_LOADSAVE_TIP ), // Use native load/save window
MakeWidget ({165, 130}, {135, 13}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Autosave dropdown
MakeWidget ({288, 131}, { 11, 11}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_AUTOSAVE_FREQUENCY_TIP ), // Autosave dropdown button
MakeSpinnerWidgets({165, 150}, {135, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_NONE, STR_AUTOSAVE_AMOUNT_TIP ), // Autosave amount spinner
MakeWidget ({ 23, 169}, {276, 12}, WindowWidgetType::Label, WindowColour::Secondary, STR_PATH_TO_RCT1, STR_PATH_TO_RCT1_TIP ), // RCT 1 path text
MakeWidget ({ 24, 184}, {266, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_NONE, STR_STRING_TOOLTIP ), // RCT 1 path button
MakeWidget ({289, 184}, { 11, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_CLOSE_X, STR_PATH_TO_RCT1_CLEAR_TIP ), // RCT 1 path clear button
{ WIDGETS_END },
};
@ -580,7 +580,7 @@ static void window_options_common_invalidate_before(rct_window* w)
{
w->enabled_widgets &= ~WIDX_ALWAYS_NATIVE_LOADSAVE;
w->disabled_widgets |= WIDX_ALWAYS_NATIVE_LOADSAVE;
w->widgets[WIDX_ALWAYS_NATIVE_LOADSAVE].type = WWT_EMPTY;
w->widgets[WIDX_ALWAYS_NATIVE_LOADSAVE].type = WindowWidgetType::Empty;
}
}
@ -588,7 +588,7 @@ static void window_options_common_invalidate_after(rct_window* w)
{
// Automatically adjust window height to fit widgets
int32_t y = 0;
for (auto widget = &w->widgets[WIDX_PAGE_START]; widget->type != WWT_LAST; widget++)
for (auto widget = &w->widgets[WIDX_PAGE_START]; widget->type != WindowWidgetType::Last; widget++)
{
y = std::max<int32_t>(y, widget->bottom);
}

View File

@ -80,7 +80,7 @@ enum WINDOW_PARK_WIDGET_IDX {
#define MAIN_PARK_WIDGETS(WW) \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
MakeWidget({ 0, 43}, {WW, 131}, WWT_RESIZE, WindowColour::Secondary), /* tab content panel */ \
MakeWidget({ 0, 43}, {WW, 131}, WindowWidgetType::Resize, WindowColour::Secondary), /* tab content panel */ \
MakeTab ({ 3, 17}, STR_PARK_ENTRANCE_TAB_TIP ), /* tab 1 */ \
MakeTab ({ 34, 17}, STR_PARK_RATING_TAB_TIP ), /* tab 2 */ \
MakeTab ({ 65, 17}, STR_PARK_GUESTS_TAB_TIP ), /* tab 3 */ \
@ -91,14 +91,14 @@ enum WINDOW_PARK_WIDGET_IDX {
static rct_widget window_park_entrance_widgets[] = {
MAIN_PARK_WIDGETS(230),
MakeWidget({ 3, 46}, {202, 115}, WWT_VIEWPORT, WindowColour::Secondary ), // viewport
MakeWidget({ 3, 161}, {202, 11}, WWT_LABEL_CENTRED, WindowColour::Secondary ), // status
MakeWidget({205, 49}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_OPEN_OR_CLOSE_PARK_TIP ), // open / close
MakeWidget({205, 73}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_BUY_LAND_RIGHTS, STR_BUY_LAND_AND_CONSTRUCTION_RIGHTS_TIP), // buy land rights
MakeWidget({205, 97}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP ), // locate
MakeWidget({205, 121}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RENAME, STR_NAME_PARK_TIP ), // rename
MakeWidget({210, 51}, { 14, 15}, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_CLOSE_PARK_TIP ),
MakeWidget({210, 66}, { 14, 14}, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_RCT1_OPEN_BUTTON_0, STR_OPEN_PARK_TIP ),
MakeWidget({ 3, 46}, {202, 115}, WindowWidgetType::Viewport, WindowColour::Secondary ), // viewport
MakeWidget({ 3, 161}, {202, 11}, WindowWidgetType::LabelCentred, WindowColour::Secondary ), // status
MakeWidget({205, 49}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_OPEN_OR_CLOSE_PARK_TIP ), // open / close
MakeWidget({205, 73}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_BUY_LAND_RIGHTS, STR_BUY_LAND_AND_CONSTRUCTION_RIGHTS_TIP), // buy land rights
MakeWidget({205, 97}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP ), // locate
MakeWidget({205, 121}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RENAME, STR_NAME_PARK_TIP ), // rename
MakeWidget({210, 51}, { 14, 15}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_CLOSE_PARK_TIP ),
MakeWidget({210, 66}, { 14, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_RCT1_OPEN_BUTTON_0, STR_OPEN_PARK_TIP ),
{ WIDGETS_END },
};
@ -114,8 +114,8 @@ static rct_widget window_park_guests_widgets[] = {
static rct_widget window_park_price_widgets[] = {
MAIN_PARK_WIDGETS(230),
MakeWidget ({ 21, 50}, {126, 14}, WWT_LABEL, WindowColour::Secondary, STR_ADMISSION_PRICE),
MakeSpinnerWidgets({147, 50}, { 76, 14}, WWT_SPINNER, WindowColour::Secondary ), // Price (3 widgets)
MakeWidget ({ 21, 50}, {126, 14}, WindowWidgetType::Label, WindowColour::Secondary, STR_ADMISSION_PRICE),
MakeSpinnerWidgets({147, 50}, { 76, 14}, WindowWidgetType::Spinner, WindowColour::Secondary ), // Price (3 widgets)
{ WIDGETS_END },
};
@ -126,7 +126,7 @@ static rct_widget window_park_stats_widgets[] = {
static rct_widget window_park_objective_widgets[] = {
MAIN_PARK_WIDGETS(230),
MakeWidget({7, 207}, {216, 14}, WWT_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 },
};
@ -648,9 +648,9 @@ static void window_park_entrance_invalidate(rct_window* w)
// Only allow purchase of land when there is money
if (gParkFlags & PARK_FLAGS_NO_MONEY)
window_park_entrance_widgets[WIDX_BUY_LAND_RIGHTS].type = WWT_EMPTY;
window_park_entrance_widgets[WIDX_BUY_LAND_RIGHTS].type = WindowWidgetType::Empty;
else
window_park_entrance_widgets[WIDX_BUY_LAND_RIGHTS].type = WWT_FLATBTN;
window_park_entrance_widgets[WIDX_BUY_LAND_RIGHTS].type = WindowWidgetType::FlatBtn;
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7);
window_park_anchor_border_widgets(w);
@ -664,24 +664,24 @@ static void window_park_entrance_invalidate(rct_window* w)
if (ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_PARK)
{
window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].type = WWT_EMPTY;
window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].type = WindowWidgetType::Empty;
if (gScenarioObjective.Type == OBJECTIVE_GUESTS_AND_RATING)
{
window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_FLATBTN;
window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_FLATBTN;
window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WindowWidgetType::FlatBtn;
window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WindowWidgetType::FlatBtn;
}
else
{
window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN;
window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN;
window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WindowWidgetType::ImgBtn;
window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WindowWidgetType::ImgBtn;
}
height = window_park_entrance_widgets[WIDX_OPEN_LIGHT].bottom + 5;
}
else
{
window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].type = WWT_FLATBTN;
window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY;
window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY;
window_park_entrance_widgets[WIDX_OPEN_OR_CLOSE].type = WindowWidgetType::FlatBtn;
window_park_entrance_widgets[WIDX_CLOSE_LIGHT].type = WindowWidgetType::Empty;
window_park_entrance_widgets[WIDX_OPEN_LIGHT].type = WindowWidgetType::Empty;
height = 49;
}
@ -692,7 +692,7 @@ static void window_park_entrance_invalidate(rct_window* w)
}
for (i = WIDX_OPEN_OR_CLOSE; i <= WIDX_RENAME; i++)
{
if (window_park_entrance_widgets[i].type == WWT_EMPTY)
if (window_park_entrance_widgets[i].type == WindowWidgetType::Empty)
continue;
window_park_entrance_widgets[i].left = w->width - 25;
@ -1154,15 +1154,15 @@ static void window_park_price_invalidate(rct_window* w)
// If the entry price is locked at free, disable the widget, unless the unlock_all_prices cheat is active.
if ((gParkFlags & PARK_FLAGS_NO_MONEY) || !park_entry_price_unlocked())
{
window_park_price_widgets[WIDX_PRICE].type = WWT_LABEL_CENTRED;
window_park_price_widgets[WIDX_INCREASE_PRICE].type = WWT_EMPTY;
window_park_price_widgets[WIDX_DECREASE_PRICE].type = WWT_EMPTY;
window_park_price_widgets[WIDX_PRICE].type = WindowWidgetType::LabelCentred;
window_park_price_widgets[WIDX_INCREASE_PRICE].type = WindowWidgetType::Empty;
window_park_price_widgets[WIDX_DECREASE_PRICE].type = WindowWidgetType::Empty;
}
else
{
window_park_price_widgets[WIDX_PRICE].type = WWT_SPINNER;
window_park_price_widgets[WIDX_INCREASE_PRICE].type = WWT_BUTTON;
window_park_price_widgets[WIDX_DECREASE_PRICE].type = WWT_BUTTON;
window_park_price_widgets[WIDX_PRICE].type = WindowWidgetType::Spinner;
window_park_price_widgets[WIDX_INCREASE_PRICE].type = WindowWidgetType::Button;
window_park_price_widgets[WIDX_DECREASE_PRICE].type = WindowWidgetType::Button;
}
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7);
@ -1435,12 +1435,12 @@ static void window_park_objective_invalidate(rct_window* w)
// Show name input button on scenario completion.
if (gParkFlags & PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT)
{
window_park_objective_widgets[WIDX_ENTER_NAME].type = WWT_BUTTON;
window_park_objective_widgets[WIDX_ENTER_NAME].type = WindowWidgetType::Button;
window_park_objective_widgets[WIDX_ENTER_NAME].top = w->height - 19;
window_park_objective_widgets[WIDX_ENTER_NAME].bottom = w->height - 6;
}
else
window_park_objective_widgets[WIDX_ENTER_NAME].type = WWT_EMPTY;
window_park_objective_widgets[WIDX_ENTER_NAME].type = WindowWidgetType::Empty;
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7);
window_park_anchor_border_widgets(w);

View File

@ -48,20 +48,20 @@ enum WINDOW_PLAYER_WIDGET_IDX {
};
#define WINDOW_PLAYER_COMMON_WIDGETS \
MakeWidget({ 0, 0}, {192, 157}, WWT_FRAME, WindowColour::Primary ), /* Panel / Background */ \
MakeWidget({ 1, 1}, {190, 14}, WWT_CAPTION, WindowColour::Primary , STR_STRING, STR_WINDOW_TITLE_TIP), /* Title */ \
MakeWidget({179, 2}, { 11, 12}, WWT_CLOSEBOX, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), /* Close x button */ \
MakeWidget({ 0, 43}, {192, 114}, WWT_RESIZE, WindowColour::Secondary ), /* Resize */ \
MakeWidget({ 0, 0}, {192, 157}, WindowWidgetType::Frame, WindowColour::Primary ), /* Panel / Background */ \
MakeWidget({ 1, 1}, {190, 14}, WindowWidgetType::Caption, WindowColour::Primary , STR_STRING, STR_WINDOW_TITLE_TIP), /* Title */ \
MakeWidget({179, 2}, { 11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), /* Close x button */ \
MakeWidget({ 0, 43}, {192, 114}, WindowWidgetType::Resize, WindowColour::Secondary ), /* Resize */ \
MakeTab ({ 3, 17} ), /* Tab 1 */ \
MakeTab ({ 34, 17} ) /* Tab 2 */
static rct_widget window_player_overview_widgets[] = {
WINDOW_PLAYER_COMMON_WIDGETS,
MakeWidget({ 3, 46}, {175, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Permission group
MakeWidget({167, 47}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({179, 45}, { 12, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_PLAYER_TIP), // Locate button
MakeWidget({179, 69}, { 12, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_DEMOLISH, STR_KICK_PLAYER_TIP ), // Kick button
MakeWidget({ 3, 60}, {175, 61}, WWT_VIEWPORT, WindowColour::Secondary ), // Viewport
MakeWidget({ 3, 46}, {175, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Permission group
MakeWidget({167, 47}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({179, 45}, { 12, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_PLAYER_TIP), // Locate button
MakeWidget({179, 69}, { 12, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_DEMOLISH, STR_KICK_PLAYER_TIP ), // Kick button
MakeWidget({ 3, 60}, {175, 61}, WindowWidgetType::Viewport, WindowColour::Secondary ), // Viewport
{ WIDGETS_END },
};

View File

@ -62,31 +62,31 @@ enum {
static rct_widget window_research_development_widgets[] = {
WINDOW_SHIM(STR_RESEARCH_AND_DEVELOPMENT, WW_DEVELOPMENT, WH_DEVELOPMENT),
MakeWidget({ 0, 43}, { WW_DEVELOPMENT, 153}, WWT_RESIZE, WindowColour::Secondary ),
MakeWidget({ 0, 43}, { WW_DEVELOPMENT, 153}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_RESEARCH_AND_DEVELOPMENT_TIP),
MakeTab ({ 34, 17}, STR_FINANCES_RESEARCH_TIP ),
MakeWidget({ 3, 47}, {WW_DEVELOPMENT - 10, 70}, WWT_GROUPBOX, WindowColour::Tertiary , STR_CURRENTLY_IN_DEVELOPMENT ),
MakeWidget({ 3, 124}, {WW_DEVELOPMENT - 10, 65}, WWT_GROUPBOX, WindowColour::Tertiary , STR_LAST_DEVELOPMENT ),
MakeWidget({265, 161}, { 24, 24}, WWT_FLATBTN, WindowColour::Tertiary , 0xFFFFFFFF, STR_RESEARCH_SHOW_DETAILS_TIP ),
MakeWidget({ 3, 47}, {WW_DEVELOPMENT - 10, 70}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_CURRENTLY_IN_DEVELOPMENT ),
MakeWidget({ 3, 124}, {WW_DEVELOPMENT - 10, 65}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_LAST_DEVELOPMENT ),
MakeWidget({265, 161}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Tertiary , 0xFFFFFFFF, STR_RESEARCH_SHOW_DETAILS_TIP ),
{ WIDGETS_END },
};
static rct_widget window_research_funding_widgets[] = {
WINDOW_SHIM(STR_RESEARCH_FUNDING, WW_FUNDING, WH_FUNDING),
MakeWidget({ 0, 43}, { WW_FUNDING, 164}, WWT_RESIZE, WindowColour::Secondary ),
MakeWidget({ 0, 43}, { WW_FUNDING, 164}, WindowWidgetType::Resize, WindowColour::Secondary ),
MakeTab ({ 3, 17}, STR_RESEARCH_AND_DEVELOPMENT_TIP ),
MakeTab ({ 34, 17}, STR_FINANCES_RESEARCH_TIP ),
MakeWidget({ 3, 47}, { WW_FUNDING - 6, 45}, WWT_GROUPBOX, WindowColour::Tertiary , STR_RESEARCH_FUNDING_ ),
MakeWidget({ 8, 59}, { 160, 14}, WWT_DROPDOWN, WindowColour::Tertiary , 0xFFFFFFFF, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT),
MakeWidget({156, 60}, { 11, 12}, WWT_BUTTON, WindowColour::Tertiary , STR_DROPDOWN_GLYPH, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT),
MakeWidget({ 3, 96}, { WW_FUNDING - 6, 107}, WWT_GROUPBOX, WindowColour::Tertiary , STR_RESEARCH_PRIORITIES ),
MakeWidget({ 8, 108}, {WW_FUNDING - 16, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_RESEARCH_NEW_TRANSPORT_RIDES, STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP ),
MakeWidget({ 8, 121}, {WW_FUNDING - 16, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_RESEARCH_NEW_GENTLE_RIDES, STR_RESEARCH_NEW_GENTLE_RIDES_TIP ),
MakeWidget({ 8, 134}, {WW_FUNDING - 16, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_RESEARCH_NEW_ROLLER_COASTERS, STR_RESEARCH_NEW_ROLLER_COASTERS_TIP ),
MakeWidget({ 8, 147}, {WW_FUNDING - 16, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_RESEARCH_NEW_THRILL_RIDES, STR_RESEARCH_NEW_THRILL_RIDES_TIP ),
MakeWidget({ 8, 160}, {WW_FUNDING - 16, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_RESEARCH_NEW_WATER_RIDES, STR_RESEARCH_NEW_WATER_RIDES_TIP ),
MakeWidget({ 8, 173}, {WW_FUNDING - 16, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_RESEARCH_NEW_SHOPS_AND_STALLS, STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP ),
MakeWidget({ 8, 186}, {WW_FUNDING - 16, 12}, WWT_CHECKBOX, WindowColour::Tertiary , STR_RESEARCH_NEW_SCENERY_AND_THEMING, STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP ),
MakeWidget({ 3, 47}, { WW_FUNDING - 6, 45}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_RESEARCH_FUNDING_ ),
MakeWidget({ 8, 59}, { 160, 14}, WindowWidgetType::DropdownMenu, WindowColour::Tertiary , 0xFFFFFFFF, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT),
MakeWidget({156, 60}, { 11, 12}, WindowWidgetType::Button, WindowColour::Tertiary , STR_DROPDOWN_GLYPH, STR_SELECT_LEVEL_OF_RESEARCH_AND_DEVELOPMENT),
MakeWidget({ 3, 96}, { WW_FUNDING - 6, 107}, WindowWidgetType::Groupbox, WindowColour::Tertiary , STR_RESEARCH_PRIORITIES ),
MakeWidget({ 8, 108}, {WW_FUNDING - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_RESEARCH_NEW_TRANSPORT_RIDES, STR_RESEARCH_NEW_TRANSPORT_RIDES_TIP ),
MakeWidget({ 8, 121}, {WW_FUNDING - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_RESEARCH_NEW_GENTLE_RIDES, STR_RESEARCH_NEW_GENTLE_RIDES_TIP ),
MakeWidget({ 8, 134}, {WW_FUNDING - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_RESEARCH_NEW_ROLLER_COASTERS, STR_RESEARCH_NEW_ROLLER_COASTERS_TIP ),
MakeWidget({ 8, 147}, {WW_FUNDING - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_RESEARCH_NEW_THRILL_RIDES, STR_RESEARCH_NEW_THRILL_RIDES_TIP ),
MakeWidget({ 8, 160}, {WW_FUNDING - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_RESEARCH_NEW_WATER_RIDES, STR_RESEARCH_NEW_WATER_RIDES_TIP ),
MakeWidget({ 8, 173}, {WW_FUNDING - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_RESEARCH_NEW_SHOPS_AND_STALLS, STR_RESEARCH_NEW_SHOPS_AND_STALLS_TIP ),
MakeWidget({ 8, 186}, {WW_FUNDING - 16, 12}, WindowWidgetType::Checkbox, WindowColour::Tertiary , STR_RESEARCH_NEW_SCENERY_AND_THEMING, STR_RESEARCH_NEW_SCENERY_AND_THEMING_TIP ),
{ WIDGETS_END },
};
@ -259,11 +259,11 @@ static void window_research_development_invalidate(rct_window* w)
window_research_set_pressed_tab(w);
window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY;
window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WindowWidgetType::Empty;
if (gResearchLastItem.has_value())
{
auto type = gResearchLastItem->type;
window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN;
window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WindowWidgetType::FlatBtn;
window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].image = type == Research::EntryType::Ride
? SPR_NEW_RIDE
: SPR_NEW_SCENERY;
@ -503,14 +503,14 @@ static void window_research_funding_invalidate(rct_window* w)
if ((gParkFlags & PARK_FLAGS_NO_MONEY) || (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL))
{
window_research_funding_widgets[WIDX_RESEARCH_FUNDING].type = WWT_EMPTY;
window_research_funding_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_EMPTY;
window_research_funding_widgets[WIDX_RESEARCH_FUNDING].type = WindowWidgetType::Empty;
window_research_funding_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WindowWidgetType::Empty;
}
else
{
window_research_funding_widgets[WIDX_FUNDING_GROUP].type = WWT_GROUPBOX;
window_research_funding_widgets[WIDX_RESEARCH_FUNDING].type = WWT_DROPDOWN;
window_research_funding_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WWT_BUTTON;
window_research_funding_widgets[WIDX_FUNDING_GROUP].type = WindowWidgetType::Groupbox;
window_research_funding_widgets[WIDX_RESEARCH_FUNDING].type = WindowWidgetType::DropdownMenu;
window_research_funding_widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON].type = WindowWidgetType::Button;
// Current funding
int32_t currentResearchLevel = gResearchFundingLevel;

View File

@ -209,7 +209,7 @@ constexpr int32_t RCT1_LIGHT_OFFSET = 4;
#define MAIN_RIDE_WIDGETS \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
MakeWidget({ 0, 43}, {316, 137}, WWT_RESIZE, WindowColour::Secondary), \
MakeWidget({ 0, 43}, {316, 137}, WindowWidgetType::Resize, WindowColour::Secondary), \
MakeTab ({ 3, 17}, STR_VIEW_OF_RIDE_ATTRACTION_TIP ), \
MakeTab ({ 34, 17}, STR_VEHICLE_DETAILS_AND_OPTIONS_TIP ), \
MakeTab ({ 65, 17}, STR_OPERATING_OPTIONS_TIP ), \
@ -224,144 +224,144 @@ constexpr int32_t RCT1_LIGHT_OFFSET = 4;
// 0x009ADC34
static rct_widget window_ride_main_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget({ 3, 60}, {288, 107}, WWT_VIEWPORT, WindowColour::Secondary, STR_VIEWPORT ),
MakeWidget({ 35, 46}, {222, 12}, WWT_DROPDOWN, WindowColour::Secondary, 0xFFFFFFFF, STR_VIEW_SELECTION ),
MakeWidget({245, 47}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_VIEW_SELECTION ),
MakeWidget({ 3, 167}, {288, 11}, WWT_LABEL_CENTRED, WindowColour::Secondary ),
MakeWidget({291, 46}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_OPEN_CLOSE_OR_TEST_RIDE),
MakeWidget({291, 70}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION, STR_CONSTRUCTION ),
MakeWidget({291, 94}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RENAME, STR_NAME_RIDE_TIP ),
MakeWidget({291, 118}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP ),
MakeWidget({291, 142}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_DEMOLISH, STR_DEMOLISH_RIDE_TIP ),
MakeWidget({296, 48}, { 14, 14}, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_CLOSE_RIDE_TIP ),
MakeWidget({296, 62}, { 14, 14}, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_RCT1_TEST_BUTTON_0, STR_SIMULATE_RIDE_TIP ),
MakeWidget({296, 62}, { 14, 14}, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_RCT1_TEST_BUTTON_0, STR_TEST_RIDE_TIP ),
MakeWidget({296, 76}, { 14, 14}, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_RCT1_OPEN_BUTTON_0, STR_OPEN_RIDE_TIP ),
MakeWidget({ 3, 180}, {305, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_ARG_6_STRINGID ),
MakeWidget({297, 180}, { 11, 12}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
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({245, 47}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_VIEW_SELECTION ),
MakeWidget({ 3, 167}, {288, 11}, WindowWidgetType::LabelCentred, WindowColour::Secondary ),
MakeWidget({291, 46}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_OPEN_CLOSE_OR_TEST_RIDE),
MakeWidget({291, 70}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION, STR_CONSTRUCTION ),
MakeWidget({291, 94}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RENAME, STR_NAME_RIDE_TIP ),
MakeWidget({291, 118}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP ),
MakeWidget({291, 142}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_DEMOLISH, STR_DEMOLISH_RIDE_TIP ),
MakeWidget({296, 48}, { 14, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_RCT1_CLOSE_BUTTON_0, STR_CLOSE_RIDE_TIP ),
MakeWidget({296, 62}, { 14, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_RCT1_TEST_BUTTON_0, STR_SIMULATE_RIDE_TIP ),
MakeWidget({296, 62}, { 14, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_RCT1_TEST_BUTTON_0, STR_TEST_RIDE_TIP ),
MakeWidget({296, 76}, { 14, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_RCT1_OPEN_BUTTON_0, STR_OPEN_RIDE_TIP ),
MakeWidget({ 3, 180}, {305, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_ARG_6_STRINGID ),
MakeWidget({297, 180}, { 11, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
{ WIDGETS_END },
};
// 0x009ADDA8
static rct_widget window_ride_vehicle_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget ({ 7, 50}, {302, 12}, WWT_DROPDOWN, WindowColour::Secondary ),
MakeWidget ({297, 51}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget ({ 7, 147}, {302, 43}, WWT_SCROLL, WindowColour::Secondary, STR_EMPTY ),
MakeSpinnerWidgets({ 7, 196}, {145, 12}, WWT_SPINNER, WindowColour::Secondary, STR_RIDE_VEHICLE_COUNT, STR_MAX_VEHICLES_TIP ),
MakeSpinnerWidgets({164, 196}, {145, 12}, WWT_SPINNER, WindowColour::Secondary, STR_1_CAR_PER_TRAIN, STR_MAX_CARS_PER_TRAIN_TIP),
MakeWidget ({ 7, 50}, {302, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ),
MakeWidget ({297, 51}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget ({ 7, 147}, {302, 43}, WindowWidgetType::Scroll, WindowColour::Secondary, STR_EMPTY ),
MakeSpinnerWidgets({ 7, 196}, {145, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_RIDE_VEHICLE_COUNT, STR_MAX_VEHICLES_TIP ),
MakeSpinnerWidgets({164, 196}, {145, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_1_CAR_PER_TRAIN, STR_MAX_CARS_PER_TRAIN_TIP),
{ WIDGETS_END },
};
// 0x009ADEFC
static rct_widget window_ride_operating_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeSpinnerWidgets({157, 61}, {152, 12}, WWT_SPINNER, WindowColour::Secondary, STR_ARG_18_STRINGID ), // NB: 3 widgets
MakeSpinnerWidgets({157, 75}, {152, 12}, WWT_SPINNER, WindowColour::Secondary, STR_LIFT_HILL_CHAIN_SPEED_VALUE ), // NB: 3 widgets
MakeWidget ({ 7, 109}, { 80, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_WAIT_FOR, STR_WAIT_FOR_PASSENGERS_BEFORE_DEPARTING_TIP),
MakeWidget ({ 7, 124}, {302, 12}, WWT_CHECKBOX, WindowColour::Secondary ),
MakeWidget ({ 7, 139}, {150, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MINIMUM_WAITING_TIME, STR_MINIMUM_LENGTH_BEFORE_DEPARTING_TIP ),
MakeSpinnerWidgets({157, 139}, {152, 12}, WWT_SPINNER, WindowColour::Secondary, STR_ARG_10_STRINGID ), // NB: 3 widgets
MakeWidget ({ 7, 154}, {150, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_MAXIMUM_WAITING_TIME, STR_MAXIMUM_LENGTH_BEFORE_DEPARTING_TIP ),
MakeSpinnerWidgets({157, 154}, {152, 12}, WWT_SPINNER, WindowColour::Secondary, STR_ARG_14_STRINGID ), // NB: 3 widgets
MakeWidget ({ 7, 169}, {302, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_SYNCHRONISE_WITH_ADJACENT_STATIONS, STR_SYNCHRONISE_WITH_ADJACENT_STATIONS_TIP ),
MakeWidget ({ 21, 61}, {129, 12}, WWT_LABEL, WindowColour::Secondary ),
MakeWidget ({ 21, 75}, {129, 12}, WWT_LABEL, WindowColour::Secondary, STR_LIFT_HILL_CHAIN_SPEED ),
MakeWidget ({ 7, 47}, {302, 12}, WWT_DROPDOWN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_OPERATING_MODE ),
MakeWidget ({297, 48}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_OPERATING_MODE ),
MakeWidget ({ 87, 109}, {222, 12}, WWT_DROPDOWN, WindowColour::Secondary ),
MakeWidget ({297, 110}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget ({ 21, 89}, {129, 12}, WWT_LABEL, WindowColour::Secondary, STR_NUMBER_OF_CIRCUITS, STR_NUMBER_OF_CIRCUITS_TIP ),
MakeSpinnerWidgets({157, 89}, {152, 12}, WWT_SPINNER, WindowColour::Secondary, STR_NUMBER_OF_CIRCUITS_VALUE ), // 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
MakeWidget ({ 7, 109}, { 80, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_WAIT_FOR, STR_WAIT_FOR_PASSENGERS_BEFORE_DEPARTING_TIP),
MakeWidget ({ 7, 124}, {302, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ),
MakeWidget ({ 7, 139}, {150, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MINIMUM_WAITING_TIME, STR_MINIMUM_LENGTH_BEFORE_DEPARTING_TIP ),
MakeSpinnerWidgets({157, 139}, {152, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_ARG_10_STRINGID ), // NB: 3 widgets
MakeWidget ({ 7, 154}, {150, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_MAXIMUM_WAITING_TIME, STR_MAXIMUM_LENGTH_BEFORE_DEPARTING_TIP ),
MakeSpinnerWidgets({157, 154}, {152, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_ARG_14_STRINGID ), // NB: 3 widgets
MakeWidget ({ 7, 169}, {302, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_SYNCHRONISE_WITH_ADJACENT_STATIONS, STR_SYNCHRONISE_WITH_ADJACENT_STATIONS_TIP ),
MakeWidget ({ 21, 61}, {129, 12}, WindowWidgetType::Label, WindowColour::Secondary ),
MakeWidget ({ 21, 75}, {129, 12}, WindowWidgetType::Label, WindowColour::Secondary, STR_LIFT_HILL_CHAIN_SPEED ),
MakeWidget ({ 7, 47}, {302, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_OPERATING_MODE ),
MakeWidget ({297, 48}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_OPERATING_MODE ),
MakeWidget ({ 87, 109}, {222, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ),
MakeWidget ({297, 110}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget ({ 21, 89}, {129, 12}, WindowWidgetType::Label, WindowColour::Secondary, STR_NUMBER_OF_CIRCUITS, STR_NUMBER_OF_CIRCUITS_TIP ),
MakeSpinnerWidgets({157, 89}, {152, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_NUMBER_OF_CIRCUITS_VALUE ), // NB: 3 widgets
{ WIDGETS_END },
};
// 0x009AE190
static rct_widget window_ride_maintenance_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget({107, 71}, {202, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_EMPTY, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE),
MakeWidget({297, 72}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_HOW_OFTEN_A_MECHANIC_SHOULD_CHECK_THIS_RIDE),
MakeWidget({289, 108}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_LOCATE_NEAREST_AVAILABLE_MECHANIC_TIP ),
MakeWidget({265, 108}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_CONSTRUCTION, STR_REFURBISH_RIDE_TIP ),
MakeWidget({241, 108}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_NO_ENTRY, STR_DEBUG_FORCE_BREAKDOWN_TIP ),
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({289, 108}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_LOCATE_NEAREST_AVAILABLE_MECHANIC_TIP ),
MakeWidget({265, 108}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_CONSTRUCTION, STR_REFURBISH_RIDE_TIP ),
MakeWidget({241, 108}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_NO_ENTRY, STR_DEBUG_FORCE_BREAKDOWN_TIP ),
{ WIDGETS_END },
};
// 0x009AE2A4
static rct_widget window_ride_colour_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget({ 3, 47}, { 68, 47}, WWT_SPINNER, WindowColour::Secondary ),
MakeWidget({ 74, 49}, {239, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_ARG_14_STRINGID ),
MakeWidget({301, 50}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_COLOUR_SCHEME_TO_CHANGE_TIP ),
MakeWidget({ 79, 74}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP ),
MakeWidget({ 99, 74}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP ),
MakeWidget({119, 74}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_SUPPORT_STRUCTURE_COLOUR_TIP ),
MakeWidget({ 74, 49}, {239, 12}, WWT_DROPDOWN, WindowColour::Secondary ),
MakeWidget({301, 50}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({289, 68}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_PAINTBRUSH, STR_PAINT_INDIVIDUAL_AREA_TIP ),
MakeWidget({245, 101}, { 68, 47}, WWT_SPINNER, WindowColour::Secondary ),
MakeWidget({103, 103}, {139, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_EMPTY ),
MakeWidget({230, 104}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_STYLE_OF_ENTRANCE_EXIT_STATION_TIP),
MakeWidget({ 3, 157}, { 68, 47}, WWT_SCROLL, WindowColour::Secondary, STR_EMPTY ),
MakeWidget({ 74, 157}, {239, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_ARG_6_STRINGID ),
MakeWidget({301, 158}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_VEHICLE_COLOUR_SCHEME_TIP ),
MakeWidget({ 74, 173}, {239, 12}, WWT_DROPDOWN, WindowColour::Secondary ),
MakeWidget({301, 174}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_VEHICLE_TO_MODIFY_TIP ),
MakeWidget({ 79, 190}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP ),
MakeWidget({ 99, 190}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP ),
MakeWidget({119, 190}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_2_TIP ),
MakeWidget({ 3, 47}, { 68, 47}, WindowWidgetType::Spinner, WindowColour::Secondary ),
MakeWidget({ 74, 49}, {239, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_ARG_14_STRINGID ),
MakeWidget({301, 50}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_COLOUR_SCHEME_TO_CHANGE_TIP ),
MakeWidget({ 79, 74}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP ),
MakeWidget({ 99, 74}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP ),
MakeWidget({119, 74}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_SUPPORT_STRUCTURE_COLOUR_TIP ),
MakeWidget({ 74, 49}, {239, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ),
MakeWidget({301, 50}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({289, 68}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PAINTBRUSH, STR_PAINT_INDIVIDUAL_AREA_TIP ),
MakeWidget({245, 101}, { 68, 47}, WindowWidgetType::Spinner, WindowColour::Secondary ),
MakeWidget({103, 103}, {139, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_EMPTY ),
MakeWidget({230, 104}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_STYLE_OF_ENTRANCE_EXIT_STATION_TIP),
MakeWidget({ 3, 157}, { 68, 47}, WindowWidgetType::Scroll, WindowColour::Secondary, STR_EMPTY ),
MakeWidget({ 74, 157}, {239, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary, STR_ARG_6_STRINGID ),
MakeWidget({301, 158}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_VEHICLE_COLOUR_SCHEME_TIP ),
MakeWidget({ 74, 173}, {239, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ),
MakeWidget({301, 174}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_VEHICLE_TO_MODIFY_TIP ),
MakeWidget({ 79, 190}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP ),
MakeWidget({ 99, 190}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP ),
MakeWidget({119, 190}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_2_TIP ),
{ WIDGETS_END },
};
// 0x009AE4C8
static rct_widget window_ride_music_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget({ 7, 47}, {302, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_PLAY_MUSIC, STR_SELECT_MUSIC_TIP ),
MakeWidget({ 7, 62}, {302, 12}, WWT_DROPDOWN, WindowColour::Secondary, STR_EMPTY ),
MakeWidget({297, 63}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_MUSIC_STYLE_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({297, 63}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_MUSIC_STYLE_TIP),
{ WIDGETS_END },
};
// 0x009AE5DC
static rct_widget window_ride_measurements_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget({288, 194}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_FLOPPY, STR_SAVE_TRACK_DESIGN),
MakeWidget({ 4, 127}, {154, 14}, WWT_BUTTON, WindowColour::Secondary, STR_SELECT_NEARBY_SCENERY ),
MakeWidget({158, 127}, {154, 14}, WWT_BUTTON, WindowColour::Secondary, STR_RESET_SELECTION ),
MakeWidget({ 4, 177}, {154, 14}, WWT_BUTTON, WindowColour::Secondary, STR_DESIGN_SAVE ),
MakeWidget({158, 177}, {154, 14}, WWT_BUTTON, WindowColour::Secondary, STR_DESIGN_CANCEL ),
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({158, 127}, {154, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_RESET_SELECTION ),
MakeWidget({ 4, 177}, {154, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_DESIGN_SAVE ),
MakeWidget({158, 177}, {154, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_DESIGN_CANCEL ),
{ WIDGETS_END },
};
// 0x009AE710
static rct_widget window_ride_graphs_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget({ 3, 46}, {306, 112}, WWT_SCROLL, WindowColour::Secondary, SCROLL_HORIZONTAL, STR_LOGGING_DATA_FROM_TIP ),
MakeWidget({ 3, 163}, { 73, 14}, WWT_BUTTON, WindowColour::Secondary, STR_RIDE_STATS_VELOCITY, STR_SHOW_GRAPH_OF_VELOCITY_AGAINST_TIME_TIP ),
MakeWidget({ 76, 163}, { 73, 14}, WWT_BUTTON, WindowColour::Secondary, STR_RIDE_STATS_ALTITUDE, STR_SHOW_GRAPH_OF_ALTITUDE_AGAINST_TIME_TIP ),
MakeWidget({149, 163}, { 73, 14}, WWT_BUTTON, WindowColour::Secondary, STR_RIDE_STATS_VERT_G, STR_SHOW_GRAPH_OF_VERTICAL_ACCELERATION_AGAINST_TIME_TIP),
MakeWidget({222, 163}, { 73, 14}, WWT_BUTTON, WindowColour::Secondary, STR_RIDE_STATS_LAT_G, STR_SHOW_GRAPH_OF_LATERAL_ACCELERATION_AGAINST_TIME_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({ 76, 163}, { 73, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_RIDE_STATS_ALTITUDE, STR_SHOW_GRAPH_OF_ALTITUDE_AGAINST_TIME_TIP ),
MakeWidget({149, 163}, { 73, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_RIDE_STATS_VERT_G, STR_SHOW_GRAPH_OF_VERTICAL_ACCELERATION_AGAINST_TIME_TIP),
MakeWidget({222, 163}, { 73, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_RIDE_STATS_LAT_G, STR_SHOW_GRAPH_OF_LATERAL_ACCELERATION_AGAINST_TIME_TIP ),
{ WIDGETS_END },
};
// 0x009AE844
static rct_widget window_ride_income_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget ({ 19, 50}, {126, 14}, WWT_LABEL, WindowColour::Secondary ),
MakeSpinnerWidgets({147, 50}, {162, 14}, WWT_SPINNER, WindowColour::Secondary, STR_ARG_6_CURRENCY2DP ), // NB: 3 widgets
MakeWidget ({ 5, 62}, {306, 13}, WWT_CHECKBOX, WindowColour::Secondary, STR_SAME_PRICE_THROUGHOUT_PARK, STR_SAME_PRICE_THROUGHOUT_PARK_TIP),
MakeWidget ({ 19, 94}, {126, 14}, WWT_LABEL, WindowColour::Secondary ),
MakeSpinnerWidgets({147, 94}, {162, 14}, WWT_SPINNER, WindowColour::Secondary, STR_RIDE_SECONDARY_PRICE_VALUE ), // NB: 3 widgets
MakeWidget ({ 5, 106}, {306, 13}, WWT_CHECKBOX, WindowColour::Secondary, STR_SAME_PRICE_THROUGHOUT_PARK, STR_SAME_PRICE_THROUGHOUT_PARK_TIP),
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
MakeWidget ({ 5, 62}, {306, 13}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_SAME_PRICE_THROUGHOUT_PARK, STR_SAME_PRICE_THROUGHOUT_PARK_TIP),
MakeWidget ({ 19, 94}, {126, 14}, WindowWidgetType::Label, WindowColour::Secondary ),
MakeSpinnerWidgets({147, 94}, {162, 14}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_RIDE_SECONDARY_PRICE_VALUE ), // NB: 3 widgets
MakeWidget ({ 5, 106}, {306, 13}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_SAME_PRICE_THROUGHOUT_PARK, STR_SAME_PRICE_THROUGHOUT_PARK_TIP),
{ WIDGETS_END },
};
// 0x009AE9C8
static rct_widget window_ride_customer_widgets[] = {
MAIN_RIDE_WIDGETS,
MakeWidget({289, 54}, {24, 24}, WWT_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}, WWT_FLATBTN, WindowColour::Secondary, SPR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_ON_THIS_RIDE_ATTRACTION_TIP ),
MakeWidget({289, 102}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_QUEUING_FOR_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, 102}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION, STR_SHOW_GUESTS_QUEUING_FOR_THIS_RIDE_ATTRACTION_TIP ),
{ WIDGETS_END },
};
@ -2414,38 +2414,39 @@ static void window_ride_main_invalidate(rct_window* w)
if (!gCheatsAllowArbitraryRideTypeChanges)
{
window_ride_main_widgets[WIDX_RIDE_TYPE].type = WWT_EMPTY;
window_ride_main_widgets[WIDX_RIDE_TYPE_DROPDOWN].type = WWT_EMPTY;
window_ride_main_widgets[WIDX_RIDE_TYPE].type = WindowWidgetType::Empty;
window_ride_main_widgets[WIDX_RIDE_TYPE_DROPDOWN].type = WindowWidgetType::Empty;
}
else
{
window_ride_main_widgets[WIDX_RIDE_TYPE].type = WWT_DROPDOWN;
window_ride_main_widgets[WIDX_RIDE_TYPE].type = WindowWidgetType::DropdownMenu;
window_ride_main_widgets[WIDX_RIDE_TYPE].text = RideTypeDescriptors[ride->type].Naming.Name;
window_ride_main_widgets[WIDX_RIDE_TYPE_DROPDOWN].type = WWT_BUTTON;
window_ride_main_widgets[WIDX_RIDE_TYPE_DROPDOWN].type = WindowWidgetType::Button;
}
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_10);
if (ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_RIDE)
{
window_ride_main_widgets[WIDX_OPEN].type = WWT_EMPTY;
window_ride_main_widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN;
window_ride_main_widgets[WIDX_SIMULATE_LIGHT].type = WWT_EMPTY;
window_ride_main_widgets[WIDX_OPEN].type = WindowWidgetType::Empty;
window_ride_main_widgets[WIDX_CLOSE_LIGHT].type = WindowWidgetType::ImgBtn;
window_ride_main_widgets[WIDX_SIMULATE_LIGHT].type = WindowWidgetType::Empty;
#ifdef __SIMULATE_IN_RIDE_WINDOW__
if (ride->SupportsStatus(RIDE_STATUS_SIMULATING))
window_ride_main_widgets[WIDX_SIMULATE_LIGHT].type = WWT_IMGBTN;
window_ride_main_widgets[WIDX_SIMULATE_LIGHT].type = WindowWidgetType::ImgBtn;
#endif
window_ride_main_widgets[WIDX_TEST_LIGHT].type = ride->SupportsStatus(RIDE_STATUS_TESTING) ? WWT_IMGBTN : WWT_EMPTY;
window_ride_main_widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN;
window_ride_main_widgets[WIDX_TEST_LIGHT].type = ride->SupportsStatus(RIDE_STATUS_TESTING) ? WindowWidgetType::ImgBtn
: WindowWidgetType::Empty;
window_ride_main_widgets[WIDX_OPEN_LIGHT].type = WindowWidgetType::ImgBtn;
height = 62;
if (window_ride_main_widgets[WIDX_SIMULATE_LIGHT].type != WWT_EMPTY)
if (window_ride_main_widgets[WIDX_SIMULATE_LIGHT].type != WindowWidgetType::Empty)
{
window_ride_main_widgets[WIDX_SIMULATE_LIGHT].top = height;
window_ride_main_widgets[WIDX_SIMULATE_LIGHT].bottom = height + 13;
height += 14;
}
if (window_ride_main_widgets[WIDX_TEST_LIGHT].type != WWT_EMPTY)
if (window_ride_main_widgets[WIDX_TEST_LIGHT].type != WindowWidgetType::Empty)
{
window_ride_main_widgets[WIDX_TEST_LIGHT].top = height;
window_ride_main_widgets[WIDX_TEST_LIGHT].bottom = height + 13;
@ -2457,11 +2458,11 @@ static void window_ride_main_invalidate(rct_window* w)
}
else
{
window_ride_main_widgets[WIDX_OPEN].type = WWT_FLATBTN;
window_ride_main_widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY;
window_ride_main_widgets[WIDX_SIMULATE_LIGHT].type = WWT_EMPTY;
window_ride_main_widgets[WIDX_TEST_LIGHT].type = WWT_EMPTY;
window_ride_main_widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY;
window_ride_main_widgets[WIDX_OPEN].type = WindowWidgetType::FlatBtn;
window_ride_main_widgets[WIDX_CLOSE_LIGHT].type = WindowWidgetType::Empty;
window_ride_main_widgets[WIDX_SIMULATE_LIGHT].type = WindowWidgetType::Empty;
window_ride_main_widgets[WIDX_TEST_LIGHT].type = WindowWidgetType::Empty;
window_ride_main_widgets[WIDX_OPEN_LIGHT].type = WindowWidgetType::Empty;
height = 46;
}
for (i = WIDX_CLOSE_LIGHT; i <= WIDX_OPEN_LIGHT; i++)
@ -2872,29 +2873,29 @@ static void window_ride_vehicle_invalidate(rct_window* w)
// Trains
if (rideEntry->cars_per_flat_ride > 1 || gCheatsDisableTrainLengthLimit)
{
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS].type = WWT_SPINNER;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WWT_BUTTON;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_DECREASE].type = WWT_BUTTON;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS].type = WindowWidgetType::Spinner;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WindowWidgetType::Button;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_DECREASE].type = WindowWidgetType::Button;
}
else
{
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS].type = WWT_EMPTY;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WWT_EMPTY;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_DECREASE].type = WWT_EMPTY;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS].type = WindowWidgetType::Empty;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WindowWidgetType::Empty;
window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_DECREASE].type = WindowWidgetType::Empty;
}
// Cars per train
if (rideEntry->zero_cars + 1 < rideEntry->max_cars_in_train || gCheatsDisableTrainLengthLimit)
{
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WWT_SPINNER;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WWT_BUTTON;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE].type = WWT_BUTTON;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WindowWidgetType::Spinner;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WindowWidgetType::Button;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE].type = WindowWidgetType::Button;
}
else
{
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WWT_EMPTY;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WWT_EMPTY;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE].type = WWT_EMPTY;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WindowWidgetType::Empty;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WindowWidgetType::Empty;
window_ride_vehicle_widgets[WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE].type = WindowWidgetType::Empty;
}
auto ft = Formatter::Common();
@ -3441,46 +3442,46 @@ static void window_ride_operating_invalidate(rct_window* w)
|| (hasAlternativeType
&& RideTypeDescriptors[RideTypeDescriptors[ride->type].AlternateType].SupportsTrackPiece(TRACK_LIFT_HILL)))
{
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WWT_LABEL;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED].type = WWT_SPINNER;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_INCREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_DECREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WindowWidgetType::Label;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED].type = WindowWidgetType::Spinner;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_INCREASE].type = WindowWidgetType::Button;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_DECREASE].type = WindowWidgetType::Button;
ft.Rewind();
ft.Increment(20);
ft.Add<uint16_t>(ride->lift_hill_speed);
}
else
{
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_INCREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_DECREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_LABEL].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_INCREASE].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_LIFT_HILL_SPEED_DECREASE].type = WindowWidgetType::Empty;
}
// Number of circuits
if (ride->CanHaveMultipleCircuits())
{
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL].type = WWT_LABEL;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS].type = WWT_SPINNER;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL].type = WindowWidgetType::Label;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS].type = WindowWidgetType::Spinner;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE].type = WindowWidgetType::Button;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE].type = WindowWidgetType::Button;
ft.Rewind();
ft.Increment(22);
ft.Add<uint16_t>(ride->num_circuits);
}
else
{
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_LABEL].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE].type = WindowWidgetType::Empty;
}
// Leave if another vehicle arrives at station
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION)
&& ride->num_vehicles > 1 && !ride->IsBlockSectioned())
{
window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].type = WWT_CHECKBOX;
window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].type = WindowWidgetType::Checkbox;
window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].tooltip
= STR_LEAVE_IF_ANOTHER_VEHICLE_ARRIVES_TIP;
window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].text = RideTypeDescriptors[ride->type]
@ -3491,13 +3492,13 @@ static void window_ride_operating_invalidate(rct_window* w)
}
else
{
window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX].type = WindowWidgetType::Empty;
}
// Synchronise with adjacent stations
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS))
{
window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].type = WWT_CHECKBOX;
window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].type = WindowWidgetType::Checkbox;
window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].image
= STR_SYNCHRONISE_WITH_ADJACENT_STATIONS;
window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].tooltip
@ -3505,7 +3506,7 @@ static void window_ride_operating_invalidate(rct_window* w)
}
else
{
window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX].type = WindowWidgetType::Empty;
}
// Mode
@ -3515,19 +3516,19 @@ static void window_ride_operating_invalidate(rct_window* w)
window_ride_operating_widgets[WIDX_LOAD].text = VehicleLoadNames[(ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK)];
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS))
{
window_ride_operating_widgets[WIDX_LOAD_CHECKBOX].type = WWT_CHECKBOX;
window_ride_operating_widgets[WIDX_LOAD].type = WWT_DROPDOWN;
window_ride_operating_widgets[WIDX_LOAD_DROPDOWN].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_LOAD_CHECKBOX].type = WindowWidgetType::Checkbox;
window_ride_operating_widgets[WIDX_LOAD].type = WindowWidgetType::DropdownMenu;
window_ride_operating_widgets[WIDX_LOAD_DROPDOWN].type = WindowWidgetType::Button;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_CHECKBOX].type = WWT_CHECKBOX;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH].type = WWT_SPINNER;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_INCREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_DECREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_CHECKBOX].type = WindowWidgetType::Checkbox;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH].type = WindowWidgetType::Spinner;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_INCREASE].type = WindowWidgetType::Button;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_DECREASE].type = WindowWidgetType::Button;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_CHECKBOX].type = WWT_CHECKBOX;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH].type = WWT_SPINNER;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_INCREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_DECREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_CHECKBOX].type = WindowWidgetType::Checkbox;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH].type = WindowWidgetType::Spinner;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_INCREASE].type = WindowWidgetType::Button;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_DECREASE].type = WindowWidgetType::Button;
ft.Rewind();
ft.Increment(10);
@ -3541,19 +3542,19 @@ static void window_ride_operating_invalidate(rct_window* w)
}
else
{
window_ride_operating_widgets[WIDX_LOAD_CHECKBOX].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_LOAD].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_LOAD_DROPDOWN].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_LOAD_CHECKBOX].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_LOAD].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_LOAD_DROPDOWN].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_CHECKBOX].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_INCREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_DECREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_CHECKBOX].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_INCREASE].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MINIMUM_LENGTH_DECREASE].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_CHECKBOX].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_INCREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_DECREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_CHECKBOX].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_INCREASE].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MAXIMUM_LENGTH_DECREASE].type = WindowWidgetType::Empty;
}
if (ride->depart_flags & RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES)
@ -3633,21 +3634,21 @@ static void window_ride_operating_invalidate(rct_window* w)
ft.Add<uint16_t>(ride->operation_option * 3);
}
window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].type = WWT_LABEL;
window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].type = WindowWidgetType::Label;
window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].text = caption;
window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].tooltip = tooltip;
window_ride_operating_widgets[WIDX_MODE_TWEAK].type = WWT_SPINNER;
window_ride_operating_widgets[WIDX_MODE_TWEAK].type = WindowWidgetType::Spinner;
window_ride_operating_widgets[WIDX_MODE_TWEAK].text = format;
window_ride_operating_widgets[WIDX_MODE_TWEAK_INCREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_MODE_TWEAK_DECREASE].type = WWT_BUTTON;
window_ride_operating_widgets[WIDX_MODE_TWEAK_INCREASE].type = WindowWidgetType::Button;
window_ride_operating_widgets[WIDX_MODE_TWEAK_DECREASE].type = WindowWidgetType::Button;
w->pressed_widgets &= ~(1 << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX);
}
else
{
window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MODE_TWEAK].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MODE_TWEAK_INCREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MODE_TWEAK_DECREASE].type = WWT_EMPTY;
window_ride_operating_widgets[WIDX_MODE_TWEAK_LABEL].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MODE_TWEAK].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MODE_TWEAK_INCREASE].type = WindowWidgetType::Empty;
window_ride_operating_widgets[WIDX_MODE_TWEAK_DECREASE].type = WindowWidgetType::Empty;
}
window_ride_anchor_border_widgets(w);
@ -4032,11 +4033,11 @@ static void window_ride_maintenance_invalidate(rct_window* w)
if (gConfigGeneral.debugging_tools && network_get_mode() == NETWORK_MODE_NONE)
{
window_ride_maintenance_widgets[WIDX_FORCE_BREAKDOWN].type = WWT_FLATBTN;
window_ride_maintenance_widgets[WIDX_FORCE_BREAKDOWN].type = WindowWidgetType::FlatBtn;
}
else
{
window_ride_maintenance_widgets[WIDX_FORCE_BREAKDOWN].type = WWT_EMPTY;
window_ride_maintenance_widgets[WIDX_FORCE_BREAKDOWN].type = WindowWidgetType::Empty;
}
if (RideTypeDescriptors[ride->type].AvailableBreakdowns == 0 || !(ride->lifecycle_flags & RIDE_LIFECYCLE_EVER_BEEN_OPENED))
@ -4584,62 +4585,62 @@ static void window_ride_colour_invalidate(rct_window* w)
// Maze style
if (ride->type == RIDE_TYPE_MAZE)
{
window_ride_colour_widgets[WIDX_MAZE_STYLE].type = WWT_DROPDOWN;
window_ride_colour_widgets[WIDX_MAZE_STYLE_DROPDOWN].type = WWT_BUTTON;
window_ride_colour_widgets[WIDX_MAZE_STYLE].type = WindowWidgetType::DropdownMenu;
window_ride_colour_widgets[WIDX_MAZE_STYLE_DROPDOWN].type = WindowWidgetType::Button;
window_ride_colour_widgets[WIDX_MAZE_STYLE].text = MazeOptions[trackColour.supports].text;
}
else
{
window_ride_colour_widgets[WIDX_MAZE_STYLE].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_MAZE_STYLE_DROPDOWN].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_MAZE_STYLE].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_MAZE_STYLE_DROPDOWN].type = WindowWidgetType::Empty;
}
// Track, multiple colour schemes
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR))
{
window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME].type = WWT_DROPDOWN;
window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME_DROPDOWN].type = WWT_BUTTON;
window_ride_colour_widgets[WIDX_PAINT_INDIVIDUAL_AREA].type = WWT_FLATBTN;
window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME].type = WindowWidgetType::DropdownMenu;
window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME_DROPDOWN].type = WindowWidgetType::Button;
window_ride_colour_widgets[WIDX_PAINT_INDIVIDUAL_AREA].type = WindowWidgetType::FlatBtn;
}
else
{
window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_PAINT_INDIVIDUAL_AREA].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_TRACK_COLOUR_SCHEME_DROPDOWN].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_PAINT_INDIVIDUAL_AREA].type = WindowWidgetType::Empty;
}
// Track main colour
if (window_ride_has_track_colour(ride, 0))
{
window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].type = WWT_COLOURBTN;
window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].type = WindowWidgetType::ColourBtn;
window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].image = window_ride_get_colour_button_image(trackColour.main);
}
else
{
window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_TRACK_MAIN_COLOUR].type = WindowWidgetType::Empty;
}
// Track additional colour
if (window_ride_has_track_colour(ride, 1))
{
window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WWT_COLOURBTN;
window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WindowWidgetType::ColourBtn;
window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].image = window_ride_get_colour_button_image(
trackColour.additional);
}
else
{
window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WindowWidgetType::Empty;
}
// Track supports colour
if (window_ride_has_track_colour(ride, 2) && ride->type != RIDE_TYPE_MAZE)
{
window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].type = WWT_COLOURBTN;
window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].type = WindowWidgetType::ColourBtn;
window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].image = window_ride_get_colour_button_image(trackColour.supports);
}
else
{
window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_TRACK_SUPPORT_COLOUR].type = WindowWidgetType::Empty;
}
// Track preview
@ -4647,16 +4648,16 @@ static void window_ride_colour_invalidate(rct_window* w)
ride->type,
RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL
| RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS))
window_ride_colour_widgets[WIDX_TRACK_PREVIEW].type = WWT_SPINNER;
window_ride_colour_widgets[WIDX_TRACK_PREVIEW].type = WindowWidgetType::Spinner;
else
window_ride_colour_widgets[WIDX_TRACK_PREVIEW].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_TRACK_PREVIEW].type = WindowWidgetType::Empty;
// Entrance style
if (RideTypeDescriptors[ride->type].Flags & RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT)
{
window_ride_colour_widgets[WIDX_ENTRANCE_PREVIEW].type = WWT_SPINNER;
window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].type = WWT_DROPDOWN;
window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WWT_BUTTON;
window_ride_colour_widgets[WIDX_ENTRANCE_PREVIEW].type = WindowWidgetType::Spinner;
window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].type = WindowWidgetType::DropdownMenu;
window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WindowWidgetType::Button;
auto stringId = STR_NONE;
auto stationObj = ride_get_station_object(ride);
@ -4668,9 +4669,9 @@ static void window_ride_colour_invalidate(rct_window* w)
}
else
{
window_ride_colour_widgets[WIDX_ENTRANCE_PREVIEW].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_ENTRANCE_PREVIEW].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_ENTRANCE_STYLE].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_ENTRANCE_STYLE_DROPDOWN].type = WindowWidgetType::Empty;
}
// Vehicle colours
@ -4683,8 +4684,8 @@ static void window_ride_colour_invalidate(rct_window* w)
vehicleColour = ride_get_vehicle_colour(ride, w->vehicleIndex);
window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW].type = WWT_SCROLL;
window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].type = WWT_COLOURBTN;
window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW].type = WindowWidgetType::Scroll;
window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].type = WindowWidgetType::ColourBtn;
window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].image = window_ride_get_colour_button_image(vehicleColour.main);
bool allowChangingAdditionalColour1 = false;
@ -4707,37 +4708,37 @@ static void window_ride_colour_invalidate(rct_window* w)
// Additional colours
if (allowChangingAdditionalColour1)
{
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_COLOURBTN;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WindowWidgetType::ColourBtn;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].image = window_ride_get_colour_button_image(
vehicleColour.additional_1);
if (allowChangingAdditionalColour2)
{
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_COLOURBTN;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WindowWidgetType::ColourBtn;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].image = window_ride_get_colour_button_image(
vehicleColour.additional_2);
}
else
{
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WindowWidgetType::Empty;
}
}
else
{
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WindowWidgetType::Empty;
}
// Vehicle colour scheme type
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_VEHICLE_IS_INTEGRAL)
&& (ride->num_cars_per_train | ride->num_vehicles) > 1)
{
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_DROPDOWN;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_BUTTON;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WindowWidgetType::DropdownMenu;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WindowWidgetType::Button;
}
else
{
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WindowWidgetType::Empty;
}
ft.Rewind();
ft.Increment(6);
@ -4749,28 +4750,28 @@ static void window_ride_colour_invalidate(rct_window* w)
// Vehicle index
if (vehicleColourSchemeType != 0)
{
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_DROPDOWN;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_BUTTON;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WindowWidgetType::DropdownMenu;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WindowWidgetType::Button;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].text = vehicleColourSchemeType == 1
? STR_RIDE_COLOUR_TRAIN_VALUE
: STR_RIDE_COLOUR_VEHICLE_VALUE;
}
else
{
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WindowWidgetType::Empty;
}
}
else
{
window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WWT_EMPTY;
window_ride_colour_widgets[WIDX_VEHICLE_PREVIEW].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_MAIN_COLOUR].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_1].type = WindowWidgetType::Empty;
window_ride_colour_widgets[WIDX_VEHICLE_ADDITIONAL_COLOUR_2].type = WindowWidgetType::Empty;
}
ft.Rewind();
@ -4800,7 +4801,7 @@ static void window_ride_colour_paint(rct_window* w, rct_drawpixelinfo* dpi)
// Track / shop item preview
widget = &window_ride_colour_widgets[WIDX_TRACK_PREVIEW];
if (widget->type != WWT_EMPTY)
if (widget->type != WindowWidgetType::Empty)
gfx_fill_rect(
dpi,
{ { w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 } },
@ -4855,7 +4856,7 @@ static void window_ride_colour_paint(rct_window* w, rct_drawpixelinfo* dpi)
// Entrance preview
trackColour = ride_get_track_colour(ride, 0);
widget = &w->widgets[WIDX_ENTRANCE_PREVIEW];
if (widget->type != WWT_EMPTY)
if (widget->type != WindowWidgetType::Empty)
{
if (clip_drawpixelinfo(
&clippedDpi, dpi, w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 }, widget->width(),
@ -5462,22 +5463,22 @@ static void window_ride_measurements_invalidate(rct_window* w)
ride->FormatNameTo(ft);
window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].tooltip = STR_SAVE_TRACK_DESIGN_NOT_POSSIBLE;
window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WWT_EMPTY;
window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WindowWidgetType::Empty;
if (gTrackDesignSaveMode && gTrackDesignSaveRideIndex == w->number)
{
window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WWT_BUTTON;
window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WWT_BUTTON;
window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type = WWT_BUTTON;
window_ride_measurements_widgets[WIDX_CANCEL_DESIGN].type = WWT_BUTTON;
window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WindowWidgetType::Button;
window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WindowWidgetType::Button;
window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type = WindowWidgetType::Button;
window_ride_measurements_widgets[WIDX_CANCEL_DESIGN].type = WindowWidgetType::Button;
}
else
{
window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WWT_EMPTY;
window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WWT_EMPTY;
window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type = WWT_EMPTY;
window_ride_measurements_widgets[WIDX_CANCEL_DESIGN].type = WWT_EMPTY;
window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WindowWidgetType::Empty;
window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WindowWidgetType::Empty;
window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type = WindowWidgetType::Empty;
window_ride_measurements_widgets[WIDX_CANCEL_DESIGN].type = WindowWidgetType::Empty;
window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WWT_FLATBTN;
window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WindowWidgetType::FlatBtn;
w->disabled_widgets |= (1 << WIDX_SAVE_TRACK_DESIGN);
if (ride->lifecycle_flags & RIDE_LIFECYCLE_TESTED)
{
@ -5505,7 +5506,7 @@ static void window_ride_measurements_paint(rct_window* w, rct_drawpixelinfo* dpi
WindowDrawWidgets(w, dpi);
window_ride_draw_tab_images(dpi, w);
if (window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type == WWT_BUTTON)
if (window_ride_measurements_widgets[WIDX_SAVE_DESIGN].type == WindowWidgetType::Button)
{
rct_widget* widget = &window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND];
@ -5943,13 +5944,13 @@ static void window_ride_graphs_invalidate(rct_window* w)
// Hide graph buttons that are not applicable
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_G_FORCES))
{
window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].type = WWT_BUTTON;
window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].type = WWT_BUTTON;
window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].type = WindowWidgetType::Button;
window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].type = WindowWidgetType::Button;
}
else
{
window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].type = WWT_EMPTY;
window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].type = WWT_EMPTY;
window_ride_graphs_widgets[WIDX_GRAPH_VERTICAL].type = WindowWidgetType::Empty;
window_ride_graphs_widgets[WIDX_GRAPH_LATERAL].type = WindowWidgetType::Empty;
}
// Anchor graph widget
@ -6511,7 +6512,7 @@ static void window_ride_income_invalidate(rct_window* w)
window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].text = STR_RIDE_INCOME_ADMISSION_PRICE;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].text = STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO;
window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_EMPTY;
window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WindowWidgetType::Empty;
window_ride_income_widgets[WIDX_PRIMARY_PRICE].text = STR_ARG_6_CURRENCY2DP;
money16 ridePrimaryPrice = ride_get_price(ride);
@ -6524,7 +6525,7 @@ static void window_ride_income_invalidate(rct_window* w)
uint8_t primaryItem = SHOP_ITEM_ADMISSION;
if (ride->type == RIDE_TYPE_TOILETS || ((primaryItem = rideEntry->shop_item[0]) != SHOP_ITEM_NONE))
{
window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_CHECKBOX;
window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WindowWidgetType::Checkbox;
if (shop_item_has_common_price(primaryItem))
w->pressed_widgets |= (1 << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK);
@ -6545,11 +6546,11 @@ static void window_ride_income_invalidate(rct_window* w)
if (secondaryItem == SHOP_ITEM_NONE)
{
// Hide secondary item widgets
window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].type = WWT_EMPTY;
window_ride_income_widgets[WIDX_SECONDARY_PRICE].type = WWT_EMPTY;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_INCREASE].type = WWT_EMPTY;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_DECREASE].type = WWT_EMPTY;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_EMPTY;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].type = WindowWidgetType::Empty;
window_ride_income_widgets[WIDX_SECONDARY_PRICE].type = WindowWidgetType::Empty;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_INCREASE].type = WindowWidgetType::Empty;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_DECREASE].type = WindowWidgetType::Empty;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK].type = WindowWidgetType::Empty;
}
else
{
@ -6559,11 +6560,11 @@ static void window_ride_income_invalidate(rct_window* w)
w->pressed_widgets |= (1 << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK);
// Show widgets
window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].type = WWT_LABEL;
window_ride_income_widgets[WIDX_SECONDARY_PRICE].type = WWT_SPINNER;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_INCREASE].type = WWT_BUTTON;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_DECREASE].type = WWT_BUTTON;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK].type = WWT_CHECKBOX;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].type = WindowWidgetType::Label;
window_ride_income_widgets[WIDX_SECONDARY_PRICE].type = WindowWidgetType::Spinner;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_INCREASE].type = WindowWidgetType::Button;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_DECREASE].type = WindowWidgetType::Button;
window_ride_income_widgets[WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK].type = WindowWidgetType::Checkbox;
// Set secondary item price
window_ride_income_widgets[WIDX_SECONDARY_PRICE].text = STR_RIDE_SECONDARY_PRICE_VALUE;
@ -6771,16 +6772,16 @@ static void window_ride_customer_invalidate(rct_window* w)
auto ft = Formatter::Common();
ride->FormatNameTo(ft);
window_ride_customer_widgets[WIDX_SHOW_GUESTS_THOUGHTS].type = WWT_FLATBTN;
window_ride_customer_widgets[WIDX_SHOW_GUESTS_THOUGHTS].type = WindowWidgetType::FlatBtn;
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP))
{
window_ride_customer_widgets[WIDX_SHOW_GUESTS_ON_RIDE].type = WWT_EMPTY;
window_ride_customer_widgets[WIDX_SHOW_GUESTS_QUEUING].type = WWT_EMPTY;
window_ride_customer_widgets[WIDX_SHOW_GUESTS_ON_RIDE].type = WindowWidgetType::Empty;
window_ride_customer_widgets[WIDX_SHOW_GUESTS_QUEUING].type = WindowWidgetType::Empty;
}
else
{
window_ride_customer_widgets[WIDX_SHOW_GUESTS_ON_RIDE].type = WWT_FLATBTN;
window_ride_customer_widgets[WIDX_SHOW_GUESTS_QUEUING].type = WWT_FLATBTN;
window_ride_customer_widgets[WIDX_SHOW_GUESTS_ON_RIDE].type = WindowWidgetType::FlatBtn;
window_ride_customer_widgets[WIDX_SHOW_GUESTS_QUEUING].type = WindowWidgetType::FlatBtn;
}
window_ride_anchor_border_widgets(w);

File diff suppressed because it is too large Load Diff

View File

@ -57,18 +57,18 @@ enum WINDOW_RIDE_LIST_WIDGET_IDX {
static rct_widget window_ride_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {340, 197}, WWT_RESIZE, WindowColour::Secondary ), // tab page background
MakeWidget({315, 60}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_TOGGLE_OPEN_CLOSE, STR_OPEN_OR_CLOSE_ALL_RIDES ), // open / close all toggle
MakeWidget({150, 46}, {124, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // current information type
MakeWidget({262, 47}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_RIDE_LIST_INFORMATION_TYPE_TIP), // information type dropdown button
MakeWidget({280, 46}, { 54, 12}, WWT_BUTTON, WindowColour::Secondary, STR_SORT, STR_RIDE_LIST_SORT_TIP ), // sort button
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({150, 46}, {124, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // current information type
MakeWidget({262, 47}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_RIDE_LIST_INFORMATION_TYPE_TIP), // information type dropdown button
MakeWidget({280, 46}, { 54, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_SORT, STR_RIDE_LIST_SORT_TIP ), // sort button
MakeTab ({ 3, 17}, STR_LIST_RIDES_TIP ), // tab 1
MakeTab ({ 34, 17}, STR_LIST_SHOPS_AND_STALLS_TIP ), // tab 2
MakeTab ({ 65, 17}, STR_LIST_KIOSKS_AND_FACILITIES_TIP), // tab 3
MakeWidget({ 3, 60}, {334, 177}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ), // list
MakeWidget({320, 62}, { 14, 14}, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_RCT1_CLOSE_BUTTON_0 ),
MakeWidget({320, 76}, { 14, 14}, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_RCT1_OPEN_BUTTON_0 ),
MakeWidget({315, 90}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_DEMOLISH, STR_QUICK_DEMOLISH_RIDE ),
MakeWidget({ 3, 60}, {334, 177}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ), // list
MakeWidget({320, 62}, { 14, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_RCT1_CLOSE_BUTTON_0 ),
MakeWidget({320, 76}, { 14, 14}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_RCT1_OPEN_BUTTON_0 ),
MakeWidget({315, 90}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_DEMOLISH, STR_QUICK_DEMOLISH_RIDE ),
{ WIDGETS_END },
};
@ -514,9 +514,9 @@ static void window_ride_list_invalidate(rct_window* w)
if (ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_RIDE)
{
w->widgets[WIDX_OPEN_CLOSE_ALL].type = WWT_EMPTY;
w->widgets[WIDX_CLOSE_LIGHT].type = WWT_IMGBTN;
w->widgets[WIDX_OPEN_LIGHT].type = WWT_IMGBTN;
w->widgets[WIDX_OPEN_CLOSE_ALL].type = WindowWidgetType::Empty;
w->widgets[WIDX_CLOSE_LIGHT].type = WindowWidgetType::ImgBtn;
w->widgets[WIDX_OPEN_LIGHT].type = WindowWidgetType::ImgBtn;
const auto& rideManager = GetRideManager();
auto allClosed = true;
@ -540,13 +540,14 @@ static void window_ride_list_invalidate(rct_window* w)
}
else
{
w->widgets[WIDX_OPEN_CLOSE_ALL].type = WWT_FLATBTN;
w->widgets[WIDX_CLOSE_LIGHT].type = WWT_EMPTY;
w->widgets[WIDX_OPEN_LIGHT].type = WWT_EMPTY;
w->widgets[WIDX_OPEN_CLOSE_ALL].type = WindowWidgetType::FlatBtn;
w->widgets[WIDX_CLOSE_LIGHT].type = WindowWidgetType::Empty;
w->widgets[WIDX_OPEN_LIGHT].type = WindowWidgetType::Empty;
w->widgets[WIDX_QUICK_DEMOLISH].top = w->widgets[WIDX_OPEN_CLOSE_ALL].bottom + 3;
}
w->widgets[WIDX_QUICK_DEMOLISH].bottom = w->widgets[WIDX_QUICK_DEMOLISH].top + 23;
w->widgets[WIDX_QUICK_DEMOLISH].type = network_get_mode() != NETWORK_MODE_CLIENT ? WWT_FLATBTN : WWT_EMPTY;
w->widgets[WIDX_QUICK_DEMOLISH].type = network_get_mode() != NETWORK_MODE_CLIENT ? WindowWidgetType::FlatBtn
: WindowWidgetType::Empty;
}
/**

View File

@ -38,10 +38,10 @@ enum WINDOW_SAVE_PROMPT_WIDGET_IDX {
static rct_widget window_save_prompt_widgets[] = {
WINDOW_SHIM_WHITE(STR_NONE, WW_SAVE, WH_SAVE),
MakeWidget({ 2, 19}, {256, 12}, WWT_LABEL_CENTRED, WindowColour::Primary, STR_EMPTY ), // question/label
MakeWidget({ 8, 35}, { 78, 14}, WWT_BUTTON, WindowColour::Primary, STR_SAVE_PROMPT_SAVE ), // save
MakeWidget({ 91, 35}, { 78, 14}, WWT_BUTTON, WindowColour::Primary, STR_SAVE_PROMPT_DONT_SAVE), // don't save
MakeWidget({174, 35}, { 78, 14}, WWT_BUTTON, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL ), // cancel
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({ 91, 35}, { 78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_SAVE_PROMPT_DONT_SAVE), // don't save
MakeWidget({174, 35}, { 78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL ), // cancel
{ WIDGETS_END },
};
@ -55,8 +55,8 @@ enum WINDOW_QUIT_PROMPT_WIDGET_IDX {
static rct_widget window_quit_prompt_widgets[] = {
WINDOW_SHIM_WHITE(STR_QUIT_GAME_PROMPT_TITLE, WW_QUIT, WH_QUIT),
MakeWidget({ 8, 19}, {78, 14}, WWT_BUTTON, WindowColour::Primary, STR_OK ), // ok
MakeWidget({91, 19}, {78, 14}, WWT_BUTTON, WindowColour::Primary, STR_CANCEL), // cancel
MakeWidget({ 8, 19}, {78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_OK ), // ok
MakeWidget({91, 19}, {78, 14}, WindowWidgetType::Button, WindowColour::Primary, STR_CANCEL), // cancel
{ WIDGETS_END },
};

View File

@ -74,16 +74,16 @@ enum {
static rct_widget window_scenarioselect_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ 0, 50}, {734, 284}, WWT_IMGBTN, WindowColour::Secondary), // tab content panel
MakeRemapWidget({ 3, 17}, { 91, 34}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), // tab 1
MakeRemapWidget({ 94, 17}, { 91, 34}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), // tab 2
MakeRemapWidget({185, 17}, { 91, 34}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), // tab 3
MakeRemapWidget({276, 17}, { 91, 34}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), // tab 4
MakeRemapWidget({367, 17}, { 91, 34}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), // tab 5
MakeRemapWidget({458, 17}, {136, 34}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), // tab 6
MakeRemapWidget({594, 17}, { 91, 34}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), // tab 7
MakeRemapWidget({685, 17}, { 91, 34}, WWT_TAB, WindowColour::Secondary, SPR_TAB_LARGE), // tab 8
MakeWidget ({ 3, 54}, {553, 276}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL), // level list
MakeWidget ({ 0, 50}, {734, 284}, WindowWidgetType::ImgBtn, WindowColour::Secondary), // tab content panel
MakeRemapWidget({ 3, 17}, { 91, 34}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), // tab 1
MakeRemapWidget({ 94, 17}, { 91, 34}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), // tab 2
MakeRemapWidget({185, 17}, { 91, 34}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), // tab 3
MakeRemapWidget({276, 17}, { 91, 34}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), // tab 4
MakeRemapWidget({367, 17}, { 91, 34}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), // tab 5
MakeRemapWidget({458, 17}, {136, 34}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), // tab 6
MakeRemapWidget({594, 17}, { 91, 34}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), // tab 7
MakeRemapWidget({685, 17}, { 91, 34}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_LARGE), // tab 8
MakeWidget ({ 3, 54}, {553, 276}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL), // level list
{ WIDGETS_END },
};
@ -229,11 +229,11 @@ static void window_scenarioselect_init_tabs(rct_window* w)
rct_widget* widget = &w->widgets[i + WIDX_TAB1];
if (!(showPages & (1 << i)))
{
widget->type = WWT_EMPTY;
widget->type = WindowWidgetType::Empty;
continue;
}
widget->type = WWT_TAB;
widget->type = WindowWidgetType::Tab;
widget->left = x;
widget->right = x + 90;
x += 91;
@ -431,7 +431,7 @@ static void window_scenarioselect_paint(rct_window* w, rct_drawpixelinfo* dpi)
for (uint32_t i = 0; i < std::size(ScenarioOriginStringIds); i++)
{
rct_widget* widget = &window_scenarioselect_widgets[WIDX_TAB1 + i];
if (widget->type == WWT_EMPTY)
if (widget->type == WindowWidgetType::Empty)
continue;
auto ft = Formatter();

View File

@ -142,7 +142,7 @@ validate_global_widx(WC_SCENERY, WIDX_SCENERY_EYEDROPPER_BUTTON);
static rct_widget window_scenery_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WINDOW_SCENERY_WIDTH, WINDOW_SCENERY_HEIGHT),
MakeWidget ({ 0, 43}, {634, 99}, WWT_RESIZE, WindowColour::Secondary ), // 8 0x009DE2C8
MakeWidget ({ 0, 43}, {634, 99}, WindowWidgetType::Resize, WindowColour::Secondary ), // 8 0x009DE2C8
MakeTab ({ 3, 17}, STR_STRING_DEFINED_TOOLTIP ), // 10 0x009DE2D8
MakeTab ({ 34, 17}, STR_STRING_DEFINED_TOOLTIP ), // 20 0x009DE2E8
MakeTab ({ 65, 17}, STR_STRING_DEFINED_TOOLTIP ), // 40 0x009DE2F8
@ -162,15 +162,15 @@ static rct_widget window_scenery_widgets[] = {
MakeTab ({468, 17}, STR_STRING_DEFINED_TOOLTIP ), // 100000 0x009DE3D8
MakeTab ({468, 17}, STR_STRING_DEFINED_TOOLTIP ), // 200000 0x009DE3E8
MakeTab ({468, 17}, STR_STRING_DEFINED_TOOLTIP ), // 400000 0x009DE3F8
MakeRemapWidget({468, 17}, { 31, 27}, WWT_TAB, WindowColour::Secondary, SPR_TAB_QUESTION, STR_STRING_DEFINED_TOOLTIP ), // 800000 0x009DE408
MakeWidget ({ 2, 47}, {607, 80}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ), // 1000000 0x009DE418
MakeWidget ({609, 44}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_ROTATE_ARROW, STR_ROTATE_OBJECTS_90 ), // 2000000 0x009DE428
MakeWidget ({609, 68}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_PAINTBRUSH, STR_SCENERY_PAINTBRUSH_TIP ), // 4000000 0x009DE438
MakeWidget ({615, 93}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_COLOUR ), // 8000000 0x009DE448
MakeWidget ({615, 105}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_SECONDARY_COLOUR), // 10000000 0x009DE458
MakeWidget ({615, 117}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_TERNARY_COLOUR ), // 20000000 0x009DE468
MakeWidget ({609, 130}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_G2_EYEDROPPER, STR_SCENERY_EYEDROPPER_TIP ), // 40000000 0x009DE478
MakeWidget ({609, 154}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_SCENERY_CLUSTER, STR_SCENERY_CLUSTER_TIP ), // 40000000 0x009DE478
MakeRemapWidget({468, 17}, { 31, 27}, WindowWidgetType::Tab, WindowColour::Secondary, SPR_TAB_QUESTION, STR_STRING_DEFINED_TOOLTIP ), // 800000 0x009DE408
MakeWidget ({ 2, 47}, {607, 80}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ), // 1000000 0x009DE418
MakeWidget ({609, 44}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_ROTATE_ARROW, STR_ROTATE_OBJECTS_90 ), // 2000000 0x009DE428
MakeWidget ({609, 68}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PAINTBRUSH, STR_SCENERY_PAINTBRUSH_TIP ), // 4000000 0x009DE438
MakeWidget ({615, 93}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_COLOUR ), // 8000000 0x009DE448
MakeWidget ({615, 105}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_SECONDARY_COLOUR), // 10000000 0x009DE458
MakeWidget ({615, 117}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_TERNARY_COLOUR ), // 20000000 0x009DE468
MakeWidget ({609, 130}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_EYEDROPPER, STR_SCENERY_EYEDROPPER_TIP ), // 40000000 0x009DE478
MakeWidget ({609, 154}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_SCENERY_CLUSTER, STR_SCENERY_CLUSTER_TIP ), // 40000000 0x009DE478
{ WIDGETS_END },
};
// clang-format on
@ -315,7 +315,7 @@ void window_scenery_init()
}
for (rct_widgetindex widgetIndex = WIDX_SCENERY_TAB_1; widgetIndex < WIDX_SCENERY_LIST; widgetIndex++)
window_scenery_widgets[widgetIndex].type = WWT_EMPTY;
window_scenery_widgets[widgetIndex].type = WindowWidgetType::Empty;
uint8_t tabIndexes[SCENERY_WINDOW_TABS];
uint8_t order[SCENERY_WINDOW_TABS];
@ -372,7 +372,7 @@ void window_scenery_init()
continue;
}
tabWidget->type = WWT_TAB;
tabWidget->type = WindowWidgetType::Tab;
tabWidget->left = left;
tabWidget->right = left + 0x1E;
left += 0x1F;
@ -413,7 +413,7 @@ void window_scenery_set_default_placement_configuration()
for (int32_t i = 0; i < 16; i++)
{
rct_widget* tabWidget = &window_scenery_widgets[WIDX_SCENERY_TAB_1 + i];
if (tabWidget->type != WWT_EMPTY)
if (tabWidget->type != WindowWidgetType::Empty)
{
gWindowSceneryActiveTabIndex = i;
return;
@ -971,13 +971,13 @@ void window_scenery_invalidate(rct_window* w)
if (gWindowSceneryScatterEnabled)
w->pressed_widgets |= (1ULL << WIDX_SCENERY_BUILD_CLUSTER_BUTTON);
window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_EMPTY;
window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].type = WWT_EMPTY;
window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].type = WWT_EMPTY;
window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WindowWidgetType::Empty;
window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].type = WindowWidgetType::Empty;
window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].type = WindowWidgetType::Empty;
if (!(gWindowSceneryPaintEnabled & 1))
{
window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].type = WWT_FLATBTN;
window_scenery_widgets[WIDX_SCENERY_EYEDROPPER_BUTTON].type = WindowWidgetType::FlatBtn;
}
ScenerySelection tabSelectedScenery = gWindowSceneryTabSelections[tabIndex];
@ -987,18 +987,18 @@ void window_scenery_invalidate(rct_window* w)
{
if (!(gWindowSceneryPaintEnabled & 1))
{
window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].type = WWT_FLATBTN;
window_scenery_widgets[WIDX_SCENERY_BUILD_CLUSTER_BUTTON].type = WindowWidgetType::FlatBtn;
}
rct_scenery_entry* sceneryEntry = get_small_scenery_entry(tabSelectedScenery.EntryIndex);
if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_ROTATABLE))
{
window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_FLATBTN;
window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WindowWidgetType::FlatBtn;
}
}
else if (tabSelectedScenery.SceneryType >= SCENERY_TYPE_LARGE)
{
window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_FLATBTN;
window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WindowWidgetType::FlatBtn;
}
}
@ -1010,16 +1010,16 @@ void window_scenery_invalidate(rct_window* w)
window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].image = SPRITE_ID_PALETTE_COLOUR_1(gWindowSceneryTertiaryColour)
| IMAGE_TYPE_TRANSPARENT | SPR_PALETTE_BTN;
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_EMPTY;
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_EMPTY;
window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_EMPTY;
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WindowWidgetType::Empty;
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WindowWidgetType::Empty;
window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WindowWidgetType::Empty;
if (gWindowSceneryPaintEnabled & 1)
{ // repaint coloured scenery tool is on
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WWT_EMPTY;
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
window_scenery_widgets[WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type = WindowWidgetType::Empty;
}
else if (!tabSelectedScenery.IsUndefined())
{
@ -1030,7 +1030,7 @@ void window_scenery_invalidate(rct_window* w)
sceneryEntry = get_banner_entry(tabSelectedScenery.EntryIndex);
if (sceneryEntry->banner.flags & BANNER_ENTRY_FLAG_HAS_PRIMARY_COLOUR)
{
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
}
}
else if (tabSelectedScenery.SceneryType == SCENERY_TYPE_LARGE)
@ -1038,25 +1038,25 @@ void window_scenery_invalidate(rct_window* w)
sceneryEntry = get_large_scenery_entry(tabSelectedScenery.EntryIndex);
if (sceneryEntry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR)
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
if (sceneryEntry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_SECONDARY_COLOUR)
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
}
else if (tabSelectedScenery.SceneryType == SCENERY_TYPE_WALL)
{
sceneryEntry = get_wall_entry(tabSelectedScenery.EntryIndex);
if (sceneryEntry->wall.flags & (WALL_SCENERY_HAS_PRIMARY_COLOUR | WALL_SCENERY_HAS_GLASS))
{
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR)
{
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
if (sceneryEntry->wall.flags2 & WALL_SCENERY_2_NO_SELECT_PRIMARY_COLOUR)
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_EMPTY;
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WindowWidgetType::Empty;
if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_TERNARY_COLOUR)
window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_TERTIARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
}
}
}
@ -1067,10 +1067,10 @@ void window_scenery_invalidate(rct_window* w)
if (scenery_small_entry_has_flag(
sceneryEntry, SMALL_SCENERY_FLAG_HAS_PRIMARY_COLOUR | SMALL_SCENERY_FLAG_HAS_GLASS))
{
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_PRIMARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_HAS_SECONDARY_COLOUR))
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WWT_COLOURBTN;
window_scenery_widgets[WIDX_SCENERY_SECONDARY_COLOUR_BUTTON].type = WindowWidgetType::ColourBtn;
}
}
}

View File

@ -35,18 +35,18 @@ ScatterToolDensity gWindowSceneryScatterDensity;
// clang-format off
static rct_widget window_scenery_scatter_widgets[] = {
MakeWidget ({ 0, 0}, {86, 100}, WWT_FRAME, WindowColour::Secondary ), // panel / background
MakeWidget ({ 1, 1}, {84, 14}, WWT_CAPTION, WindowColour::Primary , STR_SCENERY_SCATTER, STR_WINDOW_TITLE_TIP ), // title bar
MakeWidget ({73, 2}, {11, 12}, WWT_CLOSEBOX, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP ), // close x button
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 ({73, 2}, {11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP ), // close x button
MakeWidget ({20, 17}, {44, 32}, WWT_IMGBTN, WindowColour::Secondary, SPR_LAND_TOOL_SIZE_0 ), // preview box
MakeRemapWidget({21, 18}, {16, 16}, WWT_TRNBTN, WindowColour::Secondary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP ), // decrement size
MakeRemapWidget({47, 32}, {16, 16}, WWT_TRNBTN, WindowColour::Secondary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP ), // increment size
MakeWidget ({20, 17}, {44, 32}, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_LAND_TOOL_SIZE_0 ), // preview box
MakeRemapWidget({21, 18}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Secondary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP ), // decrement size
MakeRemapWidget({47, 32}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Secondary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP ), // increment size
MakeWidget ({ 3, 55}, {80, 42}, WWT_GROUPBOX, WindowColour::Secondary, STR_SCATTER_TOOL_DENSITY ),
MakeRemapWidget({ 7, 68}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_G2_SCENERY_SCATTER_LOW, STR_SCATTER_TOOL_DENSITY_LOW ), // low amount
MakeRemapWidget({31, 68}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_G2_SCENERY_SCATTER_MEDIUM, STR_SCATTER_TOOL_DENSITY_MEDIUM), // medium amount
MakeRemapWidget({55, 68}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_G2_SCENERY_SCATTER_HIGH, STR_SCATTER_TOOL_DENSITY_HIGH ), // high amount
MakeWidget ({ 3, 55}, {80, 42}, WindowWidgetType::Groupbox, WindowColour::Secondary, STR_SCATTER_TOOL_DENSITY ),
MakeRemapWidget({ 7, 68}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_SCENERY_SCATTER_LOW, STR_SCATTER_TOOL_DENSITY_LOW ), // low amount
MakeRemapWidget({31, 68}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_SCENERY_SCATTER_MEDIUM, STR_SCATTER_TOOL_DENSITY_MEDIUM), // medium amount
MakeRemapWidget({55, 68}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_G2_SCENERY_SCATTER_HIGH, STR_SCATTER_TOOL_DENSITY_HIGH ), // high amount
{ WIDGETS_END },
};
// clang-format on

View File

@ -58,14 +58,14 @@ enum {
};
static rct_widget window_server_list_widgets[] = {
MakeWidget({ 0, 0}, {341, 91}, WWT_FRAME, WindowColour::Primary ), // panel / background
MakeWidget({ 1, 1}, {338, 14}, WWT_CAPTION, WindowColour::Primary , STR_SERVER_LIST, STR_WINDOW_TITLE_TIP), // title bar
MakeWidget({327, 2}, { 11, 12}, WWT_CLOSEBOX, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), // close x button
MakeWidget({100, 20}, {245, 12}, WWT_TEXT_BOX, WindowColour::Secondary ), // player name text box
MakeWidget({ 6, 37}, {332, 14}, WWT_SCROLL, WindowColour::Secondary ), // server list
MakeWidget({ 6, 53}, {101, 14}, WWT_BUTTON, WindowColour::Secondary, STR_FETCH_SERVERS ), // fetch servers button
MakeWidget({112, 53}, {101, 14}, WWT_BUTTON, WindowColour::Secondary, STR_ADD_SERVER ), // add server button
MakeWidget({218, 53}, {101, 14}, WWT_BUTTON, WindowColour::Secondary, STR_START_SERVER ), // start server button
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({327, 2}, { 11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP), // close x button
MakeWidget({100, 20}, {245, 12}, WindowWidgetType::TextBox, WindowColour::Secondary ), // player name text box
MakeWidget({ 6, 37}, {332, 14}, WindowWidgetType::Scroll, WindowColour::Secondary ), // server list
MakeWidget({ 6, 53}, {101, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_FETCH_SERVERS ), // fetch servers button
MakeWidget({112, 53}, {101, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_ADD_SERVER ), // add server button
MakeWidget({218, 53}, {101, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_START_SERVER ), // start server button
{ WIDGETS_END },
};

View File

@ -50,18 +50,18 @@ static constexpr const int32_t WW = 300;
static constexpr const int32_t WH = 154;
static rct_widget window_server_start_widgets[] = {
MakeWidget ({ 0, 0}, { WW, WH}, WWT_FRAME, WindowColour::Primary ), // panel / background
MakeWidget ({ 1, 1}, {298, 14}, WWT_CAPTION, WindowColour::Primary , STR_START_SERVER, STR_WINDOW_TITLE_TIP ), // title bar
MakeWidget ({WW-13, 2}, { 11, 12}, WWT_CLOSEBOX, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP ), // close x button
MakeWidget ({ 120, 20}, {173, 13}, WWT_TEXT_BOX, WindowColour::Secondary ), // port text box
MakeWidget ({ 120, 36}, {173, 13}, WWT_TEXT_BOX, WindowColour::Secondary ), // name text box
MakeWidget ({ 120, 52}, {173, 13}, WWT_TEXT_BOX, WindowColour::Secondary ), // description text box
MakeWidget ({ 120, 68}, {173, 13}, WWT_TEXT_BOX, WindowColour::Secondary ), // greeting text box
MakeWidget ({ 120, 84}, {173, 13}, WWT_TEXT_BOX, WindowColour::Secondary ), // password text box
MakeSpinnerWidgets({ 120, 100}, {173, 12}, WWT_SPINNER, WindowColour::Secondary, STR_SERVER_MAX_PLAYERS_VALUE ), // max players (3 widgets)
MakeWidget ({ 6, 117}, {287, 14}, WWT_CHECKBOX, WindowColour::Secondary, STR_ADVERTISE, STR_ADVERTISE_SERVER_TIP), // advertise checkbox
MakeWidget ({ 6, WH-6-13}, {101, 14}, WWT_BUTTON, WindowColour::Secondary, STR_NEW_GAME ), // start server button
MakeWidget ({ 112, WH-6-13}, {101, 14}, WWT_BUTTON, WindowColour::Secondary, STR_LOAD_GAME ), // None
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 ({WW-13, 2}, { 11, 12}, WindowWidgetType::CloseBox, WindowColour::Primary , STR_CLOSE_X, STR_CLOSE_WINDOW_TIP ), // close x button
MakeWidget ({ 120, 20}, {173, 13}, WindowWidgetType::TextBox, WindowColour::Secondary ), // port text box
MakeWidget ({ 120, 36}, {173, 13}, WindowWidgetType::TextBox, WindowColour::Secondary ), // name text box
MakeWidget ({ 120, 52}, {173, 13}, WindowWidgetType::TextBox, WindowColour::Secondary ), // description text box
MakeWidget ({ 120, 68}, {173, 13}, WindowWidgetType::TextBox, WindowColour::Secondary ), // greeting text box
MakeWidget ({ 120, 84}, {173, 13}, WindowWidgetType::TextBox, WindowColour::Secondary ), // password text box
MakeSpinnerWidgets({ 120, 100}, {173, 12}, WindowWidgetType::Spinner, WindowColour::Secondary, STR_SERVER_MAX_PLAYERS_VALUE ), // max players (3 widgets)
MakeWidget ({ 6, 117}, {287, 14}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_ADVERTISE, STR_ADVERTISE_SERVER_TIP), // advertise checkbox
MakeWidget ({ 6, WH-6-13}, {101, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_NEW_GAME ), // start server button
MakeWidget ({ 112, WH-6-13}, {101, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_LOAD_GAME ), // None
{ WIDGETS_END },
};

View File

@ -36,8 +36,8 @@ enum WINDOW_SHORTCUT_WIDGET_IDX {
// 0x9DE48C
static rct_widget window_shortcut_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({4, 18}, {412, 245}, WWT_SCROLL, WindowColour::Primary, SCROLL_VERTICAL, STR_SHORTCUT_LIST_TIP ),
MakeWidget({4, WH-15}, {150, 12}, WWT_BUTTON, WindowColour::Primary, STR_SHORTCUT_ACTION_RESET, STR_SHORTCUT_ACTION_RESET_TIP),
MakeWidget({4, 18}, {412, 245}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_VERTICAL, STR_SHORTCUT_LIST_TIP ),
MakeWidget({4, WH-15}, {150, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_SHORTCUT_ACTION_RESET, STR_SHORTCUT_ACTION_RESET_TIP),
{ WIDGETS_END }
};

View File

@ -44,11 +44,11 @@ enum WINDOW_SIGN_WIDGET_IDX {
// 0x9AEE00
static rct_widget window_sign_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 3, 17}, {85, 60}, WWT_VIEWPORT, WindowColour::Secondary, STR_VIEWPORT ), // Viewport
MakeWidget({WW - 25, 19}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RENAME, STR_CHANGE_SIGN_TEXT_TIP ), // change sign button
MakeWidget({WW - 25, 67}, {24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_DEMOLISH, STR_DEMOLISH_SIGN_TIP ), // demolish button
MakeWidget({ 5, WH - 16}, {12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_SIGN_COLOUR_TIP), // Main colour
MakeWidget({ 17, WH - 16}, {12, 12}, WWT_COLOURBTN, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_TEXT_COLOUR_TIP ), // Text colour
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, 67}, {24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_DEMOLISH, STR_DEMOLISH_SIGN_TIP ), // demolish button
MakeWidget({ 5, WH - 16}, {12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_SIGN_COLOUR_TIP), // Main colour
MakeWidget({ 17, WH - 16}, {12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_TEXT_COLOUR_TIP ), // Text colour
{ WIDGETS_END },
};
@ -285,16 +285,16 @@ static void window_sign_invalidate(rct_window* w)
rct_scenery_entry* scenery_entry = get_large_scenery_entry(w->SceneryEntry);
main_colour_btn->type = WWT_EMPTY;
text_colour_btn->type = WWT_EMPTY;
main_colour_btn->type = WindowWidgetType::Empty;
text_colour_btn->type = WindowWidgetType::Empty;
if (scenery_entry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_PRIMARY_COLOUR)
{
main_colour_btn->type = WWT_COLOURBTN;
main_colour_btn->type = WindowWidgetType::ColourBtn;
}
if (scenery_entry->large_scenery.flags & LARGE_SCENERY_FLAG_HAS_SECONDARY_COLOUR)
{
text_colour_btn->type = WWT_COLOURBTN;
text_colour_btn->type = WindowWidgetType::ColourBtn;
}
main_colour_btn->image = SPRITE_ID_PALETTE_COLOUR_1(w->list_information_type) | IMAGE_TYPE_TRANSPARENT | SPR_PALETTE_BTN;
@ -490,16 +490,16 @@ static void window_sign_small_invalidate(rct_window* w)
rct_scenery_entry* scenery_entry = get_wall_entry(w->SceneryEntry);
main_colour_btn->type = WWT_EMPTY;
text_colour_btn->type = WWT_EMPTY;
main_colour_btn->type = WindowWidgetType::Empty;
text_colour_btn->type = WindowWidgetType::Empty;
if (scenery_entry->wall.flags & WALL_SCENERY_HAS_PRIMARY_COLOUR)
{
main_colour_btn->type = WWT_COLOURBTN;
main_colour_btn->type = WindowWidgetType::ColourBtn;
}
if (scenery_entry->wall.flags & WALL_SCENERY_HAS_SECONDARY_COLOUR)
{
text_colour_btn->type = WWT_COLOURBTN;
text_colour_btn->type = WindowWidgetType::ColourBtn;
}
main_colour_btn->image = SPRITE_ID_PALETTE_COLOUR_1(w->list_information_type) | IMAGE_TYPE_TRANSPARENT | SPR_PALETTE_BTN;

View File

@ -72,32 +72,32 @@ validate_global_widx(WC_STAFF, WIDX_PICKUP);
#define MAIN_STAFF_WIDGETS \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
MakeWidget({ 0, 43}, {190, 137}, WWT_RESIZE, WindowColour::Secondary), /* Resize */ \
MakeWidget({ 0, 43}, {190, 137}, WindowWidgetType::Resize, WindowColour::Secondary), /* Resize */ \
MakeTab ({ 3, 17}, STR_STAFF_OVERVIEW_TIP ), /* Tab 1 */ \
MakeTab ({34, 17}, STR_STAFF_OPTIONS_TIP ), /* Tab 2 */ \
MakeTab ({65, 17}, STR_STAFF_STATS_TIP ) /* Tab 3 */
static rct_widget window_staff_overview_widgets[] = {
MAIN_STAFF_WIDGETS,
MakeWidget ({ 3, 47}, {162, 120}, WWT_VIEWPORT, WindowColour::Secondary ), // Viewport
MakeWidget ({ 3, WH - 13}, {162, 11}, WWT_LABEL_CENTRED, WindowColour::Secondary ), // Label at bottom of viewport
MakeWidget ({WW - 25, 45}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_PICKUP_BTN, STR_PICKUP_TIP ), // Pickup Button
MakeWidget ({WW - 25, 69}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_PATROL_BTN, STR_SET_PATROL_TIP ), // Patrol Button
MakeWidget ({WW - 25, 93}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_RENAME, STR_NAME_STAFF_TIP ), // Rename Button
MakeWidget ({WW - 25, 117}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP), // Locate Button
MakeWidget ({WW - 25, 141}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_DEMOLISH, STR_FIRE_STAFF_TIP ), // Fire Button
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 ({WW - 25, 45}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PICKUP_BTN, STR_PICKUP_TIP ), // Pickup Button
MakeWidget ({WW - 25, 69}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PATROL_BTN, STR_SET_PATROL_TIP ), // Patrol Button
MakeWidget ({WW - 25, 93}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_RENAME, STR_NAME_STAFF_TIP ), // Rename Button
MakeWidget ({WW - 25, 117}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_LOCATE, STR_LOCATE_SUBJECT_TIP), // Locate Button
MakeWidget ({WW - 25, 141}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_DEMOLISH, STR_FIRE_STAFF_TIP ), // Fire Button
{ WIDGETS_END },
};
//0x9AF910
static rct_widget window_staff_options_widgets[] = {
MAIN_STAFF_WIDGETS,
MakeWidget ({ 5, 50}, {180, 12}, WWT_CHECKBOX, WindowColour::Secondary ), // Checkbox 1
MakeWidget ({ 5, 67}, {180, 12}, WWT_CHECKBOX, WindowColour::Secondary ), // Checkbox 2
MakeWidget ({ 5, 84}, {180, 12}, WWT_CHECKBOX, WindowColour::Secondary ), // Checkbox 3
MakeWidget ({ 5, 101}, {180, 12}, WWT_CHECKBOX, WindowColour::Secondary ), // Checkbox 4
MakeWidget ({ 5, 50}, {180, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Costume Dropdown
MakeWidget ({WW - 17, 51}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_COSTUME_TIP), // Costume Dropdown Button
MakeWidget ({ 5, 50}, {180, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // Checkbox 1
MakeWidget ({ 5, 67}, {180, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // Checkbox 2
MakeWidget ({ 5, 84}, {180, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // Checkbox 3
MakeWidget ({ 5, 101}, {180, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary ), // Checkbox 4
MakeWidget ({ 5, 50}, {180, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Costume Dropdown
MakeWidget ({WW - 17, 51}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH, STR_SELECT_COSTUME_TIP), // Costume Dropdown Button
{ WIDGETS_END },
};
@ -795,38 +795,38 @@ void window_staff_options_invalidate(rct_window* w)
switch (peep->AssignedStaffType)
{
case StaffType::Entertainer:
window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_DROPDOWN;
window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_BUTTON;
window_staff_options_widgets[WIDX_CHECKBOX_1].type = WindowWidgetType::Empty;
window_staff_options_widgets[WIDX_CHECKBOX_2].type = WindowWidgetType::Empty;
window_staff_options_widgets[WIDX_CHECKBOX_3].type = WindowWidgetType::Empty;
window_staff_options_widgets[WIDX_CHECKBOX_4].type = WindowWidgetType::Empty;
window_staff_options_widgets[WIDX_COSTUME_BOX].type = WindowWidgetType::DropdownMenu;
window_staff_options_widgets[WIDX_COSTUME_BTN].type = WindowWidgetType::Button;
window_staff_options_widgets[WIDX_COSTUME_BOX].text = StaffCostumeNames[EnumValue(peep->SpriteType) - 4];
break;
case StaffType::Handyman:
window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_CHECKBOX;
window_staff_options_widgets[WIDX_CHECKBOX_1].type = WindowWidgetType::Checkbox;
window_staff_options_widgets[WIDX_CHECKBOX_1].text = STR_STAFF_OPTION_SWEEP_FOOTPATHS;
window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_CHECKBOX;
window_staff_options_widgets[WIDX_CHECKBOX_2].type = WindowWidgetType::Checkbox;
window_staff_options_widgets[WIDX_CHECKBOX_2].text = STR_STAFF_OPTION_WATER_GARDENS;
window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_CHECKBOX;
window_staff_options_widgets[WIDX_CHECKBOX_3].type = WindowWidgetType::Checkbox;
window_staff_options_widgets[WIDX_CHECKBOX_3].text = STR_STAFF_OPTION_EMPTY_LITTER;
window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_CHECKBOX;
window_staff_options_widgets[WIDX_CHECKBOX_4].type = WindowWidgetType::Checkbox;
window_staff_options_widgets[WIDX_CHECKBOX_4].text = STR_STAFF_OPTION_MOW_GRASS;
window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_COSTUME_BOX].type = WindowWidgetType::Empty;
window_staff_options_widgets[WIDX_COSTUME_BTN].type = WindowWidgetType::Empty;
w->pressed_widgets &= ~(
(1 << WIDX_CHECKBOX_1) | (1 << WIDX_CHECKBOX_2) | (1 << WIDX_CHECKBOX_3) | (1 << WIDX_CHECKBOX_4));
w->pressed_widgets |= peep->StaffOrders << WIDX_CHECKBOX_1;
break;
case StaffType::Mechanic:
window_staff_options_widgets[WIDX_CHECKBOX_1].type = WWT_CHECKBOX;
window_staff_options_widgets[WIDX_CHECKBOX_1].type = WindowWidgetType::Checkbox;
window_staff_options_widgets[WIDX_CHECKBOX_1].text = STR_INSPECT_RIDES;
window_staff_options_widgets[WIDX_CHECKBOX_2].type = WWT_CHECKBOX;
window_staff_options_widgets[WIDX_CHECKBOX_2].type = WindowWidgetType::Checkbox;
window_staff_options_widgets[WIDX_CHECKBOX_2].text = STR_FIX_RIDES;
window_staff_options_widgets[WIDX_CHECKBOX_3].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_CHECKBOX_4].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_COSTUME_BOX].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_COSTUME_BTN].type = WWT_EMPTY;
window_staff_options_widgets[WIDX_CHECKBOX_3].type = WindowWidgetType::Empty;
window_staff_options_widgets[WIDX_CHECKBOX_4].type = WindowWidgetType::Empty;
window_staff_options_widgets[WIDX_COSTUME_BOX].type = WindowWidgetType::Empty;
window_staff_options_widgets[WIDX_COSTUME_BTN].type = WindowWidgetType::Empty;
w->pressed_widgets &= ~((1 << WIDX_CHECKBOX_1) | (1 << WIDX_CHECKBOX_2));
w->pressed_widgets |= peep->StaffOrders << WIDX_CHECKBOX_1;
break;

View File

@ -32,8 +32,8 @@ enum WINDOW_STAFF_FIRE_WIDGET_IDX {
// 0x9AFB4C
static rct_widget window_staff_fire_widgets[] = {
WINDOW_SHIM_WHITE(WINDOW_TITLE, WW, WH),
MakeWidget({ 10, WH - 20}, {85, 14}, WWT_BUTTON, WindowColour::Primary, STR_YES ),
MakeWidget({WW - 95, WH - 20}, {85, 14}, WWT_BUTTON, WindowColour::Primary, STR_SAVE_PROMPT_CANCEL),
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),
{ WIDGETS_END }
};

View File

@ -99,17 +99,17 @@ constexpr int32_t MAX_WH = 450;
static rct_widget window_staff_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, { WW, WH - 43}, WWT_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 ({ 34, 17}, STR_STAFF_MECHANICS_TAB_TIP ), // mechanics tab
MakeTab ({ 65, 17}, STR_STAFF_SECURITY_TAB_TIP ), // security guards tab
MakeTab ({ 96, 17}, STR_STAFF_ENTERTAINERS_TAB_TIP), // entertainers tab
MakeWidget({ 3, 72}, {WW - 6, 195}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ), // staff list
MakeWidget({130, 58}, { 12, 12}, WWT_COLOURBTN, WindowColour::Secondary, STR_NONE, STR_UNIFORM_COLOUR_TIP ), // uniform colour picker
MakeWidget({165, 17}, { 145, 13}, WWT_BUTTON, WindowColour::Primary , STR_NONE, STR_HIRE_STAFF_TIP ), // hire button
MakeWidget({243, 46}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_DEMOLISH, STR_QUICK_FIRE_STAFF ), // quick fire staff
MakeWidget({267, 46}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_PATROL_BTN, STR_SHOW_PATROL_AREA_TIP ), // show staff patrol area tool
MakeWidget({291, 46}, { 24, 24}, WWT_FLATBTN, WindowColour::Secondary, SPR_MAP, STR_SHOW_STAFF_ON_MAP_TIP ), // show staff on map button
MakeWidget({ 3, 72}, {WW - 6, 195}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ), // staff list
MakeWidget({130, 58}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, STR_NONE, STR_UNIFORM_COLOUR_TIP ), // uniform colour picker
MakeWidget({165, 17}, { 145, 13}, WindowWidgetType::Button, WindowColour::Primary , STR_NONE, STR_HIRE_STAFF_TIP ), // hire button
MakeWidget({243, 46}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_DEMOLISH, STR_QUICK_FIRE_STAFF ), // quick fire staff
MakeWidget({267, 46}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_PATROL_BTN, STR_SHOW_PATROL_AREA_TIP ), // show staff patrol area tool
MakeWidget({291, 46}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Secondary, SPR_MAP, STR_SHOW_STAFF_ON_MAP_TIP ), // show staff on map button
{ WIDGETS_END },
};
@ -156,7 +156,7 @@ rct_window* window_staff_list_open()
_windowStaffListHighlightedIndex = -1;
window->list_information_type = 0;
window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_EMPTY;
window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WindowWidgetType::Empty;
window->min_width = WW;
window->min_height = WH;
window->max_width = MAX_WW;
@ -513,11 +513,11 @@ void window_staff_list_invalidate(rct_window* w)
w->pressed_widgets = pressed_widgets | (1ULL << widgetIndex);
window_staff_list_widgets[WIDX_STAFF_LIST_HIRE_BUTTON].text = StaffNamingConvention[tabIndex].action_hire;
window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_EMPTY;
window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WindowWidgetType::Empty;
if (tabIndex < 3)
{
window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WWT_COLOURBTN;
window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].type = WindowWidgetType::ColourBtn;
auto spriteIdPalette = SPRITE_ID_PALETTE_COLOUR_1(
static_cast<uint32_t>(staff_get_colour(static_cast<StaffType>(tabIndex))));
window_staff_list_widgets[WIDX_STAFF_LIST_UNIFORM_COLOUR_PICKER].image = spriteIdPalette | IMAGE_TYPE_TRANSPARENT

View File

@ -41,8 +41,8 @@ enum WINDOW_TEXT_INPUT_WIDGET_IDX {
// 0x9DE4E0
static rct_widget window_text_input_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({170, 68}, {71, 14}, WWT_BUTTON, WindowColour::Secondary, STR_CANCEL),
MakeWidget({ 10, 68}, {71, 14}, WWT_BUTTON, WindowColour::Secondary, STR_OK ),
MakeWidget({170, 68}, {71, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_CANCEL),
MakeWidget({ 10, 68}, {71, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_OK ),
{ WIDGETS_END }
};

View File

@ -100,7 +100,7 @@ static constexpr const int32_t WH = 107;
static rct_widget window_themes_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, {320, 64}, WWT_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 ({ 34, 17}, STR_THEMES_TAB_MAIN_TIP ), // main ui tab
MakeTab ({ 65, 17}, STR_THEMES_TAB_PARK_TIP ), // park tab
@ -110,19 +110,19 @@ static rct_widget window_themes_widgets[] = {
MakeTab ({189, 17}, STR_THEMES_TAB_MISC_TIP ), // misc tab
MakeTab ({220, 17}, STR_THEMES_TAB_PROMPTS_TIP ), // prompts tab
MakeTab ({251, 17}, STR_THEMES_TAB_FEATURES_TIP ), // features tab
MakeWidget({ 5, 46}, {214, 15}, WWT_TABLE_HEADER, WindowColour::Secondary, STR_THEMES_HEADER_WINDOW ), // Window header
MakeWidget({219, 46}, { 97, 15}, WWT_TABLE_HEADER, WindowColour::Secondary, STR_THEMES_HEADER_PALETTE ), // Palette header
MakeWidget({125, 60}, {175, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Preset colour schemes
MakeWidget({288, 61}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({ 10, 82}, { 91, 12}, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_ACTION_DUPLICATE_TIP ), // Duplicate button
MakeWidget({110, 82}, { 91, 12}, WWT_BUTTON, WindowColour::Secondary, STR_TRACK_MANAGE_DELETE, STR_THEMES_ACTION_DELETE_TIP ), // Delete button
MakeWidget({210, 82}, { 91, 12}, WWT_BUTTON, WindowColour::Secondary, STR_TRACK_MANAGE_RENAME, STR_THEMES_ACTION_RENAME_TIP ), // Rename button
MakeWidget({ 0, 0}, { 1, 1}, WWT_COLOURBTN, WindowColour::Secondary ), // colour button mask
MakeWidget({ 3, 60}, {314, 44}, WWT_SCROLL, WindowColour::Secondary, SCROLL_VERTICAL ), // staff list
MakeWidget({ 10, 54}, {290, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_THEMES_OPTION_RCT1_RIDE_CONTROLS ), // rct1 ride lights
MakeWidget({ 10, 69}, {290, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_THEMES_OPTION_RCT1_PARK_CONTROLS ), // rct1 park lights
MakeWidget({ 10, 84}, {290, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_THEMES_OPTION_RCT1_SCENARIO_SELECTION_FONT ), // rct1 scenario font
MakeWidget({ 10, 99}, {290, 12}, WWT_CHECKBOX, WindowColour::Secondary, STR_THEMES_OPTION_RCT1_BOTTOM_TOOLBAR ), // rct1 bottom toolbar
MakeWidget({ 5, 46}, {214, 15}, WindowWidgetType::TableHeader, WindowColour::Secondary, STR_THEMES_HEADER_WINDOW ), // Window header
MakeWidget({219, 46}, { 97, 15}, WindowWidgetType::TableHeader, WindowColour::Secondary, STR_THEMES_HEADER_PALETTE ), // Palette header
MakeWidget({125, 60}, {175, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Preset colour schemes
MakeWidget({288, 61}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({ 10, 82}, { 91, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_ACTION_DUPLICATE_TIP ), // Duplicate button
MakeWidget({110, 82}, { 91, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_TRACK_MANAGE_DELETE, STR_THEMES_ACTION_DELETE_TIP ), // Delete button
MakeWidget({210, 82}, { 91, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_TRACK_MANAGE_RENAME, STR_THEMES_ACTION_RENAME_TIP ), // Rename button
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::ColourBtn, WindowColour::Secondary ), // colour button mask
MakeWidget({ 3, 60}, {314, 44}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_VERTICAL ), // staff list
MakeWidget({ 10, 54}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_THEMES_OPTION_RCT1_RIDE_CONTROLS ), // rct1 ride lights
MakeWidget({ 10, 69}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_THEMES_OPTION_RCT1_PARK_CONTROLS ), // rct1 park lights
MakeWidget({ 10, 84}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_THEMES_OPTION_RCT1_SCENARIO_SELECTION_FONT ), // rct1 scenario font
MakeWidget({ 10, 99}, {290, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_THEMES_OPTION_RCT1_BOTTOM_TOOLBAR ), // rct1 bottom toolbar
{ WIDGETS_END },
};
@ -643,7 +643,7 @@ void window_themes_scrollmousedown(rct_window* w, int32_t scrollIndex, const Scr
}
else
{
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_COLOURBTN;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WindowWidgetType::ColourBtn;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].left = _button_offset_x + _colour_index_2 * 12
+ window_themes_widgets[WIDX_THEMES_LIST].left;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].top = _colour_index_1 * _row_height + _button_offset_y
@ -756,35 +756,35 @@ void window_themes_invalidate(rct_window* w)
if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS)
{
window_themes_widgets[WIDX_THEMES_HEADER_WINDOW].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_HEADER_PALETTE].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_LIST].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RCT1_BOTTOM_TOOLBAR].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_BUTTON;
window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_BUTTON;
window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_BUTTON;
window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_DROPDOWN;
window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_BUTTON;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_HEADER_WINDOW].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_HEADER_PALETTE].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_LIST].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RCT1_BOTTOM_TOOLBAR].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WindowWidgetType::Button;
window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WindowWidgetType::Button;
window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WindowWidgetType::Button;
window_themes_widgets[WIDX_THEMES_PRESETS].type = WindowWidgetType::DropdownMenu;
window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WindowWidgetType::Button;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WindowWidgetType::Empty;
}
else if (_selected_tab == WINDOW_THEMES_TAB_FEATURES)
{
window_themes_widgets[WIDX_THEMES_HEADER_WINDOW].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_HEADER_PALETTE].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_LIST].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_CHECKBOX;
window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_CHECKBOX;
window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_CHECKBOX;
window_themes_widgets[WIDX_THEMES_RCT1_BOTTOM_TOOLBAR].type = WWT_CHECKBOX;
window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_HEADER_WINDOW].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_HEADER_PALETTE].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_LIST].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WindowWidgetType::Checkbox;
window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WindowWidgetType::Checkbox;
window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WindowWidgetType::Checkbox;
window_themes_widgets[WIDX_THEMES_RCT1_BOTTOM_TOOLBAR].type = WindowWidgetType::Checkbox;
window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_PRESETS].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WindowWidgetType::Empty;
WidgetSetCheckboxValue(w, WIDX_THEMES_RCT1_RIDE_LIGHTS, ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_RIDE);
WidgetSetCheckboxValue(w, WIDX_THEMES_RCT1_PARK_LIGHTS, ThemeGetFlags() & UITHEME_FLAG_USE_LIGHTS_PARK);
@ -794,19 +794,19 @@ void window_themes_invalidate(rct_window* w)
}
else
{
window_themes_widgets[WIDX_THEMES_HEADER_WINDOW].type = WWT_TABLE_HEADER;
window_themes_widgets[WIDX_THEMES_HEADER_PALETTE].type = WWT_TABLE_HEADER;
window_themes_widgets[WIDX_THEMES_LIST].type = WWT_SCROLL;
window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RCT1_BOTTOM_TOOLBAR].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_PRESETS].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_EMPTY;
window_themes_widgets[WIDX_THEMES_HEADER_WINDOW].type = WindowWidgetType::TableHeader;
window_themes_widgets[WIDX_THEMES_HEADER_PALETTE].type = WindowWidgetType::TableHeader;
window_themes_widgets[WIDX_THEMES_LIST].type = WindowWidgetType::Scroll;
window_themes_widgets[WIDX_THEMES_RCT1_RIDE_LIGHTS].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RCT1_PARK_LIGHTS].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RCT1_SCENARIO_FONT].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RCT1_BOTTOM_TOOLBAR].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_DUPLICATE_BUTTON].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_DELETE_BUTTON].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_RENAME_BUTTON].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_PRESETS].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_PRESETS_DROPDOWN].type = WindowWidgetType::Empty;
window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WindowWidgetType::Empty;
}
}

View File

@ -217,26 +217,26 @@ constexpr int32_t BUTTONH = 17;
#define MAIN_TILE_INSPECTOR_WIDGETS \
WINDOW_SHIM(WINDOW_TITLE, WW, WH), \
{ WWT_SCROLL, 1, 3, WW - 4, 57, WH - PADDING_BOTTOM, 2, STR_NONE }, /* Element list */ \
{ WindowWidgetType::Scroll, 1, 3, WW - 4, 57, WH - PADDING_BOTTOM, 2, STR_NONE }, /* Element list */ \
SPINNER_WIDGETS (1, 20, 70, 23, 34, STR_NONE, STR_NONE), /* Spinner X (3 widgets) */ \
SPINNER_WIDGETS (1, 90, 140, 23, 34, STR_NONE, STR_NONE), /* Spinner Y (3 widgets) */ \
/* Buttons */ \
{ WWT_FLATBTN, 1, BX, BW, BY, BH, SPR_MAP, STR_INSERT_CORRUPT_TIP }, /* Insert corrupt button */ \
{ WWT_FLATBTN, 1, BX - BS * 1, BW - BS * 1, BY, BH, SPR_DEMOLISH, STR_REMOVE_SELECTED_ELEMENT_TIP }, /* Remove button */ \
{ WWT_BUTTON, 1, BX - BS * 2, BW - BS * 2, BY, BY + 11, STR_UP, STR_MOVE_SELECTED_ELEMENT_UP_TIP }, /* Move up */ \
{ WWT_BUTTON, 1, BX - BS * 2, BW - BS * 2, BH - 11, BH, STR_DOWN, STR_MOVE_SELECTED_ELEMENT_DOWN_TIP }, /* Move down */ \
{ WWT_FLATBTN, 1, BX - BS * 3, BW - BS * 3, BY, BH, SPR_ROTATE_ARROW, STR_ROTATE_SELECTED_ELEMENT_TIP }, /* Rotate button */ \
{ WWT_FLATBTN, 1, BX - BS * 4, BW - BS * 4, BY, BH, SPR_G2_SORT, STR_TILE_INSPECTOR_SORT_TIP }, /* Sort button */ \
{ WWT_FLATBTN, 1, BX - BS * 5, BW - BS * 5, BY, BH, SPR_G2_PASTE, STR_TILE_INSPECTOR_PASTE_TIP }, /* Paste button */ \
{ WWT_FLATBTN, 1, BX - BS * 6, BW - BS * 6, BY, BH, SPR_G2_COPY, STR_TILE_INSPECTOR_COPY_TIP }, /* Copy button */ \
{ WindowWidgetType::FlatBtn, 1, BX, BW, BY, BH, SPR_MAP, STR_INSERT_CORRUPT_TIP }, /* Insert corrupt button */ \
{ WindowWidgetType::FlatBtn, 1, BX - BS * 1, BW - BS * 1, BY, BH, SPR_DEMOLISH, STR_REMOVE_SELECTED_ELEMENT_TIP }, /* Remove button */ \
{ WindowWidgetType::Button, 1, BX - BS * 2, BW - BS * 2, BY, BY + 11, STR_UP, STR_MOVE_SELECTED_ELEMENT_UP_TIP }, /* Move up */ \
{ WindowWidgetType::Button, 1, BX - BS * 2, BW - BS * 2, BH - 11, BH, STR_DOWN, STR_MOVE_SELECTED_ELEMENT_DOWN_TIP }, /* Move down */ \
{ WindowWidgetType::FlatBtn, 1, BX - BS * 3, BW - BS * 3, BY, BH, SPR_ROTATE_ARROW, STR_ROTATE_SELECTED_ELEMENT_TIP }, /* Rotate button */ \
{ WindowWidgetType::FlatBtn, 1, BX - BS * 4, BW - BS * 4, BY, BH, SPR_G2_SORT, STR_TILE_INSPECTOR_SORT_TIP }, /* Sort button */ \
{ WindowWidgetType::FlatBtn, 1, BX - BS * 5, BW - BS * 5, BY, BH, SPR_G2_PASTE, STR_TILE_INSPECTOR_PASTE_TIP }, /* Paste button */ \
{ WindowWidgetType::FlatBtn, 1, BX - BS * 6, BW - BS * 6, BY, BH, SPR_G2_COPY, STR_TILE_INSPECTOR_COPY_TIP }, /* Copy button */ \
/* Column headers */ \
{ WWT_TABLE_HEADER, 1, COL_X_TYPE, COL_X_BH - 1, 42, 42 + 13, STR_NONE, STR_NONE }, /* Type */ \
{ WWT_TABLE_HEADER, 1, COL_X_BH, COL_X_CH - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_BASE_HEIGHT }, /* Base height */ \
{ WWT_TABLE_HEADER, 1, COL_X_CH, COL_X_GF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_CLEARANCE_HEIGHT }, /* Clearance height */ \
{ WWT_TABLE_HEADER, 1, COL_X_GF, COL_X_LF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_GHOST }, /* Ghost flag */ \
{ WWT_TABLE_HEADER, 1, COL_X_LF, WW - 3, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_LAST }, /* Last of tile flag */ \
{ WWT_GROUPBOX, 1, 6, WW - 6, -1, -1, STR_NONE, STR_NONE }, /* Details group box */ \
{ WWT_GROUPBOX, 1, 6, WW - 6, -1, -1, STR_TILE_INSPECTOR_GROUPBOX_PROPERTIES, STR_NONE } /* Properties group box */
{ WindowWidgetType::TableHeader, 1, COL_X_TYPE, COL_X_BH - 1, 42, 42 + 13, STR_NONE, STR_NONE }, /* Type */ \
{ WindowWidgetType::TableHeader, 1, COL_X_BH, COL_X_CH - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_BASE_HEIGHT }, /* Base height */ \
{ WindowWidgetType::TableHeader, 1, COL_X_CH, COL_X_GF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_CLEARANCE_HEIGHT }, /* Clearance height */ \
{ WindowWidgetType::TableHeader, 1, COL_X_GF, COL_X_LF - 1, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_GHOST }, /* Ghost flag */ \
{ WindowWidgetType::TableHeader, 1, COL_X_LF, WW - 3, 42, 42 + 13, STR_NONE, STR_TILE_INSPECTOR_FLAG_LAST }, /* Last of tile flag */ \
{ WindowWidgetType::Groupbox, 1, 6, WW - 6, -1, -1, STR_NONE, STR_NONE }, /* Details group box */ \
{ WindowWidgetType::Groupbox, 1, 6, WW - 6, -1, -1, STR_TILE_INSPECTOR_GROUPBOX_PROPERTIES, STR_NONE } /* Properties group box */
static rct_widget DefaultWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
@ -251,13 +251,13 @@ constexpr int32_t SUR_GBDT = SUR_GBDB + 20 + 4 * 11; // Surface group box
static rct_widget SurfaceWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - SUR_GBPT, 0) + 3, GBBB(WH - SUR_GBPT, 0) - 3, STR_NONE, STR_NONE), // WIDX_SURFACE_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
{ WWT_BUTTON, 1, GBB(WH - SUR_GBPT, 0, 1), STR_TILE_INSPECTOR_SURFACE_REMOVE_FENCES, STR_NONE }, // WIDX_SURFACE_BUTTON_REMOVE_FENCES
{ WWT_BUTTON, 1, GBB(WH - SUR_GBPT, 1, 1), STR_TILE_INSPECTOR_SURFACE_RESTORE_FENCES, STR_NONE }, // WIDX_SURFACE_BUTTON_RESTORE_FENCES
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SUR_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_N
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SUR_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_E
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SUR_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_S
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SUR_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_W
{ WWT_CHECKBOX, 1, GBBF(WH - SUR_GBPT, 0, 4), STR_TILE_INSPECTOR_SURFACE_DIAGONAL, STR_NONE }, // WIDX_SURFACE_CHECK_DIAGONAL
{ WindowWidgetType::Button, 1, GBB(WH - SUR_GBPT, 0, 1), STR_TILE_INSPECTOR_SURFACE_REMOVE_FENCES, STR_NONE }, // WIDX_SURFACE_BUTTON_REMOVE_FENCES
{ WindowWidgetType::Button, 1, GBB(WH - SUR_GBPT, 1, 1), STR_TILE_INSPECTOR_SURFACE_RESTORE_FENCES, STR_NONE }, // WIDX_SURFACE_BUTTON_RESTORE_FENCES
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SUR_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_N
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SUR_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_E
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SUR_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_S
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SUR_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SURFACE_CHECK_CORNER_W
{ WindowWidgetType::Checkbox, 1, GBBF(WH - SUR_GBPT, 0, 4), STR_TILE_INSPECTOR_SURFACE_DIAGONAL, STR_NONE }, // WIDX_SURFACE_CHECK_DIAGONAL
{ WIDGETS_END },
};
@ -268,16 +268,16 @@ constexpr int32_t PAT_GBDT = PAT_GBDB + 20 + 2 * 11; // Path group box inf
static rct_widget PathWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - PAT_GBPT, 0) + 3, GBBB(WH - PAT_GBPT, 0) - 3, STR_NONE, STR_NONE), // WIDX_PATH_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
{ WWT_CHECKBOX, 1, GBBF(WH - PAT_GBPT, 0, 1), STR_TILE_INSPECTOR_PATH_BROKEN, STR_NONE }, // WIDX_PATH_CHECK_BROKEN
{ WWT_CHECKBOX, 1, GBBF(WH - PAT_GBPT, 0, 2), STR_TILE_INSPECTOR_PATH_SLOPED, STR_NONE }, // WIDX_PATH_CHECK_SLOPED
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - PAT_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_NE
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 4, GBBT(WH - PAT_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_E
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - PAT_GBPT, 2) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_SE
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - PAT_GBPT, 2) + 7 * 4), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_S
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - PAT_GBPT, 2) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_SW
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - PAT_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_W
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - PAT_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_NW
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - PAT_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_N
{ WindowWidgetType::Checkbox, 1, GBBF(WH - PAT_GBPT, 0, 1), STR_TILE_INSPECTOR_PATH_BROKEN, STR_NONE }, // WIDX_PATH_CHECK_BROKEN
{ WindowWidgetType::Checkbox, 1, GBBF(WH - PAT_GBPT, 0, 2), STR_TILE_INSPECTOR_PATH_SLOPED, STR_NONE }, // WIDX_PATH_CHECK_SLOPED
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - PAT_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_NE
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 4, GBBT(WH - PAT_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_E
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - PAT_GBPT, 2) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_SE
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - PAT_GBPT, 2) + 7 * 4), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_S
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - PAT_GBPT, 2) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_SW
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - PAT_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_W
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - PAT_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_NW
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - PAT_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_PATH_CHECK_EDGE_N
{ WIDGETS_END },
};
@ -287,11 +287,11 @@ constexpr int32_t TRA_GBDB = TRA_GBPT + GROUPBOX_PADDING; // Track group box in
constexpr int32_t TRA_GBDT = TRA_GBDB + 20 + 7 * 11; // Track group box info top
static rct_widget TrackWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
{ WWT_CHECKBOX, 1, GBBF(WH - TRA_GBPT, 0, 0), STR_TILE_INSPECTOR_TRACK_ENTIRE_TRACK_PIECE, STR_NONE }, // WIDX_TRACK_CHECK_APPLY_TO_ALL
{ WindowWidgetType::Checkbox, 1, GBBF(WH - TRA_GBPT, 0, 0), STR_TILE_INSPECTOR_TRACK_ENTIRE_TRACK_PIECE, STR_NONE }, // WIDX_TRACK_CHECK_APPLY_TO_ALL
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - TRA_GBPT, 1) + 3, GBBB(WH - TRA_GBPT, 1) - 3, STR_NONE, STR_NONE), // WIDX_TRACK_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
{ WWT_CHECKBOX, 1, GBBF(WH - TRA_GBPT, 0, 2), STR_TILE_INSPECTOR_TRACK_CHAIN_LIFT, STR_NONE }, // WIDX_TRACK_CHECK_CHAIN_LIFT
{ WWT_CHECKBOX, 1, GBBF(WH - TRA_GBPT, 0, 3), STR_TILE_INSPECTOR_TRACK_BLOCK_BRAKE, STR_NONE }, // WIDX_PATH_CHECK_BLOCK_BRAKE_CLOSED
{ WWT_CHECKBOX, 1, GBBF(WH - TRA_GBPT, 0, 4), STR_TILE_INSPECTOR_TRACK_IS_INDESTRUCTIBLE, STR_NONE }, // WIDX_PATH_CHECK_IS_INDESTRUCTIBLE
{ WindowWidgetType::Checkbox, 1, GBBF(WH - TRA_GBPT, 0, 2), STR_TILE_INSPECTOR_TRACK_CHAIN_LIFT, STR_NONE }, // WIDX_TRACK_CHECK_CHAIN_LIFT
{ WindowWidgetType::Checkbox, 1, GBBF(WH - TRA_GBPT, 0, 3), STR_TILE_INSPECTOR_TRACK_BLOCK_BRAKE, STR_NONE }, // WIDX_PATH_CHECK_BLOCK_BRAKE_CLOSED
{ WindowWidgetType::Checkbox, 1, GBBF(WH - TRA_GBPT, 0, 4), STR_TILE_INSPECTOR_TRACK_IS_INDESTRUCTIBLE, STR_NONE }, // WIDX_PATH_CHECK_IS_INDESTRUCTIBLE
{ WIDGETS_END },
};
@ -302,14 +302,14 @@ constexpr int32_t SCE_GBDT = SCE_GBDB + 20 + 3 * 11; // Scenery group box
static rct_widget SceneryWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - SCE_GBPT, 0) + 3, GBBB(WH - SCE_GBPT, 0) - 3, STR_NONE, STR_NONE), // WIDX_SCENERY_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 1) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_N
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SCE_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_E
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 1) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_S
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SCE_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_W
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_N
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SCE_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_E
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_S
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SCE_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_W
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 1) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_N
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SCE_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_E
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 1) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_S
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SCE_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_QUARTER_W
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 2) + 7 * 0), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_N
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 2, GBBT(WH - SCE_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_E
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - SCE_GBPT, 2) + 7 * 2), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_S
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 0, GBBT(WH - SCE_GBPT, 2) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_SCENERY_CHECK_COLLISION_W
{ WIDGETS_END },
};
@ -321,7 +321,7 @@ constexpr int32_t ENT_GBDT = ENT_GBDB + 20 + 4 * 11; // Entrance group box
static rct_widget EntranceWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - ENT_GBPT, 0) + 3, GBBB(WH - ENT_GBPT, 0) - 3, STR_NONE, STR_NONE), // WIDX_ENTRANCE_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
{ WWT_BUTTON, 1, GBB(WH - ENT_GBPT, 0, 1), STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE, STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE_TIP }, // WIDX_ENTRANCE_BUTTON_MAKE_USABLE
{ WindowWidgetType::Button, 1, GBB(WH - ENT_GBPT, 0, 1), STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE, STR_TILE_INSPECTOR_ENTRANCE_MAKE_USABLE_TIP }, // WIDX_ENTRANCE_BUTTON_MAKE_USABLE
{ WIDGETS_END },
};
@ -332,8 +332,8 @@ constexpr int32_t WALL_GBDT = WALL_GBDB + 20 + 2 * 11; // Wall group box
static rct_widget WallWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - WALL_GBPT, 0) + 3, GBBB(WH - WALL_GBPT, 0) - 3, STR_NONE, STR_NONE), // WIDX_WALL_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
{ WWT_DROPDOWN, 1, GBD(WH - WALL_GBPT, 1, 1), STR_NONE, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE
{ WWT_BUTTON, 1, GBDB(WH - WALL_GBPT, 1, 1), STR_DROPDOWN_GLYPH, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE_BUTTON
{ WindowWidgetType::DropdownMenu, 1, GBD(WH - WALL_GBPT, 1, 1), STR_NONE, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE
{ WindowWidgetType::Button, 1, GBDB(WH - WALL_GBPT, 1, 1), STR_DROPDOWN_GLYPH, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE_BUTTON
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - WALL_GBPT, 2) + 3, GBBB(WH - WALL_GBPT, 2) - 3, STR_NONE, STR_NONE), // WIDX_WALL_SPINNER_ANIMATION_FRAME{,_INCREASE,_DECREASE}
{ WIDGETS_END },
};
@ -355,10 +355,10 @@ constexpr int32_t BAN_GBDT = BAN_GBDB + 20 + 1 * 11; // Banner group box i
static rct_widget BannerWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - BAN_GBPT, 0) + 3, GBBB(WH - BAN_GBPT, 0) - 3, STR_NONE, STR_NONE), // WIDX_BANNER_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - BAN_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_NE
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - BAN_GBPT, 1) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_SE
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - BAN_GBPT, 1) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_SW
{ WWT_CHECKBOX, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - BAN_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_NW
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - BAN_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_NE
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 3, GBBT(WH - BAN_GBPT, 1) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_SE
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - BAN_GBPT, 1) + 7 * 3), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_SW
{ WindowWidgetType::Checkbox, 1, CHK(GBBL(1) + 14 * 1, GBBT(WH - BAN_GBPT, 1) + 7 * 1), STR_NONE, STR_NONE }, // WIDX_BANNER_CHECK_BLOCK_NW
{ WIDGETS_END },
};
@ -370,7 +370,7 @@ constexpr int32_t COR_GBDT = COR_GBDB + 20 + 0 * 11; // Corrupt element gr
static rct_widget CorruptWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
SPINNER_WIDGETS (1, GBBL(1), GBBR(1), GBBT(WH - COR_GBPT, 0) + 3, GBBB(WH - COR_GBPT, 0) - 3, STR_NONE, STR_NONE), // WIDX_CORRUPT_SPINNER_HEIGHT{,_INCREASE,_DECREASE}
{ WWT_BUTTON, 1, GBB(WH - SUR_GBPT, 0, 1), STR_TILE_INSPECTOR_CLAMP_TO_NEXT, STR_TILE_INSPECTOR_CLAMP_TO_NEXT_TIP }, // WIDX_CORRUPT_BUTTON_CLAMP
{ WindowWidgetType::Button, 1, GBB(WH - SUR_GBPT, 0, 1), STR_TILE_INSPECTOR_CLAMP_TO_NEXT, STR_TILE_INSPECTOR_CLAMP_TO_NEXT_TIP }, // WIDX_CORRUPT_BUTTON_CLAMP
{ WIDGETS_END },
};
@ -1421,14 +1421,14 @@ static void window_tile_inspector_invalidate(rct_window* w)
if (w->page == TILE_INSPECTOR_PAGE_DEFAULT)
{
w->widgets[WIDX_GROUPBOX_DETAILS].type = WWT_EMPTY;
w->widgets[WIDX_GROUPBOX_PROPERTIES].type = WWT_EMPTY;
w->widgets[WIDX_GROUPBOX_DETAILS].type = WindowWidgetType::Empty;
w->widgets[WIDX_GROUPBOX_PROPERTIES].type = WindowWidgetType::Empty;
w->widgets[WIDX_LIST].bottom = w->height - PADDING_BOTTOM;
}
else
{
w->widgets[WIDX_GROUPBOX_DETAILS].type = WWT_GROUPBOX;
w->widgets[WIDX_GROUPBOX_PROPERTIES].type = WWT_GROUPBOX;
w->widgets[WIDX_GROUPBOX_DETAILS].type = WindowWidgetType::Groupbox;
w->widgets[WIDX_GROUPBOX_PROPERTIES].type = WindowWidgetType::Groupbox;
w->widgets[WIDX_GROUPBOX_DETAILS].text = PageGroupBoxSettings[w->page - 1].string_id;
w->widgets[WIDX_GROUPBOX_DETAILS].top = w->height - PageGroupBoxSettings[w->page - 1].details_top_offset;
w->widgets[WIDX_GROUPBOX_DETAILS].bottom = w->height - PageGroupBoxSettings[w->page - 1].details_bottom_offset;
@ -1706,31 +1706,31 @@ static void window_tile_inspector_paint(rct_window* w, rct_drawpixelinfo* dpi)
// Draw column headers
rct_widget* widget;
if ((widget = &w->widgets[WIDX_COLUMN_TYPE])->type != WWT_EMPTY)
if ((widget = &w->widgets[WIDX_COLUMN_TYPE])->type != WindowWidgetType::Empty)
{
DrawTextEllipsised(
dpi, { w->windowPos.x + widget->left + 1, w->windowPos.y + widget->top + 1 }, widget->width(),
STR_TILE_INSPECTOR_ELEMENT_TYPE, {}, w->colours[1]);
}
if ((widget = &w->widgets[WIDX_COLUMN_BASEHEIGHT])->type != WWT_EMPTY)
if ((widget = &w->widgets[WIDX_COLUMN_BASEHEIGHT])->type != WindowWidgetType::Empty)
{
DrawTextEllipsised(
dpi, { w->windowPos.x + widget->left + 1, w->windowPos.y + widget->top + 1 }, widget->width(),
STR_TILE_INSPECTOR_BASE_HEIGHT_SHORT, {}, w->colours[1]);
}
if ((widget = &w->widgets[WIDX_COLUMN_CLEARANCEHEIGHT])->type != WWT_EMPTY)
if ((widget = &w->widgets[WIDX_COLUMN_CLEARANCEHEIGHT])->type != WindowWidgetType::Empty)
{
DrawTextEllipsised(
dpi, { w->windowPos.x + widget->left + 1, w->windowPos.y + widget->top + 1 }, widget->width(),
STR_TILE_INSPECTOR_CLEARANGE_HEIGHT_SHORT, {}, w->colours[1]);
}
if ((widget = &w->widgets[WIDX_COLUMN_GHOSTFLAG])->type != WWT_EMPTY)
if ((widget = &w->widgets[WIDX_COLUMN_GHOSTFLAG])->type != WindowWidgetType::Empty)
{
DrawTextEllipsised(
dpi, { w->windowPos.x + widget->left + 1, w->windowPos.y + widget->top + 1 }, widget->width(),
STR_TILE_INSPECTOR_FLAG_GHOST_SHORT, {}, w->colours[1]);
}
if ((widget = &w->widgets[WIDX_COLUMN_LASTFLAG])->type != WWT_EMPTY)
if ((widget = &w->widgets[WIDX_COLUMN_LASTFLAG])->type != WindowWidgetType::Empty)
{
DrawTextEllipsised(
dpi, { w->windowPos.x + widget->left + 1, w->windowPos.y + widget->top + 1 }, widget->width(),

View File

@ -86,24 +86,24 @@ static TitleSequence * _sequence = nullptr;
static rct_widget window_title_command_editor_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 16, 32}, { 168, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Command dropdown
MakeWidget({172, 33}, { 11, 12}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({ 16, 70}, { 168, 12}, WWT_TEXT_BOX, WindowColour::Secondary ), // full textbox
MakeWidget({ 16, 32}, { 168, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Command dropdown
MakeWidget({172, 33}, { 11, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({ 16, 70}, { 168, 12}, WindowWidgetType::TextBox, WindowColour::Secondary ), // full textbox
MakeWidget({ 16, 70}, { 81, 12}, WWT_TEXT_BOX, WindowColour::Secondary ), // x textbox
MakeWidget({103, 70}, { 81, 12}, WWT_TEXT_BOX, WindowColour::Secondary ), // y textbox
MakeWidget({ 16, 70}, { 81, 12}, WindowWidgetType::TextBox, WindowColour::Secondary ), // x textbox
MakeWidget({103, 70}, { 81, 12}, WindowWidgetType::TextBox, WindowColour::Secondary ), // y textbox
MakeWidget({ 16, 70}, { 168, 12}, WWT_DROPDOWN, WindowColour::Secondary ), // Save dropdown
MakeWidget({172, 71}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({ 16, 70}, { 168, 12}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Save dropdown
MakeWidget({172, 71}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget({103, 56}, { 81, 12}, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_COMMAND_EDITOR_ACTION_GET_LOCATION ), // Get location/zoom/etc
MakeWidget({112, 56}, { 72, 12}, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_COMMAND_EDITOR_ACTION_SELECT_SCENARIO), // Select scenario
MakeWidget({103, 56}, { 81, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_COMMAND_EDITOR_ACTION_GET_LOCATION ), // Get location/zoom/etc
MakeWidget({112, 56}, { 72, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_COMMAND_EDITOR_ACTION_SELECT_SCENARIO), // Select scenario
MakeWidget({ 16, 56}, { 168, 12}, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_COMMAND_EDITOR_SELECT_SPRITE ), // Select sprite
MakeWidget({ 16, 70}, { 168, 24}, WWT_VIEWPORT, WindowColour::Secondary ), // Viewport
MakeWidget({ 16, 56}, { 168, 12}, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_COMMAND_EDITOR_SELECT_SPRITE ), // Select sprite
MakeWidget({ 16, 70}, { 168, 24}, WindowWidgetType::Viewport, WindowColour::Secondary ), // Viewport
MakeWidget({ 10, 99}, { 71, 14}, WWT_BUTTON, WindowColour::Secondary, STR_OK ), // OKAY
MakeWidget({120, 99}, { 71, 14}, WWT_BUTTON, WindowColour::Secondary, STR_CANCEL ), // Cancel
MakeWidget({ 10, 99}, { 71, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_OK ), // OKAY
MakeWidget({120, 99}, { 71, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_CANCEL ), // Cancel
{ WIDGETS_END },
};
@ -643,42 +643,42 @@ static void window_title_command_editor_invalidate(rct_window* w)
{
ColourSchemeUpdateByClass(w, WC_TITLE_EDITOR);
window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_TEXTBOX_X].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_TEXTBOX_Y].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_INPUT].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_INPUT_DROPDOWN].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_GET].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_SELECT_SCENARIO].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_SELECT_SPRITE].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_VIEWPORT].type = WWT_EMPTY;
window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WindowWidgetType::Empty;
window_title_command_editor_widgets[WIDX_TEXTBOX_X].type = WindowWidgetType::Empty;
window_title_command_editor_widgets[WIDX_TEXTBOX_Y].type = WindowWidgetType::Empty;
window_title_command_editor_widgets[WIDX_INPUT].type = WindowWidgetType::Empty;
window_title_command_editor_widgets[WIDX_INPUT_DROPDOWN].type = WindowWidgetType::Empty;
window_title_command_editor_widgets[WIDX_GET].type = WindowWidgetType::Empty;
window_title_command_editor_widgets[WIDX_SELECT_SCENARIO].type = WindowWidgetType::Empty;
window_title_command_editor_widgets[WIDX_SELECT_SPRITE].type = WindowWidgetType::Empty;
window_title_command_editor_widgets[WIDX_VIEWPORT].type = WindowWidgetType::Empty;
switch (command.Type)
{
case TITLE_SCRIPT_LOAD:
case TITLE_SCRIPT_SPEED:
window_title_command_editor_widgets[WIDX_INPUT].type = WWT_DROPDOWN;
window_title_command_editor_widgets[WIDX_INPUT_DROPDOWN].type = WWT_BUTTON;
window_title_command_editor_widgets[WIDX_INPUT].type = WindowWidgetType::DropdownMenu;
window_title_command_editor_widgets[WIDX_INPUT_DROPDOWN].type = WindowWidgetType::Button;
break;
case TITLE_SCRIPT_LOADSC:
window_title_command_editor_widgets[WIDX_INPUT].type = WWT_DROPDOWN;
window_title_command_editor_widgets[WIDX_SELECT_SCENARIO].type = WWT_BUTTON;
window_title_command_editor_widgets[WIDX_INPUT].type = WindowWidgetType::DropdownMenu;
window_title_command_editor_widgets[WIDX_SELECT_SCENARIO].type = WindowWidgetType::Button;
break;
case TITLE_SCRIPT_LOCATION:
window_title_command_editor_widgets[WIDX_TEXTBOX_X].type = WWT_TEXT_BOX;
window_title_command_editor_widgets[WIDX_TEXTBOX_Y].type = WWT_TEXT_BOX;
window_title_command_editor_widgets[WIDX_GET].type = WWT_BUTTON;
window_title_command_editor_widgets[WIDX_TEXTBOX_X].type = WindowWidgetType::TextBox;
window_title_command_editor_widgets[WIDX_TEXTBOX_Y].type = WindowWidgetType::TextBox;
window_title_command_editor_widgets[WIDX_GET].type = WindowWidgetType::Button;
break;
case TITLE_SCRIPT_ROTATE:
case TITLE_SCRIPT_WAIT:
window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_TEXT_BOX;
window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WindowWidgetType::TextBox;
break;
case TITLE_SCRIPT_ZOOM:
window_title_command_editor_widgets[WIDX_GET].type = WWT_BUTTON;
window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WWT_TEXT_BOX;
window_title_command_editor_widgets[WIDX_GET].type = WindowWidgetType::Button;
window_title_command_editor_widgets[WIDX_TEXTBOX_FULL].type = WindowWidgetType::TextBox;
break;
case TITLE_SCRIPT_FOLLOW:
window_title_command_editor_widgets[WIDX_SELECT_SPRITE].type = WWT_BUTTON;
window_title_command_editor_widgets[WIDX_VIEWPORT].type = WWT_VIEWPORT;
window_title_command_editor_widgets[WIDX_SELECT_SPRITE].type = WindowWidgetType::Button;
window_title_command_editor_widgets[WIDX_VIEWPORT].type = WindowWidgetType::Viewport;
// Draw button pressed while the tool is active
if (sprite_selector_tool_is_active())

View File

@ -134,40 +134,40 @@ static constexpr int32_t SCROLL_WIDTH = 350;
static rct_widget window_title_editor_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 43}, { 320, 84}, WWT_RESIZE, WindowColour::Secondary ), // tab content panel
MakeWidget({ 0, 43}, { 320, 84}, WindowWidgetType::Resize, WindowColour::Secondary ), // tab content panel
MakeTab ({ 3, 17}, STR_THEMES_TAB_SETTINGS_TIP ), // presets tab
MakeTab ({ 34, 17}, STR_TITLE_EDITOR_SAVES_TAB_TIP ), // saves tab
MakeTab ({ 65, 17}, STR_TITLE_EDITOR_SCRIPT_TAB_TIP ), // script tab
MakeWidget({ 89, 48}, { 228, 219}, WWT_SCROLL, WindowColour::Secondary, SCROLL_BOTH), // command/save list
MakeWidget({ 89, 48}, { 228, 219}, WindowWidgetType::Scroll, WindowColour::Secondary, SCROLL_BOTH), // command/save list
// Presets Tab
MakeWidget ({ 125, 60}, { 175, 14}, WWT_DROPDOWN, WindowColour::Secondary ), // Preset title sequences
MakeWidget ({ 288, 61}, { 11, 10}, WWT_BUTTON, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget ({ 10, 82}, ACTION_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_CREATE, STR_TITLE_EDITOR_ACTION_CREATE_SEQUENCE_TIP ), // Create button
MakeWidget ({ 10, 102}, ACTION_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ACTION_DUPLICATE_SEQUENCE_TIP), // Duplicate button
MakeWidget ({ 110, 82}, ACTION_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TRACK_MANAGE_DELETE, STR_TITLE_EDITOR_ACTION_DELETE_SEQUENCE_TIP ), // Delete button
MakeWidget ({ 210, 82}, ACTION_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ACTION_RENAME_SEQUENCE_TIP ), // Rename button
MakeWidget ({ 125, 60}, { 175, 14}, WindowWidgetType::DropdownMenu, WindowColour::Secondary ), // Preset title sequences
MakeWidget ({ 288, 61}, { 11, 10}, WindowWidgetType::Button, WindowColour::Secondary, STR_DROPDOWN_GLYPH ),
MakeWidget ({ 10, 82}, ACTION_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_CREATE, STR_TITLE_EDITOR_ACTION_CREATE_SEQUENCE_TIP ), // Create button
MakeWidget ({ 10, 102}, ACTION_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ACTION_DUPLICATE_SEQUENCE_TIP), // Duplicate button
MakeWidget ({ 110, 82}, ACTION_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TRACK_MANAGE_DELETE, STR_TITLE_EDITOR_ACTION_DELETE_SEQUENCE_TIP ), // Delete button
MakeWidget ({ 210, 82}, ACTION_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ACTION_RENAME_SEQUENCE_TIP ), // Rename button
// Saves Tab
MakeWidget ({ 8, 52}, EDIT_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_ADD, STR_TITLE_EDITOR_ACTION_ADD_TIP ), // Add
MakeWidget ({ 8, 70}, EDIT_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_REMOVE, STR_TITLE_EDITOR_ACTION_REMOVE_TIP ), // Remove
MakeWidget ({ 8, 88}, EDIT_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ACTION_RENAME_TIP ), // Rename
MakeWidget ({ 8, 106}, EDIT_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_LOAD, STR_TITLE_EDITOR_ACTION_LOAD_TIP ), // Load
MakeWidget ({ 8, 52}, EDIT_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_ADD, STR_TITLE_EDITOR_ACTION_ADD_TIP ), // Add
MakeWidget ({ 8, 70}, EDIT_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_REMOVE, STR_TITLE_EDITOR_ACTION_REMOVE_TIP ), // Remove
MakeWidget ({ 8, 88}, EDIT_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ACTION_RENAME_TIP ), // Rename
MakeWidget ({ 8, 106}, EDIT_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_LOAD, STR_TITLE_EDITOR_ACTION_LOAD_TIP ), // Load
// Script Tab
MakeWidget ({ 8, 52}, EDIT_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_INSERT, STR_TITLE_EDITOR_ACTION_INSERT_TIP ), // Insert
MakeWidget ({ 8, 70}, EDIT_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_EDIT, STR_TITLE_EDITOR_ACTION_EDIT_TIP ), // Edit
MakeWidget ({ 8, 88}, EDIT_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TRACK_MANAGE_DELETE, STR_TITLE_EDITOR_ACTION_DELETE_TIP ), // Delete
// MakeWidget ({ 8, 106}, EDIT_BTN, WWT_DROPDOWN_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_RELOAD, STR_TITLE_EDITOR_ACTION_RELOAD_TIP ), // Reload
MakeWidget ({ 8, 106}, EDIT_BTN, WWT_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_SKIP_TO, STR_TITLE_EDITOR_ACTION_SKIP_TO_TIP ), // Skip to
MakeWidget ({ 8, 52}, EDIT_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_INSERT, STR_TITLE_EDITOR_ACTION_INSERT_TIP ), // Insert
MakeWidget ({ 8, 70}, EDIT_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_EDIT, STR_TITLE_EDITOR_ACTION_EDIT_TIP ), // Edit
MakeWidget ({ 8, 88}, EDIT_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TRACK_MANAGE_DELETE, STR_TITLE_EDITOR_ACTION_DELETE_TIP ), // Delete
// MakeWidget ({ 8, 106}, EDIT_BTN, WindowWidgetType::DropdownMenu_BUTTON, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_RELOAD, STR_TITLE_EDITOR_ACTION_RELOAD_TIP ), // Reload
MakeWidget ({ 8, 106}, EDIT_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_TITLE_EDITOR_ACTION_SKIP_TO, STR_TITLE_EDITOR_ACTION_SKIP_TO_TIP ), // Skip to
MakeWidget ({ 8, 142}, REORDER_BTN, WWT_BUTTON, WindowColour::Secondary, STR_DOWN, STR_TITLE_EDITOR_ACTION_MOVE_DOWN_TIP ), // Move down
MakeWidget ({ 44, 142}, REORDER_BTN, WWT_BUTTON, WindowColour::Secondary, STR_UP, STR_TITLE_EDITOR_ACTION_MOVE_UP_TIP ), // Move up
MakeWidget ({ 8, 142}, REORDER_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_DOWN, STR_TITLE_EDITOR_ACTION_MOVE_DOWN_TIP ), // Move down
MakeWidget ({ 44, 142}, REORDER_BTN, WindowWidgetType::Button, WindowColour::Secondary, STR_UP, STR_TITLE_EDITOR_ACTION_MOVE_UP_TIP ), // Move up
MakeWidget ({ 8, 238}, PLAYBACK_BTN, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_TITLE_RESTART, STR_TITLE_EDITOR_ACTION_REPLAY_TIP ), // Replay
MakeWidget ({ 26, 238}, PLAYBACK_BTN, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_TITLE_STOP, STR_TITLE_EDITOR_ACTION_STOP_TIP ), // Stop
MakeWidget ({ 44, 238}, PLAYBACK_BTN, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_TITLE_PLAY, STR_TITLE_EDITOR_ACTION_PLAY_TIP ), // Play
MakeWidget ({ 62, 238}, PLAYBACK_BTN, WWT_IMGBTN, WindowColour::Secondary, SPR_G2_TITLE_SKIP, STR_TITLE_EDITOR_ACTION_SKIP_TIP ), // Skip
MakeWidget ({ 8, 238}, PLAYBACK_BTN, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_TITLE_RESTART, STR_TITLE_EDITOR_ACTION_REPLAY_TIP ), // Replay
MakeWidget ({ 26, 238}, PLAYBACK_BTN, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_TITLE_STOP, STR_TITLE_EDITOR_ACTION_STOP_TIP ), // Stop
MakeWidget ({ 44, 238}, PLAYBACK_BTN, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_TITLE_PLAY, STR_TITLE_EDITOR_ACTION_PLAY_TIP ), // Play
MakeWidget ({ 62, 238}, PLAYBACK_BTN, WindowWidgetType::ImgBtn, WindowColour::Secondary, SPR_G2_TITLE_SKIP, STR_TITLE_EDITOR_ACTION_SKIP_TIP ), // Skip
{ WIDGETS_END },
};
@ -698,66 +698,66 @@ static void window_title_editor_invalidate(rct_window* w)
w->pressed_widgets = pressed_widgets | (1 << widgetIndex);
window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_NEW_BUTTON].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DUPLICATE_BUTTON].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE_BUTTON].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_BUTTON].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_NEW_BUTTON].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DUPLICATE_BUTTON].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE_BUTTON].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_BUTTON].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_ADD_SAVE].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REMOVE_SAVE].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_LOAD_SAVE].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_ADD_SAVE].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REMOVE_SAVE].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_LOAD_SAVE].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_INSERT].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_EDIT].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE].type = WWT_EMPTY;
// window_title_editor_widgets[WIDX_TITLE_EDITOR_RELOAD].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP_TO].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_UP].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_DOWN].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_EMPTY;
window_title_editor_widgets[WIDX_TITLE_EDITOR_INSERT].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_EDIT].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE].type = WindowWidgetType::Empty;
// window_title_editor_widgets[WIDX_TITLE_EDITOR_RELOAD].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP_TO].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_UP].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_DOWN].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WindowWidgetType::Empty;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WindowWidgetType::Empty;
switch (w->selected_tab)
{
case WINDOW_TITLE_EDITOR_TAB_PRESETS:
window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].type = WWT_DROPDOWN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_NEW_BUTTON].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DUPLICATE_BUTTON].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE_BUTTON].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_BUTTON].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS].type = WindowWidgetType::DropdownMenu;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PRESETS_DROPDOWN].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_NEW_BUTTON].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DUPLICATE_BUTTON].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE_BUTTON].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_BUTTON].type = WindowWidgetType::Button;
break;
case WINDOW_TITLE_EDITOR_TAB_SAVES:
window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_SCROLL;
window_title_editor_widgets[WIDX_TITLE_EDITOR_ADD_SAVE].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REMOVE_SAVE].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_LOAD_SAVE].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_IMGBTN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_IMGBTN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_IMGBTN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_IMGBTN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WindowWidgetType::Scroll;
window_title_editor_widgets[WIDX_TITLE_EDITOR_ADD_SAVE].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REMOVE_SAVE].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_RENAME_SAVE].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_LOAD_SAVE].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WindowWidgetType::ImgBtn;
window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WindowWidgetType::ImgBtn;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WindowWidgetType::ImgBtn;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WindowWidgetType::ImgBtn;
break;
case WINDOW_TITLE_EDITOR_TAB_SCRIPT:
window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WWT_SCROLL;
window_title_editor_widgets[WIDX_TITLE_EDITOR_INSERT].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_EDIT].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE].type = WWT_BUTTON;
// window_title_editor_widgets[WIDX_TITLE_EDITOR_RELOAD].type = WWT_DROPDOWN_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP_TO].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_UP].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_DOWN].type = WWT_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WWT_IMGBTN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WWT_IMGBTN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WWT_IMGBTN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WWT_IMGBTN;
window_title_editor_widgets[WIDX_TITLE_EDITOR_LIST].type = WindowWidgetType::Scroll;
window_title_editor_widgets[WIDX_TITLE_EDITOR_INSERT].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_EDIT].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_DELETE].type = WindowWidgetType::Button;
// window_title_editor_widgets[WIDX_TITLE_EDITOR_RELOAD].type = WindowWidgetType::DropdownMenu_BUTTON;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP_TO].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_UP].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_MOVE_DOWN].type = WindowWidgetType::Button;
window_title_editor_widgets[WIDX_TITLE_EDITOR_PLAY].type = WindowWidgetType::ImgBtn;
window_title_editor_widgets[WIDX_TITLE_EDITOR_STOP].type = WindowWidgetType::ImgBtn;
window_title_editor_widgets[WIDX_TITLE_EDITOR_REPLAY].type = WindowWidgetType::ImgBtn;
window_title_editor_widgets[WIDX_TITLE_EDITOR_SKIP].type = WindowWidgetType::ImgBtn;
break;
}

View File

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

View File

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

View File

@ -36,11 +36,11 @@ static constexpr ScreenSize MenuButtonDims = { 82, 82 };
static constexpr ScreenSize UpdateButtonDims = { MenuButtonDims.width * 4, 28 };
static rct_widget window_title_menu_widgets[] = {
MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WWT_IMGBTN, WindowColour::Tertiary, SPR_MENU_NEW_GAME, STR_START_NEW_GAME_TIP),
MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WWT_IMGBTN, WindowColour::Tertiary, SPR_MENU_LOAD_GAME, STR_CONTINUE_SAVED_GAME_TIP),
MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WWT_IMGBTN, WindowColour::Tertiary, SPR_G2_MENU_MULTIPLAYER, STR_SHOW_MULTIPLAYER_TIP),
MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WWT_IMGBTN, WindowColour::Tertiary, SPR_MENU_TOOLBOX, STR_GAME_TOOLS_TIP),
MakeWidget({0, 0}, UpdateButtonDims, WWT_EMPTY, WindowColour::Secondary, STR_UPDATE_AVAILABLE),
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_G2_MENU_MULTIPLAYER, STR_SHOW_MULTIPLAYER_TIP),
MakeWidget({0, UpdateButtonDims.height}, MenuButtonDims, WindowWidgetType::ImgBtn, WindowColour::Tertiary, SPR_MENU_TOOLBOX, STR_GAME_TOOLS_TIP),
MakeWidget({0, 0}, UpdateButtonDims, WindowWidgetType::Empty, WindowColour::Secondary, STR_UPDATE_AVAILABLE),
{ WIDGETS_END },
};
@ -96,7 +96,7 @@ rct_window* window_title_menu_open()
}
else
{
widget->type = WWT_EMPTY;
widget->type = WindowWidgetType::Empty;
}
i++;
}
@ -226,7 +226,7 @@ static void window_title_menu_invalidate(rct_window* w)
if (OpenRCT2::GetContext()->HasNewVersionInfo())
{
w->enabled_widgets |= (1ULL << WIDX_NEW_VERSION);
w->widgets[WIDX_NEW_VERSION].type = WWT_BUTTON;
w->widgets[WIDX_NEW_VERSION].type = WindowWidgetType::Button;
_filterRect.Point1.y = w->windowPos.y;
}
}

View File

@ -20,7 +20,7 @@ enum WINDOW_TITLE_OPTIONS_WIDGET_IDX {
};
static rct_widget window_title_options_widgets[] = {
MakeWidget({0, 0}, {80, 15}, WWT_BUTTON, WindowColour::Tertiary, STR_OPTIONS, STR_OPTIONS_TIP),
MakeWidget({0, 0}, {80, 15}, WindowWidgetType::Button, WindowColour::Tertiary, STR_OPTIONS, STR_OPTIONS_TIP),
{ WIDGETS_END },
};

View File

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

View File

@ -230,33 +230,33 @@ static constexpr const int32_t right_aligned_widgets_order[] = {
#pragma endregion
static rct_widget window_top_toolbar_widgets[] = {
MakeRemapWidget({ 0, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Primary , SPR_TOOLBAR_PAUSE, STR_PAUSE_GAME_TIP ), // Pause
MakeRemapWidget({ 60, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Primary , SPR_TOOLBAR_FILE, STR_DISC_AND_GAME_OPTIONS_TIP ), // File menu
MakeRemapWidget({250, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Primary , SPR_G2_TOOLBAR_MUTE, STR_TOOLBAR_MUTE_TIP ), // Mute
MakeRemapWidget({100, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Secondary , SPR_TOOLBAR_ZOOM_OUT, STR_ZOOM_OUT_TIP ), // Zoom out
MakeRemapWidget({130, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Secondary , SPR_TOOLBAR_ZOOM_IN, STR_ZOOM_IN_TIP ), // Zoom in
MakeRemapWidget({160, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Secondary , SPR_TOOLBAR_ROTATE, STR_ROTATE_TIP ), // Rotate camera
MakeRemapWidget({190, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Secondary , SPR_TOOLBAR_VIEW, STR_VIEW_OPTIONS_TIP ), // Transparency menu
MakeRemapWidget({220, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Secondary , SPR_TOOLBAR_MAP, STR_SHOW_MAP_TIP ), // Map
MakeRemapWidget({267, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Tertiary , SPR_TOOLBAR_LAND, STR_ADJUST_LAND_TIP ), // Land
MakeRemapWidget({297, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Tertiary , SPR_TOOLBAR_WATER, STR_ADJUST_WATER_TIP ), // Water
MakeRemapWidget({327, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Tertiary , SPR_TOOLBAR_SCENERY, STR_PLACE_SCENERY_TIP ), // Scenery
MakeRemapWidget({357, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Tertiary , SPR_TOOLBAR_FOOTPATH, STR_BUILD_FOOTPATH_TIP ), // Path
MakeRemapWidget({387, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Tertiary , SPR_TOOLBAR_CONSTRUCT_RIDE, STR_BUILD_RIDE_TIP ), // Construct ride
MakeRemapWidget({490, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Quaternary, SPR_TOOLBAR_RIDES, STR_RIDES_IN_PARK_TIP ), // Rides
MakeRemapWidget({520, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Quaternary, SPR_TOOLBAR_PARK, STR_PARK_INFORMATION_TIP ), // Park
MakeRemapWidget({550, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Quaternary, SPR_TAB_TOOLBAR, STR_STAFF_TIP ), // Staff
MakeRemapWidget({560, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Quaternary, SPR_TOOLBAR_GUESTS, STR_GUESTS_TIP ), // Guests
MakeRemapWidget({560, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Tertiary , SPR_TOOLBAR_CLEAR_SCENERY, STR_CLEAR_SCENERY_TIP ), // Clear scenery
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Primary , SPR_TAB_TOOLBAR, STR_GAME_SPEED_TIP ), // Fast forward
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Primary , SPR_TAB_TOOLBAR, STR_CHEATS_TIP ), // Cheats
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Primary , SPR_TAB_TOOLBAR, STR_DEBUG_TIP ), // Debug
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Quaternary, SPR_TAB_TOOLBAR, STR_SCENARIO_OPTIONS_FINANCIAL_TIP), // Finances
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Quaternary, SPR_TAB_TOOLBAR, STR_FINANCES_RESEARCH_TIP ), // Research
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Quaternary, SPR_TAB_TOOLBAR, STR_SHOW_RECENT_MESSAGES_TIP ), // News
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Primary , SPR_G2_TOOLBAR_MULTIPLAYER, STR_SHOW_MULTIPLAYER_STATUS_TIP ), // Network
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WWT_TRNBTN, WindowColour::Primary , SPR_TAB_TOOLBAR, STR_TOOLBAR_CHAT_TIP ), // Chat
MakeWidget ({ 0, 0}, {10, 1}, WWT_EMPTY, WindowColour::Primary ), // Artificial widget separator
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({250, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_G2_TOOLBAR_MUTE, STR_TOOLBAR_MUTE_TIP ), // Mute
MakeRemapWidget({100, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Secondary , SPR_TOOLBAR_ZOOM_OUT, STR_ZOOM_OUT_TIP ), // Zoom out
MakeRemapWidget({130, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Secondary , SPR_TOOLBAR_ZOOM_IN, STR_ZOOM_IN_TIP ), // Zoom in
MakeRemapWidget({160, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Secondary , SPR_TOOLBAR_ROTATE, STR_ROTATE_TIP ), // Rotate camera
MakeRemapWidget({190, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Secondary , SPR_TOOLBAR_VIEW, STR_VIEW_OPTIONS_TIP ), // Transparency menu
MakeRemapWidget({220, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Secondary , SPR_TOOLBAR_MAP, STR_SHOW_MAP_TIP ), // Map
MakeRemapWidget({267, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Tertiary , SPR_TOOLBAR_LAND, STR_ADJUST_LAND_TIP ), // Land
MakeRemapWidget({297, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Tertiary , SPR_TOOLBAR_WATER, STR_ADJUST_WATER_TIP ), // Water
MakeRemapWidget({327, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Tertiary , SPR_TOOLBAR_SCENERY, STR_PLACE_SCENERY_TIP ), // Scenery
MakeRemapWidget({357, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Tertiary , SPR_TOOLBAR_FOOTPATH, STR_BUILD_FOOTPATH_TIP ), // Path
MakeRemapWidget({387, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Tertiary , SPR_TOOLBAR_CONSTRUCT_RIDE, STR_BUILD_RIDE_TIP ), // Construct ride
MakeRemapWidget({490, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Quaternary, SPR_TOOLBAR_RIDES, STR_RIDES_IN_PARK_TIP ), // Rides
MakeRemapWidget({520, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Quaternary, SPR_TOOLBAR_PARK, STR_PARK_INFORMATION_TIP ), // Park
MakeRemapWidget({550, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Quaternary, SPR_TAB_TOOLBAR, STR_STAFF_TIP ), // Staff
MakeRemapWidget({560, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Quaternary, SPR_TOOLBAR_GUESTS, STR_GUESTS_TIP ), // Guests
MakeRemapWidget({560, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Tertiary , SPR_TOOLBAR_CLEAR_SCENERY, STR_CLEAR_SCENERY_TIP ), // Clear scenery
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_TAB_TOOLBAR, STR_GAME_SPEED_TIP ), // Fast forward
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_TAB_TOOLBAR, STR_CHEATS_TIP ), // Cheats
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_TAB_TOOLBAR, STR_DEBUG_TIP ), // Debug
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Quaternary, SPR_TAB_TOOLBAR, STR_SCENARIO_OPTIONS_FINANCIAL_TIP), // Finances
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Quaternary, SPR_TAB_TOOLBAR, STR_FINANCES_RESEARCH_TIP ), // Research
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Quaternary, SPR_TAB_TOOLBAR, STR_SHOW_RECENT_MESSAGES_TIP ), // News
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_G2_TOOLBAR_MULTIPLAYER, STR_SHOW_MULTIPLAYER_STATUS_TIP ), // Network
MakeRemapWidget({ 30, 0}, {30, TOP_TOOLBAR_HEIGHT + 1}, WindowWidgetType::TrnBtn, WindowColour::Primary , SPR_TAB_TOOLBAR, STR_TOOLBAR_CHAT_TIP ), // Chat
MakeWidget ({ 0, 0}, {10, 1}, WindowWidgetType::Empty, WindowColour::Primary ), // Artificial widget separator
{ WIDGETS_END },
};
@ -634,111 +634,112 @@ static void window_top_toolbar_invalidate(rct_window* w)
rct_widget* widget;
// Enable / disable buttons
window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_FILE_MENU].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_ZOOM_OUT].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_ZOOM_IN].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_ROTATE].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_VIEW_MENU].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_MAP].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_MUTE].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_CHAT].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_LAND].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_WATER].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_SCENERY].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_PATH].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_CONSTRUCT_RIDE].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_RIDES].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_PARK].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_STAFF].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_GUESTS].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_CLEAR_SCENERY].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_CHEATS].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_DEBUG].type = gConfigGeneral.debugging_tools ? WWT_TRNBTN : WWT_EMPTY;
window_top_toolbar_widgets[WIDX_NEWS].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_TRNBTN;
window_top_toolbar_widgets[WIDX_PAUSE].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_FILE_MENU].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_ZOOM_OUT].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_ZOOM_IN].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_ROTATE].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_VIEW_MENU].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_MAP].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_MUTE].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_CHAT].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_LAND].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_WATER].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_SCENERY].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_PATH].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_CONSTRUCT_RIDE].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_RIDES].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_PARK].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_STAFF].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_GUESTS].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_CLEAR_SCENERY].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_FINANCES].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_RESEARCH].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_CHEATS].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_DEBUG].type = gConfigGeneral.debugging_tools ? WindowWidgetType::TrnBtn
: WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_NEWS].type = WindowWidgetType::TrnBtn;
window_top_toolbar_widgets[WIDX_NETWORK].type = WindowWidgetType::TrnBtn;
if (!gConfigInterface.toolbar_show_mute)
{
window_top_toolbar_widgets[WIDX_MUTE].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_MUTE].type = WindowWidgetType::Empty;
}
if (!gConfigInterface.toolbar_show_chat)
{
window_top_toolbar_widgets[WIDX_CHAT].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_CHAT].type = WindowWidgetType::Empty;
}
if (gScreenFlags & SCREEN_FLAGS_EDITOR)
{
window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_RIDES].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_PARK].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_STAFF].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_GUESTS].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_NEWS].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_PAUSE].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_RIDES].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_PARK].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_STAFF].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_GUESTS].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_FINANCES].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_RESEARCH].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_NEWS].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_NETWORK].type = WindowWidgetType::Empty;
if (gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR)
{
window_top_toolbar_widgets[WIDX_MAP].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_LAND].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_WATER].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_SCENERY].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_PATH].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_CLEAR_SCENERY].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_MAP].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_LAND].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_WATER].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_SCENERY].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_PATH].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_CLEAR_SCENERY].type = WindowWidgetType::Empty;
}
if (gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER)
{
window_top_toolbar_widgets[WIDX_CONSTRUCT_RIDE].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_CONSTRUCT_RIDE].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WindowWidgetType::Empty;
}
if (gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR && gS6Info.editor_step != EDITOR_STEP_ROLLERCOASTER_DESIGNER)
{
window_top_toolbar_widgets[WIDX_ZOOM_OUT].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_ZOOM_IN].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_ROTATE].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_VIEW_MENU].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_ZOOM_OUT].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_ZOOM_IN].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_ROTATE].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_VIEW_MENU].type = WindowWidgetType::Empty;
}
}
else
{
if ((gParkFlags & PARK_FLAGS_NO_MONEY) || !gConfigInterface.toolbar_show_finances)
window_top_toolbar_widgets[WIDX_FINANCES].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_FINANCES].type = WindowWidgetType::Empty;
if (!gConfigInterface.toolbar_show_research)
window_top_toolbar_widgets[WIDX_RESEARCH].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_RESEARCH].type = WindowWidgetType::Empty;
if (!gConfigInterface.toolbar_show_cheats)
window_top_toolbar_widgets[WIDX_CHEATS].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_CHEATS].type = WindowWidgetType::Empty;
if (!gConfigInterface.toolbar_show_news)
window_top_toolbar_widgets[WIDX_NEWS].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_NEWS].type = WindowWidgetType::Empty;
switch (network_get_mode())
{
case NETWORK_MODE_NONE:
window_top_toolbar_widgets[WIDX_NETWORK].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_CHAT].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_NETWORK].type = WindowWidgetType::Empty;
window_top_toolbar_widgets[WIDX_CHAT].type = WindowWidgetType::Empty;
break;
case NETWORK_MODE_CLIENT:
window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_PAUSE].type = WindowWidgetType::Empty;
[[fallthrough]];
case NETWORK_MODE_SERVER:
window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WWT_EMPTY;
window_top_toolbar_widgets[WIDX_FASTFORWARD].type = WindowWidgetType::Empty;
break;
}
}
enabledWidgets = 0;
for (int i = WIDX_PAUSE; i <= WIDX_CHAT; i++)
if (window_top_toolbar_widgets[i].type != WWT_EMPTY)
if (window_top_toolbar_widgets[i].type != WindowWidgetType::Empty)
enabledWidgets |= (1 << i);
w->enabled_widgets = enabledWidgets;
@ -749,7 +750,7 @@ static void window_top_toolbar_invalidate(rct_window* w)
{
widgetIndex = left_aligned_widgets_order[i];
widget = &window_top_toolbar_widgets[widgetIndex];
if (widget->type == WWT_EMPTY && widgetIndex != WIDX_SEPARATOR)
if (widget->type == WindowWidgetType::Empty && widgetIndex != WIDX_SEPARATOR)
continue;
if (firstAlignment && widgetIndex == WIDX_SEPARATOR)
@ -771,7 +772,7 @@ static void window_top_toolbar_invalidate(rct_window* w)
{
widgetIndex = right_aligned_widgets_order[i];
widget = &window_top_toolbar_widgets[widgetIndex];
if (widget->type == WWT_EMPTY && widgetIndex != WIDX_SEPARATOR)
if (widget->type == WindowWidgetType::Empty && widgetIndex != WIDX_SEPARATOR)
continue;
if (firstAlignment && widgetIndex == WIDX_SEPARATOR)
@ -802,7 +803,7 @@ static void window_top_toolbar_invalidate(rct_window* w)
window_top_toolbar_widgets[WIDX_MUTE].image = IMAGE_TYPE_REMAP | SPR_G2_TOOLBAR_UNMUTE;
// Set map button to the right image.
if (window_top_toolbar_widgets[WIDX_MAP].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_MAP].type != WindowWidgetType::Empty)
{
static constexpr uint32_t imageIdByRotation[] = {
SPR_G2_MAP_NORTH,
@ -842,7 +843,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
ScreenCoordsXY screenPos{};
// Draw staff button image (setting masks to the staff colours)
if (window_top_toolbar_widgets[WIDX_STAFF].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_STAFF].type != WindowWidgetType::Empty)
{
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_STAFF].left,
w->windowPos.y + window_top_toolbar_widgets[WIDX_STAFF].top };
@ -854,7 +855,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// Draw fast forward button
if (window_top_toolbar_widgets[WIDX_FASTFORWARD].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_FASTFORWARD].type != WindowWidgetType::Empty)
{
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_FASTFORWARD].left + 0,
w->windowPos.y + window_top_toolbar_widgets[WIDX_FASTFORWARD].top + 0 };
@ -874,7 +875,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// Draw cheats button
if (window_top_toolbar_widgets[WIDX_CHEATS].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_CHEATS].type != WindowWidgetType::Empty)
{
screenPos = w->windowPos
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_CHEATS].left - 1,
@ -894,7 +895,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// Draw chat button
if (window_top_toolbar_widgets[WIDX_CHAT].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_CHAT].type != WindowWidgetType::Empty)
{
screenPos = w->windowPos
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_CHAT].left, window_top_toolbar_widgets[WIDX_CHAT].top - 2 };
@ -905,7 +906,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// Draw debug button
if (window_top_toolbar_widgets[WIDX_DEBUG].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_DEBUG].type != WindowWidgetType::Empty)
{
screenPos = w->windowPos
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_DEBUG].left, window_top_toolbar_widgets[WIDX_DEBUG].top - 1 };
@ -916,7 +917,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// Draw research button
if (window_top_toolbar_widgets[WIDX_RESEARCH].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_RESEARCH].type != WindowWidgetType::Empty)
{
screenPos = w->windowPos
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_RESEARCH].left - 1,
@ -928,7 +929,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// Draw finances button
if (window_top_toolbar_widgets[WIDX_FINANCES].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_FINANCES].type != WindowWidgetType::Empty)
{
screenPos = w->windowPos
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_FINANCES].left + 3,
@ -940,7 +941,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// Draw news button
if (window_top_toolbar_widgets[WIDX_NEWS].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_NEWS].type != WindowWidgetType::Empty)
{
screenPos = w->windowPos
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_NEWS].left + 3, window_top_toolbar_widgets[WIDX_NEWS].top + 0 };
@ -951,7 +952,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// Draw network button
if (window_top_toolbar_widgets[WIDX_NETWORK].type != WWT_EMPTY)
if (window_top_toolbar_widgets[WIDX_NETWORK].type != WindowWidgetType::Empty)
{
screenPos = w->windowPos
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_NETWORK].left + 3,
@ -3080,7 +3081,7 @@ static void window_top_toolbar_land_tool_drag(const ScreenCoordsXY& screenPos)
if (widget_index == -1)
return;
rct_widget* widget = &window->widgets[widget_index];
if (widget->type != WWT_VIEWPORT)
if (widget->type != WindowWidgetType::Viewport)
return;
rct_viewport* viewport = window->viewport;
if (!viewport)
@ -3123,7 +3124,7 @@ static void window_top_toolbar_water_tool_drag(const ScreenCoordsXY& screenPos)
if (widget_index == -1)
return;
rct_widget* widget = &window->widgets[widget_index];
if (widget->type != WWT_VIEWPORT)
if (widget->type != WindowWidgetType::Viewport)
return;
rct_viewport* viewport = window->viewport;
if (!viewport)

View File

@ -36,15 +36,15 @@ enum {
static rct_widget window_track_manage_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 10, 24}, {110, 12}, WWT_BUTTON, WindowColour::Primary, STR_TRACK_MANAGE_RENAME),
MakeWidget({130, 24}, {110, 12}, WWT_BUTTON, WindowColour::Primary, STR_TRACK_MANAGE_DELETE),
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),
{ WIDGETS_END }
};
static rct_widget window_track_delete_prompt_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 10, 54}, {110, 12}, WWT_BUTTON, WindowColour::Primary, STR_TRACK_MANAGE_DELETE),
MakeWidget({130, 54}, {110, 12}, WWT_BUTTON, WindowColour::Primary, STR_CANCEL ),
MakeWidget({ 10, 54}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_TRACK_MANAGE_DELETE),
MakeWidget({130, 54}, {110, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_CANCEL ),
{ WIDGETS_END }
};

View File

@ -62,10 +62,10 @@ validate_global_widx(WC_TRACK_DESIGN_PLACE, WIDX_ROTATE);
static rct_widget window_track_place_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({173, 83}, { 24, 24}, WWT_FLATBTN, WindowColour::Primary, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP ),
MakeWidget({173, 59}, { 24, 24}, WWT_FLATBTN, WindowColour::Primary, SPR_MIRROR_ARROW, STR_MIRROR_IMAGE_TIP ),
MakeWidget({ 4, 109}, {192, 12}, WWT_BUTTON, WindowColour::Primary, STR_SELECT_A_DIFFERENT_DESIGN, STR_GO_BACK_TO_DESIGN_SELECTION_WINDOW_TIP),
MakeWidget({ 0, 0}, { 1, 1}, WWT_EMPTY, WindowColour::Primary),
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({ 4, 109}, {192, 12}, WindowWidgetType::Button, WindowColour::Primary, STR_SELECT_A_DIFFERENT_DESIGN, STR_GO_BACK_TO_DESIGN_SELECTION_WINDOW_TIP),
MakeWidget({ 0, 0}, { 1, 1}, WindowWidgetType::Empty, WindowColour::Primary),
{ WIDGETS_END },
};

View File

@ -46,13 +46,13 @@ validate_global_widx(WC_TRACK_DESIGN_LIST, WIDX_ROTATE);
static rct_widget window_track_list_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 4, 18}, {218, 13}, WWT_TABLE_HEADER, WindowColour::Primary , STR_SELECT_OTHER_RIDE ),
MakeWidget({ 4, 32}, {124, 13}, WWT_TEXT_BOX, WindowColour::Secondary ),
MakeWidget({130, 32}, { 92, 13}, WWT_BUTTON, WindowColour::Primary , STR_OBJECT_SEARCH_CLEAR ),
MakeWidget({ 4, 46}, {218, 381}, WWT_SCROLL, WindowColour::Primary , SCROLL_VERTICAL, STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP),
MakeWidget({224, 18}, {372, 219}, WWT_FLATBTN, WindowColour::Primary ),
MakeWidget({574, 405}, { 24, 24}, WWT_FLATBTN, WindowColour::Primary , SPR_ROTATE_ARROW, STR_ROTATE_90_TIP ),
MakeWidget({574, 381}, { 24, 24}, WWT_FLATBTN, WindowColour::Primary , SPR_SCENERY, STR_TOGGLE_SCENERY_TIP ),
MakeWidget({ 4, 18}, {218, 13}, WindowWidgetType::TableHeader, WindowColour::Primary , STR_SELECT_OTHER_RIDE ),
MakeWidget({ 4, 32}, {124, 13}, WindowWidgetType::TextBox, WindowColour::Secondary ),
MakeWidget({130, 32}, { 92, 13}, WindowWidgetType::Button, WindowColour::Primary , STR_OBJECT_SEARCH_CLEAR ),
MakeWidget({ 4, 46}, {218, 381}, WindowWidgetType::Scroll, WindowColour::Primary , SCROLL_VERTICAL, STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP),
MakeWidget({224, 18}, {372, 219}, WindowWidgetType::FlatBtn, WindowColour::Primary ),
MakeWidget({574, 405}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary , SPR_ROTATE_ARROW, STR_ROTATE_90_TIP ),
MakeWidget({574, 381}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary , SPR_SCENERY, STR_TOGGLE_SCENERY_TIP ),
{ WIDGETS_END },
};
@ -452,8 +452,8 @@ static void window_track_list_invalidate(rct_window* w)
{
w->pressed_widgets |= 1 << WIDX_TRACK_PREVIEW;
w->disabled_widgets &= ~(1 << WIDX_TRACK_PREVIEW);
window_track_list_widgets[WIDX_ROTATE].type = WWT_FLATBTN;
window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WWT_FLATBTN;
window_track_list_widgets[WIDX_ROTATE].type = WindowWidgetType::FlatBtn;
window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WindowWidgetType::FlatBtn;
if (gTrackDesignSceneryToggle)
{
w->pressed_widgets &= ~(1 << WIDX_TOGGLE_SCENERY);
@ -467,8 +467,8 @@ static void window_track_list_invalidate(rct_window* w)
{
w->pressed_widgets &= ~(1 << WIDX_TRACK_PREVIEW);
w->disabled_widgets |= (1 << WIDX_TRACK_PREVIEW);
window_track_list_widgets[WIDX_ROTATE].type = WWT_EMPTY;
window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WWT_EMPTY;
window_track_list_widgets[WIDX_ROTATE].type = WindowWidgetType::Empty;
window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WindowWidgetType::Empty;
}
}

View File

@ -51,13 +51,13 @@ static constexpr const int32_t WH = 155;
static rct_widget window_view_clipping_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({ 11, 19}, { 159, 11}, WWT_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}, WWT_GROUPBOX, WindowColour::Primary, STR_VIEW_CLIPPING_VERTICAL_CLIPPING ),
MakeSpinnerWidgets({ 90, 51}, { 79, 12}, WWT_SPINNER, WindowColour::Primary, STR_NONE, STR_VIEW_CLIPPING_HEIGHT_VALUE_TOGGLE), // clip height (3 widgets)
MakeWidget ({ 11, 66}, { 158, 13}, WWT_SCROLL, WindowColour::Primary, SCROLL_HORIZONTAL, STR_VIEW_CLIPPING_HEIGHT_SCROLL_TIP ), // clip height scrollbar
MakeWidget ({ 5, 90}, {WW - 10, 60}, WWT_GROUPBOX, WindowColour::Primary, STR_VIEW_CLIPPING_HORIZONTAL_CLIPPING ),
MakeWidget ({ 11, 105}, { 158, 17}, WWT_BUTTON, WindowColour::Primary, STR_VIEW_CLIPPING_SELECT_AREA ), // selector
MakeWidget ({ 11, 126}, { 158, 18}, WWT_BUTTON, WindowColour::Primary, STR_VIEW_CLIPPING_CLEAR_SELECTION ), // clear
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 ),
MakeSpinnerWidgets({ 90, 51}, { 79, 12}, WindowWidgetType::Spinner, WindowColour::Primary, STR_NONE, STR_VIEW_CLIPPING_HEIGHT_VALUE_TOGGLE), // clip height (3 widgets)
MakeWidget ({ 11, 66}, { 158, 13}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_HORIZONTAL, STR_VIEW_CLIPPING_HEIGHT_SCROLL_TIP ), // clip height scrollbar
MakeWidget ({ 5, 90}, {WW - 10, 60}, WindowWidgetType::Groupbox, WindowColour::Primary, STR_VIEW_CLIPPING_HORIZONTAL_CLIPPING ),
MakeWidget ({ 11, 105}, { 158, 17}, WindowWidgetType::Button, WindowColour::Primary, STR_VIEW_CLIPPING_SELECT_AREA ), // selector
MakeWidget ({ 11, 126}, { 158, 18}, WindowWidgetType::Button, WindowColour::Primary, STR_VIEW_CLIPPING_CLEAR_SELECTION ), // clear
{ WIDGETS_END }
};

View File

@ -33,11 +33,11 @@ enum {
static rct_widget window_viewport_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget({ 0, 14}, { WW - 1, WH - 1}, WWT_RESIZE, WindowColour::Secondary ), // resize
MakeWidget({ 3, 17}, {WW - 26, WH - 3}, WWT_VIEWPORT, WindowColour::Primary ), // viewport
MakeWidget({WW - 25, 17}, { 24, 24}, WWT_FLATBTN, WindowColour::Primary , SPR_G2_ZOOM_IN, STR_ZOOM_IN_TIP ), // zoom in
MakeWidget({WW - 25, 41}, { 24, 24}, WWT_FLATBTN, WindowColour::Primary , SPR_G2_ZOOM_OUT, STR_ZOOM_OUT_TIP ), // zoom out
MakeWidget({WW - 25, 65}, { 24, 24}, WWT_FLATBTN, WindowColour::Primary , SPR_LOCATE, STR_LOCATE_SUBJECT_TIP), // locate
MakeWidget({ 0, 14}, { WW - 1, WH - 1}, WindowWidgetType::Resize, WindowColour::Secondary ), // resize
MakeWidget({ 3, 17}, {WW - 26, WH - 3}, WindowWidgetType::Viewport, WindowColour::Primary ), // viewport
MakeWidget({WW - 25, 17}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary , SPR_G2_ZOOM_IN, STR_ZOOM_IN_TIP ), // zoom in
MakeWidget({WW - 25, 41}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary , SPR_G2_ZOOM_OUT, STR_ZOOM_OUT_TIP ), // zoom out
MakeWidget({WW - 25, 65}, { 24, 24}, WindowWidgetType::FlatBtn, WindowColour::Primary , SPR_LOCATE, STR_LOCATE_SUBJECT_TIP), // locate
{ WIDGETS_END },
};

View File

@ -32,9 +32,9 @@ enum WINDOW_WATER_WIDGET_IDX {
static rct_widget window_water_widgets[] = {
WINDOW_SHIM(WINDOW_TITLE, WW, WH),
MakeWidget ({16, 17}, {44, 32}, WWT_IMGBTN, WindowColour::Primary , SPR_LAND_TOOL_SIZE_0, STR_NONE), // preview box
MakeRemapWidget({17, 18}, {16, 16}, WWT_TRNBTN, WindowColour::Tertiary, SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_WATER_TIP), // decrement size
MakeRemapWidget({43, 32}, {16, 16}, WWT_TRNBTN, WindowColour::Tertiary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_WATER_TIP), // increment size
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({43, 32}, {16, 16}, WindowWidgetType::TrnBtn, WindowColour::Tertiary, SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_WATER_TIP), // increment size
{ WIDGETS_END },
};

View File

@ -201,9 +201,9 @@ rct_window* window_scenery_scatter_open();
// clang-format off
#define WINDOW_SHIM_RAW(TITLE, WIDTH, HEIGHT, CLOSE_STR) \
{ WWT_FRAME, 0, 0, WIDTH - 1, 0, HEIGHT - 1, 0xFFFFFFFF, STR_NONE }, \
{ WWT_CAPTION, 0, 1, WIDTH - 2, 1, 14, TITLE, STR_WINDOW_TITLE_TIP }, \
{ WWT_CLOSEBOX, 0, WIDTH - 13, WIDTH - 3, 2, 13, CLOSE_STR, STR_CLOSE_WINDOW_TIP }
{ WindowWidgetType::Frame, 0, 0, WIDTH - 1, 0, HEIGHT - 1, 0xFFFFFFFF, STR_NONE }, \
{ WindowWidgetType::Caption, 0, 1, WIDTH - 2, 1, 14, TITLE, STR_WINDOW_TITLE_TIP }, \
{ WindowWidgetType::CloseBox, 0, WIDTH - 13, WIDTH - 3, 2, 13, CLOSE_STR, STR_CLOSE_WINDOW_TIP }
#define WINDOW_SHIM(TITLE, WIDTH, HEIGHT) WINDOW_SHIM_RAW(TITLE, WIDTH, HEIGHT, STR_CLOSE_X)
#define WINDOW_SHIM_WHITE(TITLE, WIDTH, HEIGHT) WINDOW_SHIM_RAW(TITLE, WIDTH, HEIGHT, STR_CLOSE_X_WHITE)

View File

@ -13,43 +13,43 @@
#include "../localisation/StringIds.h"
#include "Window.h"
enum WINDOW_WIDGET_TYPES
enum class WindowWidgetType : uint8_t
{
WWT_EMPTY = 0,
WWT_FRAME = 1,
WWT_RESIZE = 2,
WWT_IMGBTN = 3,
WWT_COLOURBTN = 6,
WWT_TRNBTN = 7,
WWT_TAB = 8,
WWT_FLATBTN = 9,
WWT_BUTTON = 10,
WWT_LABEL_CENTRED = 12, // Centred text
WWT_TABLE_HEADER = 13, // Left-aligned textual button
WWT_LABEL = 14, // Left-aligned text
WWT_SPINNER = 15,
WWT_DROPDOWN = 16,
WWT_VIEWPORT = 17,
WWT_GROUPBOX = 19,
WWT_CAPTION = 20,
WWT_CLOSEBOX = 21,
WWT_SCROLL = 22,
WWT_CHECKBOX = 23,
WWT_PLACEHOLDER = 25,
WWT_TEXT_BOX = 27,
WWT_LAST = 26,
Empty = 0,
Frame = 1,
Resize = 2,
ImgBtn = 3,
ColourBtn = 6,
TrnBtn = 7,
Tab = 8,
FlatBtn = 9,
Button = 10,
LabelCentred = 12, // Centred text
TableHeader = 13, // Left-aligned textual button
Label = 14, // Left-aligned text
Spinner = 15,
DropdownMenu = 16,
Viewport = 17,
Groupbox = 19,
Caption = 20,
CloseBox = 21,
Scroll = 22,
Checkbox = 23,
Placeholder = 25,
TextBox = 27,
Last = 26,
};
#define WIDGETS_END WWT_LAST, 0, 0, 0, 0, 0, 0, 0
#define WIDGETS_END WindowWidgetType::Last, 0, 0, 0, 0, 0, 0, 0
#define BAR_BLINK (1u << 31)
#define SPINNER_INCREASE(l, r, t, b) (r) - 12, (r)-1, (t) + 1, (b)-1
#define SPINNER_DECREASE(l, r, t, b) (r) - 25, (r)-13, (t) + 1, (b)-1
#define SPINNER_WIDGETS(colour, left, right, top, bottom, text, tooltip) \
{ WWT_SPINNER, colour, left, right, top, bottom, text, tooltip }, \
{ WWT_BUTTON, colour, SPINNER_INCREASE(left, right, top, bottom), STR_NUMERIC_UP, STR_NONE }, \
{ WindowWidgetType::Spinner, colour, left, right, top, bottom, text, tooltip }, \
{ WindowWidgetType::Button, colour, SPINNER_INCREASE(left, right, top, bottom), STR_NUMERIC_UP, STR_NONE }, \
{ \
WWT_BUTTON, colour, SPINNER_DECREASE(left, right, top, bottom), STR_NUMERIC_DOWN, STR_NONE \
WindowWidgetType::Button, colour, SPINNER_DECREASE(left, right, top, bottom), STR_NUMERIC_DOWN, STR_NONE \
}
enum
@ -72,8 +72,8 @@ constexpr uint8_t SCROLLBAR_WIDTH = 10;
constexpr const ScreenSize TAB_SIZE = { 31, 27 };
constexpr rct_widget MakeWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, uint8_t type, WindowColour colour, uint32_t content = 0xFFFFFFFF,
rct_string_id tooltip = STR_NONE)
const ScreenCoordsXY& origin, const ScreenSize& size, WindowWidgetType type, WindowColour colour,
uint32_t content = 0xFFFFFFFF, rct_string_id tooltip = STR_NONE)
{
rct_widget out = {};
out.left = origin.x;
@ -89,8 +89,8 @@ constexpr rct_widget MakeWidget(
}
constexpr rct_widget MakeRemapWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, uint8_t type, WindowColour colour, uint32_t content = 0xFFFFFFFF,
rct_string_id tooltip = STR_NONE)
const ScreenCoordsXY& origin, const ScreenSize& size, WindowWidgetType type, WindowColour colour,
uint32_t content = 0xFFFFFFFF, rct_string_id tooltip = STR_NONE)
{
return MakeWidget(origin, size, type, colour, IMAGE_TYPE_REMAP | content, tooltip);
}
@ -98,7 +98,7 @@ constexpr rct_widget MakeRemapWidget(
constexpr rct_widget MakeTab(const ScreenCoordsXY& origin, rct_string_id tooltip = STR_NONE)
{
const ScreenSize size = TAB_SIZE;
const uint8_t type = WWT_TAB;
const WindowWidgetType type = WindowWidgetType::Tab;
const WindowColour colour = WindowColour::Secondary;
const uint32_t content = 0xFFFFFFFF;
@ -109,7 +109,7 @@ constexpr rct_widget MakeTab(const ScreenCoordsXY& origin, rct_string_id tooltip
MakeWidget(__VA_ARGS__), MakeSpinnerIncreaseWidget(__VA_ARGS__), MakeSpinnerDecreaseWidget(__VA_ARGS__)
constexpr rct_widget MakeSpinnerDecreaseWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] uint8_t type, WindowColour colour,
const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour,
[[maybe_unused]] uint32_t content = 0xFFFFFFFF, rct_string_id tooltip = STR_NONE)
{
const int16_t xPos = origin.x + size.width - 26;
@ -117,11 +117,11 @@ constexpr rct_widget MakeSpinnerDecreaseWidget(
const uint16_t width = 13;
const uint16_t height = size.height - 2;
return MakeWidget({ xPos, yPos }, { width, height }, WWT_BUTTON, colour, STR_NUMERIC_DOWN, tooltip);
return MakeWidget({ xPos, yPos }, { width, height }, WindowWidgetType::Button, colour, STR_NUMERIC_DOWN, tooltip);
}
constexpr rct_widget MakeSpinnerIncreaseWidget(
const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] uint8_t type, WindowColour colour,
const ScreenCoordsXY& origin, const ScreenSize& size, [[maybe_unused]] WindowWidgetType type, WindowColour colour,
[[maybe_unused]] uint32_t content = 0xFFFFFFFF, rct_string_id tooltip = STR_NONE)
{
const int16_t xPos = origin.x + size.width - 13;
@ -129,7 +129,7 @@ constexpr rct_widget MakeSpinnerIncreaseWidget(
const uint16_t width = 12;
const uint16_t height = size.height - 2;
return MakeWidget({ xPos, yPos }, { width, height }, WWT_BUTTON, colour, STR_NUMERIC_UP, tooltip);
return MakeWidget({ xPos, yPos }, { width, height }, WindowWidgetType::Button, colour, STR_NUMERIC_UP, tooltip);
}
void WidgetScrollUpdateThumbs(rct_window* w, rct_widgetindex widget_index);

View File

@ -431,11 +431,11 @@ rct_widgetindex window_find_widget_from_point(rct_window* w, const ScreenCoordsX
for (int32_t i = 0;; i++)
{
rct_widget* widget = &w->widgets[i];
if (widget->type == WWT_LAST)
if (widget->type == WindowWidgetType::Last)
{
break;
}
else if (widget->type != WWT_EMPTY)
else if (widget->type != WindowWidgetType::Empty)
{
if (screenCoords.x >= w->windowPos.x + widget->left && screenCoords.x <= w->windowPos.x + widget->right
&& screenCoords.y >= w->windowPos.y + widget->top && screenCoords.y <= w->windowPos.y + widget->bottom)
@ -447,7 +447,7 @@ rct_widgetindex window_find_widget_from_point(rct_window* w, const ScreenCoordsX
// Return next widget if a dropdown
if (widget_index != -1)
if (w->widgets[widget_index].type == WWT_DROPDOWN)
if (w->widgets[widget_index].type == WindowWidgetType::DropdownMenu)
widget_index++;
// Return the widget index
@ -510,7 +510,7 @@ void widget_invalidate(rct_window* w, rct_widgetindex widgetIndex)
#ifdef DEBUG
for (int32_t i = 0; i <= widgetIndex; i++)
{
assert(w->widgets[i].type != WWT_LAST);
assert(w->widgets[i].type != WindowWidgetType::Last);
}
#endif
@ -575,9 +575,9 @@ void window_update_scroll_widgets(rct_window* w)
widgetIndex = 0;
scrollIndex = 0;
assert(w != nullptr);
for (widget = w->widgets; widget->type != WWT_LAST; widget++, widgetIndex++)
for (widget = w->widgets; widget->type != WindowWidgetType::Last; widget++, widgetIndex++)
{
if (widget->type != WWT_SCROLL)
if (widget->type != WindowWidgetType::Scroll)
continue;
scroll = &w->scrolls[scrollIndex];
@ -625,7 +625,7 @@ int32_t window_get_scroll_data_index(rct_window* w, rct_widgetindex widget_index
assert(w != nullptr);
for (i = 0; i < widget_index; i++)
{
if (w->widgets[i].type == WWT_SCROLL)
if (w->widgets[i].type == WindowWidgetType::Scroll)
result++;
}
return result;
@ -1664,7 +1664,7 @@ void window_resize_gui_scenario_editor(int32_t width, int32_t height)
viewport->height = height;
viewport->view_width = width * viewport->zoom;
viewport->view_height = height * viewport->zoom;
if (mainWind->widgets != nullptr && mainWind->widgets[WC_MAIN_WINDOW__0].type == WWT_VIEWPORT)
if (mainWind->widgets != nullptr && mainWind->widgets[WC_MAIN_WINDOW__0].type == WindowWidgetType::Viewport)
{
mainWind->widgets[WC_MAIN_WINDOW__0].right = width;
mainWind->widgets[WC_MAIN_WINDOW__0].bottom = height;
@ -1945,7 +1945,7 @@ void window_cancel_textbox()
context_stop_text_input();
gUsingWidgetTextBox = false;
widget_invalidate(w, gCurrentTextBox.widget_index);
gCurrentTextBox.widget_index = WWT_LAST;
gCurrentTextBox.widget_index = static_cast<uint16_t>(WindowWidgetType::Last);
}
}

View File

@ -78,18 +78,20 @@ namespace WIDGET_FLAGS
const WidgetFlags TOOLTIP_IS_STRING = 1 << 4;
} // namespace WIDGET_FLAGS
enum class WindowWidgetType : uint8_t;
/**
* Widget structure
* size: 0x10
*/
struct rct_widget
{
uint8_t type; // 0x00
uint8_t colour; // 0x01
int16_t left; // 0x02
int16_t right; // 0x04
int16_t top; // 0x06
int16_t bottom; // 0x08
WindowWidgetType type; // 0x00
uint8_t colour; // 0x01
int16_t left; // 0x02
int16_t right; // 0x04
int16_t top; // 0x06
int16_t bottom; // 0x08
union
{ // 0x0A
uint32_t image;