Add compile option to move close box to the left

This commit is contained in:
tassaron2 2019-10-18 22:02:31 -04:00 committed by Gymnasiast
parent 887a86afe9
commit 559ede5d14
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
51 changed files with 393 additions and 234 deletions

View File

@ -52,6 +52,7 @@ option(ENABLE_LIGHTFX "Enable lighting effects." ON)
option(ENABLE_SCRIPTING "Enable script / plugin support." ON)
option(DISABLE_GUI "Don't build GUI. (Headless only.)")
option(LEFT_CLOSEBOX "Place window close button on the left.")
if (FORCE32)
set(TARGET_M "-m32")
@ -125,6 +126,9 @@ endif ()
if (ENABLE_SCRIPTING)
add_definitions(-DENABLE_SCRIPTING)
endif ()
if (LEFT_CLOSEBOX)
add_definitions(-DLEFT_CLOSEBOX)
endif ()
if (NOT DISABLE_DISCORD_RPC)
if(EXISTS "${ROOT_DIR}/discord-rpc")

View File

@ -18,6 +18,7 @@
constexpr int32_t WW = 400;
constexpr int32_t WH = 350;
#define WINDOW_TITLE STR_ABOUT
constexpr int32_t TABHEIGHT = 50;
// clang-format off
@ -45,21 +46,19 @@ enum WINDOW_ABOUT_WIDGET_IDX {
};
#define WIDGETS_MAIN \
WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_ABOUT, STR_WINDOW_TITLE_TIP }, /* title bar */ \
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \
WINDOW_SKELETON, \
{ WWT_IMGBTN, 1, 0, WW - 1, TABHEIGHT, WH - 1, 0xFFFFFFFF, STR_NONE }, /* page background */ \
{ WWT_TAB, 1, 3, 93, 17, TABHEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_LARGE, STR_NONE }, /* about OpenRCT2 button */ \
{ WWT_TAB, 1, 94, 184, 17, TABHEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_LARGE, STR_NONE /* about RCT2 button */
{ WWT_TAB, 1, 94, 184, 17, TABHEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_LARGE, STR_NONE } /* about RCT2 button */
static rct_widget window_about_openrct2_widgets[] = {
{ WIDGETS_MAIN },
WIDGETS_MAIN,
{ WWT_BUTTON, 1, 100, 299, WH - 50, WH - 39, STR_CHANGELOG_ELLIPSIS, STR_NONE }, // changelog button
{ WIDGETS_END }
};
static rct_widget window_about_rct2_widgets[] = {
{ WIDGETS_MAIN },
WIDGETS_MAIN,
{ WWT_BUTTON, 1, 100, 299, WH - 50, WH - 39, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS, STR_NONE }, // music credits button
{ WIDGETS_END },
};

View File

@ -24,6 +24,7 @@
constexpr int32_t WW = 113;
constexpr int32_t WH = 96;
#define WINDOW_TITLE STR_BANNER_WINDOW_TITLE
// clang-format off
enum WINDOW_BANNER_WIDGET_IDX {
@ -57,9 +58,7 @@ static constexpr const rct_string_id BannerColouredTextFormats[] = {
};
static rct_widget window_banner_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE}, // panel / background
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_BANNER_WINDOW_TITLE, STR_WINDOW_TITLE_TIP}, // title bar
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP}, // close x button
WINDOW_SKELETON,
{ WWT_VIEWPORT, 1, 3, WW - 26,17, WH - 20, 0x0FFFFFFFE, STR_NONE}, // tab content panel
{ WWT_FLATBTN, 1, WW - 25, WW - 2, 19, 42, SPR_RENAME, STR_CHANGE_BANNER_TEXT_TIP}, // change banner button
{ WWT_FLATBTN, 1, WW - 25, WW - 2, 43, 66, SPR_NO_ENTRY, STR_SET_AS_NO_ENTRY_BANNER_TIP}, // no entry button

View File

@ -34,13 +34,12 @@ enum {
constexpr int32_t WW = 500;
constexpr int32_t WH = 400;
#define WINDOW_TITLE STR_CHANGELOG_TITLE
constexpr int32_t MIN_WW = 300;
constexpr int32_t MIN_WH = 200;
static rct_widget window_changelog_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_CHANGELOG_TITLE, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, WW - 1, 14, WH - 1, 0xFFFFFFFF, STR_NONE }, // content panel
{ WWT_SCROLL, 1, 3, WW - 3, 16, WH - 15, SCROLL_BOTH, STR_NONE }, // scroll area
{ WIDGETS_END },

View File

@ -176,6 +176,7 @@ enum WINDOW_CHEATS_WIDGET_IDX
#pragma region MEASUREMENTS
#define WINDOW_TITLE STR_CHEAT_TITLE
constexpr int32_t WW = 249;
constexpr int32_t WH = 300;
constexpr int32_t TAB_HEIGHT = 43;
@ -205,9 +206,7 @@ constexpr int32_t TXTO = 3; // Text horizontal offset from button left (for but
#pragma endregion
#define MAIN_CHEATS_WIDGETS \
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_CHEAT_TITLE, STR_WINDOW_TITLE_TIP }, /* title bar */ \
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \
WINDOW_SKELETON, \
{ WWT_IMGBTN, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, /* tab content panel */ \
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_FINANCIAL_CHEATS_TIP }, /* tab 1 */ \
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_GUEST_CHEATS_TIP }, /* tab 2 */ \

View File

@ -29,10 +29,12 @@ enum WINDOW_CLEAR_SCENERY_WIDGET_IDX {
WIDX_FOOTPATH
};
#define WINDOW_TITLE STR_CLEAR_SCENERY
#define WW 102
#define WH 93
static rct_widget window_clear_scenery_widgets[] = {
{ WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 96, 1, 14, STR_CLEAR_SCENERY, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_IMGBTN, 0, 27, 70, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box
{ WWT_TRNBTN, 1, 28, 43, 18, 33, IMAGE_TYPE_REMAP | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_TIP }, // decrement size
{ WWT_TRNBTN, 1, 54, 69, 32, 47, IMAGE_TYPE_REMAP | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_TIP }, // increment size
@ -96,8 +98,7 @@ rct_window* window_clear_scenery_open()
if (window != nullptr)
return window;
window = window_create(
ScreenCoordsXY(context_get_width() - 98, 29), 98, 94, &window_clear_scenery_events, WC_CLEAR_SCENERY, 0);
window = window_create(ScreenCoordsXY(context_get_width() - 102, 29), 98, 94, &window_clear_scenery_events, WC_CLEAR_SCENERY, 0);
window->widgets = window_clear_scenery_widgets;
window->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_INCREMENT) | (1 << WIDX_DECREMENT) | (1 << WIDX_PREVIEW)
| (1 << WIDX_SMALL_SCENERY) | (1 << WIDX_LARGE_SCENERY) | (1 << WIDX_FOOTPATH);

View File

@ -16,6 +16,10 @@
#include <openrct2/localisation/Localisation.h>
#include <openrct2/util/Util.h>
#define WINDOW_TITLE STR_CUSTOM_CURRENCY_WINDOW_TITLE
#define WH 100
#define WW 400
// clang-format off
enum WINDOW_CUSTOM_CURRENCY_WIDGET_IDX {
WIDX_BACKGROUND,
@ -30,9 +34,7 @@ enum WINDOW_CUSTOM_CURRENCY_WIDGET_IDX {
};
static rct_widget window_custom_currency_widgets[] = {
{ WWT_FRAME, 0, 0, 399, 0, 99, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 398, 1, 14, STR_CUSTOM_CURRENCY_WINDOW_TITLE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
SPINNER_WIDGETS (1, 100, 200, 30, 40, STR_CHEAT_CURRENCY_FORMAT, STR_NONE), // NB: 3 widgets
{ WWT_BUTTON, 1, 120, 200, 50, 60, 0, STR_NONE },
{ WWT_DROPDOWN, 1, 220, 350, 50, 60, STR_NONE, STR_NONE },

View File

@ -18,6 +18,7 @@
constexpr int32_t WW = 200;
constexpr int32_t WH = 100;
#define WINDOW_TITLE STR_DEMOLISH_RIDE
static money32 _demolishRideCost;
@ -33,9 +34,7 @@ enum WINDOW_RIDE_DEMOLISH_WIDGET_IDX {
// 0x009AEBA0
static rct_widget window_ride_demolish_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_DEMOLISH_RIDE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X_WHITE, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_BUTTON, 0, 10, 94, WH - 20, WH - 9, STR_DEMOLISH, STR_NONE },
{ WWT_BUTTON, 0, WW - 95, WW - 11, WH - 20, WH - 9, STR_SAVE_PROMPT_CANCEL, STR_NONE },
{ WIDGETS_END }

View File

@ -28,6 +28,7 @@
constexpr int32_t WW = 600;
constexpr int32_t WH = 400;
#define WINDOW_TITLE STR_INVENTION_LIST
// clang-format off
enum {
@ -45,9 +46,7 @@ enum {
};
static rct_widget window_editor_inventions_list_widgets[] = {
{ WWT_FRAME, 0, 0, 599, 0, 399, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, 598, 1, 14, STR_INVENTION_LIST, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 599, 43, 399, STR_NONE, STR_NONE },
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_NONE },
{ WWT_SCROLL, 1, 4, 371, 56, 216, SCROLL_VERTICAL, STR_NONE },
@ -505,8 +504,10 @@ static void window_editor_inventions_list_invalidate(rct_window* w)
w->widgets[WIDX_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
w->widgets[WIDX_RESIZE].right = w->width - 1;
w->widgets[WIDX_RESIZE].bottom = w->height - 1;

View File

@ -80,6 +80,10 @@ static char _filter_string[MAX_PATH];
#define _FILTER_SELECTED (_filter_flags & FILTER_SELECTED)
#define _FILTER_NONSELECTED (_filter_flags & FILTER_NONSELECTED)
#define WINDOW_TITLE STR_OBJECT_SELECTION
#define WH 400
#define WW 600
struct ObjectPageDesc
{
rct_string_id Caption;
@ -137,9 +141,7 @@ 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 = {
{ WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 598, 1, 14, STR_OBJECT_SELECTION, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 599, 43, 399, 0xFFFFFFFF, STR_NONE },
{ WWT_BUTTON, 0, 470, 591, 23, 34, STR_OBJECT_SELECTION_ADVANCED, STR_OBJECT_SELECTION_ADVANCED_TIP },
{ WWT_SCROLL, 1, 4, 291, 60, 386, SCROLL_VERTICAL, STR_NONE },
@ -797,8 +799,10 @@ static void window_editor_object_selection_invalidate(rct_window* w)
w->widgets[WIDX_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
w->widgets[WIDX_TAB_CONTENT_PANEL].right = w->width - 1;
w->widgets[WIDX_TAB_CONTENT_PANEL].bottom = w->height - 1;
w->widgets[WIDX_ADVANCED].left = w->width - 130;

View File

@ -32,6 +32,10 @@
#include <openrct2/util/Util.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE STR_OBJECTIVE_SELECTION
#define WH 229
#define WW 450
#pragma region Widgets
// clang-format off
@ -82,9 +86,7 @@ enum {
};
#define MAIN_OBJECTIVE_OPTIONS_WIDGETS \
{ WWT_FRAME, 0, 0, 449, 0, 228, STR_NONE, STR_NONE }, \
{ WWT_CAPTION, 0, 1, 448, 1, 14, STR_OBJECTIVE_SELECTION, STR_WINDOW_TITLE_TIP }, \
{ WWT_CLOSEBOX, 0, 437, 447, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \
WINDOW_SKELETON, \
{ WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE }, \
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SELECT_OBJECTIVE_AND_PARK_NAME_TIP }, \
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SELECT_RIDES_TO_BE_PRESERVED_TIP }
@ -286,8 +288,10 @@ static void window_editor_objective_options_anchor_border_widgets(rct_window* w)
w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
}
static void window_editor_objective_options_draw_tab_images(rct_window* w, rct_drawpixelinfo* dpi)

View File

@ -28,6 +28,10 @@
#include <openrct2/world/Climate.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE STR_SCENARIO_OPTIONS_FINANCIAL
#define WH 149
#define WW 280
#pragma region Widgets
// clang-format off
@ -109,9 +113,7 @@ enum {
};
static rct_widget window_editor_scenario_options_financial_widgets[] = {
{ WWT_FRAME, 0, 0, 279, 0, 148, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, 278, 1, 14, STR_SCENARIO_OPTIONS_FINANCIAL, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 267, 277, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 279, 43, 148, STR_NONE, STR_NONE },
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },
{ WWT_TAB, 1, 34, 64, 17, 46, IMAGE_TYPE_REMAP | SPR_TAB, STR_SCENARIO_OPTIONS_GUESTS_TIP },
@ -419,8 +421,10 @@ static void window_editor_scenario_options_anchor_border_widgets(rct_window* w)
w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
}
/**

View File

@ -27,6 +27,10 @@
#include <openrct2/sprites.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE 0
#define WH 0
#define WW 0
// clang-format off
enum
{
@ -89,10 +93,8 @@ enum
static rct_widget _windowFinancesSummaryWidgets[] =
{
{ WWT_FRAME, 0, 0, 529, 0, 309, 0xFFFFFFFF, STR_NONE }, \
{ WWT_CAPTION, 0, 1, 528, 1, 14, STR_FINANCIAL_SUMMARY, STR_WINDOW_TITLE_TIP }, \
{ WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \
{ WWT_RESIZE, 1, 0, 529, 43, 309, 0xFFFFFFFF, STR_NONE }, \
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 529, 43, 309, 0xFFFFFFFF, STR_NONE },
TAB_WIDGETS,
{ WWT_SCROLL, 1, 130, 520, 50, 260, SCROLL_HORIZONTAL, STR_NONE },
SPINNER_WIDGETS (1, 64, 160, 279, 292, STR_FINANCES_SUMMARY_LOAN_VALUE, STR_NONE), // NB: 3 widgets.
@ -101,9 +103,7 @@ static rct_widget _windowFinancesSummaryWidgets[] =
static rct_widget _windowFinancesCashWidgets[] =
{
{ WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 528, 1, 14, STR_FINANCIAL_GRAPH, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE },
TAB_WIDGETS,
{ WIDGETS_END },
@ -111,9 +111,7 @@ static rct_widget _windowFinancesCashWidgets[] =
static rct_widget _windowFinancesParkValueWidgets[] =
{
{ WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 528, 1, 14, STR_PARK_VALUE_GRAPH, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE },
TAB_WIDGETS,
{ WIDGETS_END },
@ -121,9 +119,7 @@ static rct_widget _windowFinancesParkValueWidgets[] =
static rct_widget _windowFinancesProfitWidgets[] =
{
{ WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 528, 1, 14, STR_PROFIT_GRAPH, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE },
TAB_WIDGETS,
{ WIDGETS_END },
@ -131,9 +127,7 @@ static rct_widget _windowFinancesProfitWidgets[] =
static rct_widget _windowFinancesMarketingWidgets[] =
{
{ WWT_FRAME, 0, 0, 529, 0, 256, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 528, 1, 14, STR_MARKETING, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 517, 527, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 529, 43, 256, 0xFFFFFFFF, STR_NONE },
TAB_WIDGETS,
{ WWT_GROUPBOX, 2, 3, 526, 47, 91, STR_MARKETING_CAMPAIGNS_IN_OPERATION, STR_NONE },
@ -149,9 +143,7 @@ static rct_widget _windowFinancesMarketingWidgets[] =
static rct_widget _windowFinancesResearchWidgets[] =
{
{ WWT_FRAME, 0, 0, 319, 0, 206, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 318, 1, 14, STR_RESEARCH_FUNDING, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 319, 43, 206, 0xFFFFFFFF, STR_NONE },
TAB_WIDGETS,
{ WWT_GROUPBOX, 2, 3, 316, 47, 91, STR_RESEARCH_FUNDING_, STR_NONE },
@ -659,6 +651,14 @@ static void window_finances_summary_invalidate(rct_window* w)
window_finances_set_pressed_tab(w);
set_format_arg(6, money32, gBankLoan);
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_SUMMARY][WIDX_TITLE].text = STR_FINANCIAL_SUMMARY;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_SUMMARY][WIDX_TITLE].right = 528;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_SUMMARY][WIDX_BACKGROUND].bottom = 310;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_SUMMARY][WIDX_BACKGROUND].right = 529;
#ifndef LEFT_CLOSEBOX
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_SUMMARY][WIDX_CLOSE].left = 517;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_SUMMARY][WIDX_CLOSE].right = 527;
#endif
}
/**
@ -828,6 +828,14 @@ static void window_finances_financial_graph_invalidate(rct_window* w)
}
window_finances_set_pressed_tab(w);
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH][WIDX_TITLE].text = STR_FINANCIAL_GRAPH;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH][WIDX_TITLE].right = 528;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH][WIDX_BACKGROUND].bottom = 257;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH][WIDX_BACKGROUND].right = 529;
#ifndef LEFT_CLOSEBOX
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH][WIDX_CLOSE].left = 517;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH][WIDX_CLOSE].right = 527;
#endif
}
/**
@ -921,6 +929,8 @@ static void window_finances_park_value_graph_update(rct_window* w)
w->frame_no = 0;
w->Invalidate();
_windowFinancesPageWidgets[WIDX_BACKGROUND]->bottom = 257;
_windowFinancesPageWidgets[WIDX_BACKGROUND]->right = 529;
}
/**
@ -936,6 +946,12 @@ static void window_finances_park_value_graph_invalidate(rct_window* w)
}
window_finances_set_pressed_tab(w);
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH][WIDX_TITLE].text = STR_PARK_VALUE_GRAPH;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH][WIDX_TITLE].right = 528;
#ifndef LEFT_CLOSEBOX
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH][WIDX_CLOSE].left = 517;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH][WIDX_CLOSE].right = 527;
#endif
}
/**
@ -1038,6 +1054,14 @@ static void window_finances_profit_graph_invalidate(rct_window* w)
}
window_finances_set_pressed_tab(w);
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH][WIDX_TITLE].text = STR_PROFIT_GRAPH;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH][WIDX_TITLE].right = 528;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH][WIDX_BACKGROUND].bottom = 257;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH][WIDX_BACKGROUND].right = 529;
#ifndef LEFT_CLOSEBOX
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH][WIDX_CLOSE].left = 517;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH][WIDX_CLOSE].right = 527;
#endif
}
/**
@ -1171,6 +1195,14 @@ static void window_finances_marketing_invalidate(rct_window* w)
campaignButton->type = WWT_EMPTY;
}
}
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_MARKETING][WIDX_TITLE].text = STR_MARKETING;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_MARKETING][WIDX_TITLE].right = 528;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_MARKETING][WIDX_BACKGROUND].bottom = 257;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_MARKETING][WIDX_BACKGROUND].right = 529;
#ifndef LEFT_CLOSEBOX
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_MARKETING][WIDX_CLOSE].left = 517;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_MARKETING][WIDX_CLOSE].right = 527;
#endif
}
/**
@ -1356,6 +1388,14 @@ static void window_finances_research_update(rct_window* w)
*/
static void window_finances_research_invalidate(rct_window* w)
{
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_RESEARCH][WIDX_TITLE].text = STR_RESEARCH_FUNDING;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_RESEARCH][WIDX_TITLE].right = 318;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_RESEARCH][WIDX_BACKGROUND].bottom = 206;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_RESEARCH][WIDX_BACKGROUND].right = 319;
#ifndef LEFT_CLOSEBOX
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_RESEARCH][WIDX_CLOSE].left = 307;
_windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_RESEARCH][WIDX_CLOSE].right = 317;
#endif
if (w->widgets != _windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_RESEARCH])
{
w->widgets = _windowFinancesPageWidgets[WINDOW_FINANCES_PAGE_RESEARCH];

View File

@ -24,6 +24,10 @@
#include <openrct2/world/Park.h>
#include <openrct2/world/Surface.h>
#define WINDOW_TITLE STR_FOOTPATHS
#define WH 381
#define WW 106
// clang-format off
enum
{
@ -67,9 +71,7 @@ enum WINDOW_FOOTPATH_WIDGET_IDX
};
static rct_widget window_footpath_widgets[] = {
{WWT_FRAME, 0, 0, 105, 0, 380, 0xFFFFFFFF, STR_NONE},
{WWT_CAPTION, 0, 1, 104, 1, 14, STR_FOOTPATHS, STR_WINDOW_TITLE_TIP},
{WWT_CLOSEBOX, 0, 93, 103, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP},
WINDOW_SKELETON,
// Type group
{WWT_GROUPBOX, 0, 3, 102, 17, 71, STR_TYPE, STR_NONE},
{WWT_FLATBTN, 1, 6, 52, 30, 65, 0xFFFFFFFF, STR_FOOTPATH_TIP},

View File

@ -31,6 +31,10 @@
#include <openrct2/world/Footpath.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE STR_STRINGID
#define WH 157
#define WW 192
// clang-format off
enum WINDOW_GUEST_PAGE {
WINDOW_GUEST_OVERVIEW,
@ -71,9 +75,7 @@ validate_global_widx(WC_PEEP, WIDX_PICKUP);
static constexpr int32_t TabWidth = 30;
#define MAIN_GUEST_WIDGETS \
{ WWT_FRAME, 0, 0, 191, 0, 156, 0xFFFFFFFF, STR_NONE }, /* Panel / Background */ \
{ WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, /* Title */ \
{ WWT_CLOSEBOX, 0, 179, 189, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* Close x button */ \
WINDOW_SKELETON, \
{ WWT_RESIZE, 1, 0, 191, 43, 156, 0xFFFFFFFF, STR_NONE }, /* Resize */ \
{ WWT_TAB, 1, 3, TabWidth + 3, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SHOW_GUEST_VIEW_TIP }, /* Tab 1 */ \
{ WWT_TAB, 1, 34, TabWidth + 34, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SHOW_GUEST_NEEDS_TIP }, /* Tab 2 */ \
@ -589,8 +591,10 @@ static void window_guest_common_invalidate(rct_window* w)
w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_7);
}

View File

@ -23,6 +23,10 @@
#include <openrct2/world/Sprite.h>
#include <vector>
#define WINDOW_TITLE STR_GUESTS
#define WH 330
#define WW 350
// clang-format off
enum {
PAGE_INDIVIDUAL,
@ -64,9 +68,7 @@ static constexpr const rct_string_id viewNames[VIEW_COUNT] = {
};
static rct_widget window_guest_list_widgets[] = {
{ WWT_FRAME, 0, 0, 349, 0, 329, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 348, 1, 14, STR_GUESTS, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 337, 347, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 349, 43, 329, 0xFFFFFFFF, STR_NONE }, // tab content panel
{ WWT_DROPDOWN, 1, 5, 84, 59, 70, STR_ARG_4_PAGE_X, STR_NONE }, // page dropdown
{ WWT_BUTTON, 1, 73, 83, 60, 69, STR_DROPDOWN_GLYPH, STR_NONE }, // page dropdown button
@ -642,8 +644,10 @@ static void window_guest_list_invalidate(rct_window* w)
window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].right = w->width - 1;
window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].bottom = w->height - 1;
window_guest_list_widgets[WIDX_TITLE].right = w->width - 2;
window_guest_list_widgets[WIDX_CLOSE].left = w->width - 13;
window_guest_list_widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
window_guest_list_widgets[WIDX_CLOSE].left = w->width - 13;
window_guest_list_widgets[WIDX_CLOSE].right = w->width - 3;
#endif
window_guest_list_widgets[WIDX_GUEST_LIST].right = w->width - 4;
window_guest_list_widgets[WIDX_GUEST_LIST].bottom = w->height - 15;
window_guest_list_widgets[WIDX_MAP].left = 273 - 350 + w->width;

View File

@ -34,6 +34,7 @@ enum {
WIDX_CANCEL
};
#define WINDOW_TITLE STR_TRACK_DESIGN_INSTALL_WINDOW_TITLE
constexpr int32_t WW = 380;
constexpr int32_t WH = 448;
constexpr int32_t WW_LESS_PADDING = WW - 4;
@ -41,9 +42,7 @@ constexpr int32_t PREVIEW_BUTTONS_LEFT = WW - 25;
constexpr int32_t ACTION_BUTTONS_LEFT = WW - 100;
static rct_widget window_install_track_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH-1, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_TRACK_DESIGN_INSTALL_WINDOW_TITLE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_FLATBTN, 0, 4, WW - 5, 18, 236, STR_NONE, STR_NONE },
{ WWT_FLATBTN, 0, PREVIEW_BUTTONS_LEFT, WW_LESS_PADDING, 422, 445, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP },
{ WWT_FLATBTN, 0, PREVIEW_BUTTONS_LEFT, WW_LESS_PADDING, 398, 421, SPR_SCENERY, STR_TOGGLE_SCENERY_TIP },

View File

@ -23,6 +23,10 @@
using namespace OpenRCT2;
#define WINDOW_TITLE STR_LAND
#define WH 160
#define WW 98
// clang-format off
enum WINDOW_LAND_WIDGET_IDX {
WIDX_BACKGROUND,
@ -38,9 +42,7 @@ enum WINDOW_LAND_WIDGET_IDX {
};
static rct_widget window_land_widgets[] = {
{ WWT_FRAME, 0, 0, 97, 0, 159, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_FLATBTN, 1, 19, 42, 19, 42, SPR_RIDE_CONSTRUCTION_SLOPE_UP, STR_ENABLE_MOUNTAIN_TOOL_TIP }, // mountain mode
{ WWT_FLATBTN, 1, 55, 78, 19, 42, SPR_PAINTBRUSH, STR_DISABLE_ELEVATION }, // paint mode

View File

@ -20,6 +20,10 @@
#include <openrct2/localisation/Localisation.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE STR_LAND_RIGHTS
#define WH 94
#define WW 98
// clang-format off
enum WINDOW_WATER_WIDGET_IDX {
WIDX_BACKGROUND,
@ -33,9 +37,7 @@ enum WINDOW_WATER_WIDGET_IDX {
};
static rct_widget window_land_rights_widgets[] = {
{ WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND_RIGHTS, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 85, 95, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_IMGBTN, 0, 27, 70, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box
{ WWT_TRNBTN, 2, 28, 43, 18, 33, IMAGE_TYPE_REMAP | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_LAND_RIGHTS_TIP }, // decrement size
{ WWT_TRNBTN, 2, 54, 69, 32, 47, IMAGE_TYPE_REMAP | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_LAND_RIGHTS_TIP }, // increment size

View File

@ -38,6 +38,7 @@
#pragma region Widgets
#define WINDOW_TITLE STR_NONE
constexpr int32_t WW = 350;
constexpr int32_t WH = 400;
@ -61,9 +62,7 @@ enum
// 0x9DE48C
static rct_widget window_loadsave_widgets[] =
{
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_NONE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, //Window close button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, WW - 1, WH - 1, WH - 1, 0xFFFFFFFF, STR_NONE }, // tab content panel
{ WWT_BUTTON, 0, 4, 87, 36, 49, STR_LOADSAVE_DEFAULT, STR_LOADSAVE_DEFAULT_TIP }, // Go to default directory
{ WWT_BUTTON, 0, 88, 171, 36, 49, STR_FILEBROWSER_ACTION_UP, STR_NONE}, // Up
@ -675,8 +674,11 @@ static void window_loadsave_compute_max_date_width()
static void window_loadsave_invalidate(rct_window* w)
{
window_loadsave_widgets[WIDX_TITLE].right = w->width - 2;
window_loadsave_widgets[WIDX_CLOSE].left = w->width - 13;
window_loadsave_widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
// close button has to move if it's on the right side
window_loadsave_widgets[WIDX_CLOSE].left = w->width - 13;
window_loadsave_widgets[WIDX_CLOSE].right = w->width - 3;
#endif
window_loadsave_widgets[WIDX_BACKGROUND].right = w->width - 1;
window_loadsave_widgets[WIDX_BACKGROUND].bottom = w->height - 1;
window_loadsave_widgets[WIDX_RESIZE].top = w->height - 1;
@ -1142,10 +1144,19 @@ enum
WIDX_OVERWRITE_CANCEL
};
#ifndef LEFT_CLOSEBOX
// close button on right of window
#define OVERWRITE_WINDOW_SKELETON \
{ WWT_CLOSEBOX, 0, OVERWRITE_WW - 13, OVERWRITE_WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }
#else
#define OVERWRITE_WINDOW_SKELETON \
{ WWT_CLOSEBOX, 0, 2, 12, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }
#endif
static rct_widget window_overwrite_prompt_widgets[] = {
{ WWT_FRAME, 0, 0, OVERWRITE_WW - 1, 0, OVERWRITE_WH - 1, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, OVERWRITE_WW - 2, 1, 14, STR_FILEBROWSER_OVERWRITE_TITLE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, OVERWRITE_WW - 13, OVERWRITE_WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
OVERWRITE_WINDOW_SKELETON,
{ 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 },

View File

@ -38,6 +38,10 @@
constexpr int32_t MAP_WINDOW_MAP_SIZE = MAXIMUM_MAP_SIZE_TECHNICAL * 2;
#define WINDOW_TITLE STR_MAP_LABEL
#define WH 259
#define WW 245
// Some functions manipulate coordinates on the map. These are the coordinates of the pixels in the
// minimap. In order to distinguish those from actual coordinates, we use a separate name.
using MapCoordsXY = TileCoordsXY;
@ -76,9 +80,7 @@ enum WINDOW_MAP_WIDGET_IDX {
validate_global_widx(WC_MAP, WIDX_ROTATE_90);
static rct_widget window_map_widgets[] = {
{ WWT_FRAME, 0, 0, 244, 0, 258, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, 243, 1, 14, STR_MAP_LABEL, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 232, 242, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 244, 43, 257, STR_NONE, STR_NONE },
{ WWT_COLOURBTN, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SHOW_PEOPLE_ON_MAP_TIP },
{ WWT_COLOURBTN, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_SHOW_RIDES_STALLS_ON_MAP_TIP },
@ -710,8 +712,10 @@ static void window_map_invalidate(rct_window* w)
w->widgets[WIDX_RESIZE].right = w->width - 1;
w->widgets[WIDX_RESIZE].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 2 - 11;
w->widgets[WIDX_CLOSE].right = w->width - 2 - 11 + 10;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 2 - 11;
w->widgets[WIDX_CLOSE].right = w->width - 2 - 11 + 10;
#endif
w->widgets[WIDX_MAP].right = w->width - 4;
if ((gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gCheatsSandboxMode)

View File

@ -110,13 +110,12 @@ enum {
#pragma region Widgets
#define WINDOW_TITLE STR_MAPGEN_WINDOW_TITLE
constexpr int32_t WW = 250;
constexpr int32_t WH = 273;
#define SHARED_WIDGETS \
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* WIDX_BACKGROUND */ \
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_MAPGEN_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, /* WIDX_TITLE */ \
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* WIDX_CLOSE */ \
WINDOW_SKELETON, /* WIDX_BACKGROUND, WIDX_TITLE, WIDX_CLOSE */ \
{ WWT_RESIZE, 1, 0, WW - 1, 43, WH - 2, 0xFFFFFFFF, STR_NONE }, /* WIDX_PAGE_BACKGROUND */ \
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_NONE }, /* WIDX_TAB_1 */ \
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_NONE }, /* WIDX_TAB_2 */ \

View File

@ -24,6 +24,10 @@
#pragma region Widgets
#define WINDOW_TITLE STR_RIDE_CONSTRUCTION_WINDOW_TITLE
#define WH 200
#define WW 166
// clang-format off
enum {
WIDX_BACKGROUND,
@ -43,9 +47,7 @@ enum {
};
static rct_widget window_maze_construction_widgets[] = {
{ WWT_FRAME, 0, 0, 165, 0, 199, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 164, 1, 14, STR_RIDE_CONSTRUCTION_WINDOW_TITLE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 153, 163, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_GROUPBOX, 0, 3, 162, 17, 71, STR_RIDE_CONSTRUCTION_MODE, STR_NONE },
{ WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE },
{ WWT_EMPTY, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE },

View File

@ -14,6 +14,10 @@
#include <openrct2/interface/Colour.h>
#include <openrct2/localisation/Localisation.h>
#define WINDOW_TITLE STR_MUSIC_ACKNOWLEDGEMENTS
#define WH 314
#define WW 510
// clang-format off
enum WINDOW_MUSIC_CREDITS_WIDGET_IDX {
WIDX_BACKGROUND,
@ -22,9 +26,7 @@ enum WINDOW_MUSIC_CREDITS_WIDGET_IDX {
};
static rct_widget window_music_credits_widgets[] = {
{ WWT_FRAME, 0, 0, 509, 0, 313, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 508, 1, 14, STR_MUSIC_ACKNOWLEDGEMENTS, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 497, 507, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_SCROLL, 0, 4, 505, 18, 309, SCROLL_VERTICAL, STR_NONE }, // scroll
{ WIDGETS_END },
};

View File

@ -20,6 +20,9 @@
#include <openrct2/ride/RideData.h>
#include <openrct2/ride/ShopItem.h>
#define WINDOW_TITLE 0
#define WH 107
#define WW 350
constexpr uint16_t SELECTED_RIDE_UNDEFINED = 0xFFFF;
// clang-format off
@ -38,9 +41,7 @@ enum WINDOW_NEW_CAMPAIGN_WIDGET_IDX {
};
static rct_widget window_new_campaign_widgets[] = {
{ WWT_FRAME, 0, 0, 349, 0, 106, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 348, 1, 14, 0, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 337, 347, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_LABEL, 0, 14, 139, 24, 35, 0, STR_NONE }, // ride label
{ WWT_DROPDOWN, 0, 100, 341, 24, 35, 0, STR_NONE }, // ride dropdown
{ WWT_BUTTON, 0, 330, 340, 25, 34, STR_DROPDOWN_GLYPH, STR_NONE }, // ride dropdown button

View File

@ -34,6 +34,7 @@
#include <openrct2/windows/Intent.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE 0xFFFFFFFF
constexpr size_t AVAILABILITY_STRING_SIZE = 256;
constexpr int32_t WH = 382;
constexpr int32_t WW = 601;
@ -181,9 +182,7 @@ enum {
};
static rct_widget window_new_ride_widgets[] = {
{ WWT_FRAME, 0, 0, 600, 0, WH - 1, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 599, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 588, 598, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 600, 43, WH - 1, 0xFFFFFFFF, STR_NONE },
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_TRANSPORT_RIDES_TIP },
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_GENTLE_RIDES_TIP },
@ -642,8 +641,10 @@ static void window_new_ride_refresh_widget_sizing(rct_window* w)
window_new_ride_widgets[WIDX_PAGE_BACKGROUND].right = width - 1;
window_new_ride_widgets[WIDX_PAGE_BACKGROUND].bottom = height - 1;
window_new_ride_widgets[WIDX_TITLE].right = width - 2;
window_new_ride_widgets[WIDX_CLOSE].left = width - 13;
window_new_ride_widgets[WIDX_CLOSE].right = width - 3;
#ifndef LEFT_CLOSEBOX
window_new_ride_widgets[WIDX_CLOSE].left = width - 13;
window_new_ride_widgets[WIDX_CLOSE].right = width - 3;
#endif
w->width = width;
w->height = height;

View File

@ -19,6 +19,10 @@
#include <openrct2/sprites.h>
#include <openrct2/world/Sprite.h>
#define WINDOW_TITLE STR_RECENT_MESSAGES
#define WH 300
#define WW 400
// clang-format off
enum WINDOW_NEWS_WIDGET_IDX {
WIDX_BACKGROUND,
@ -29,9 +33,7 @@ enum WINDOW_NEWS_WIDGET_IDX {
};
static rct_widget window_news_widgets[] = {
{ WWT_FRAME, 0, 0, 399, 0, 299, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 398, 1, 14, STR_RECENT_MESSAGES, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_FLATBTN, 0, 372, 395, 18, 41, SPR_TAB_GEARS_0, STR_NONE }, // settings
{ WWT_SCROLL, 0, 4, 395, 44, 295, SCROLL_VERTICAL, STR_NONE }, // scroll
{ WIDGETS_END },

View File

@ -16,6 +16,10 @@
#include <openrct2/localisation/Localisation.h>
#include <openrct2/sprites.h>
#define WINDOW_TITLE STR_NOTIFICATION_SETTINGS
#define WH 300
#define WW 400
// clang-format off
enum {
NOTIFICATION_CATEGORY_PARK,
@ -63,9 +67,7 @@ enum WINDOW_NEWS_WIDGET_IDX {
};
static rct_widget window_news_options_widgets[] = {
{ WWT_FRAME, 0, 0, 399, 0, 299, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 398, 1, 14, STR_NOTIFICATION_SETTINGS, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 399, 43, 299, 0xFFFFFFFF, STR_NONE }, // tab content panel
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_NONE }, // tab 1
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_NONE }, // tab 2

View File

@ -200,6 +200,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
WIDX_NEWS_CHECKBOX
};
#define WINDOW_TITLE STR_OPTIONS_TITLE
constexpr int32_t WW = 310;
constexpr int32_t WH = 332;
@ -212,9 +213,7 @@ constexpr int32_t WH = 332;
#endif
#define MAIN_OPTIONS_WIDGETS \
{ WWT_FRAME, 0, 0, WW-1, 0, WH-1, STR_NONE, STR_NONE }, \
{ WWT_CAPTION, 0, 1, WW-2, 1, 14, STR_OPTIONS_TITLE, STR_WINDOW_TITLE_TIP }, \
{ WWT_CLOSEBOX, 0, WW-13, WW-3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \
WINDOW_SKELETON, \
{ WWT_RESIZE, 1, 0, WW-1, 43, WH-1, 0xFFFFFFFF, STR_NONE }, \
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_OPTIONS_DISPLAY_TIP }, \
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_OPTIONS_RENDERING_TIP }, \

View File

@ -31,6 +31,10 @@
#include <openrct2/world/Entrance.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE STR_STRINGID
#define WH 224
#define WW 230
// clang-format off
enum WINDOW_PARK_PAGE {
WINDOW_PARK_PAGE_ENTRANCE,
@ -75,9 +79,7 @@ enum WINDOW_PARK_WIDGET_IDX {
#pragma region Widgets
#define MAIN_PARK_WIDGETS(WW) \
{ WWT_FRAME, 0, 0, WW - 1, 0, 223, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, /* title bar */ \
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \
WINDOW_SKELETON, \
{ WWT_RESIZE, 1, 0, WW - 1, 43, 173, 0xFFFFFFFF, STR_NONE }, /* tab content panel */ \
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_PARK_ENTRANCE_TAB_TIP }, /* tab 1 */ \
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_PARK_RATING_TAB_TIP }, /* tab 2 */ \
@ -1799,8 +1801,10 @@ static void window_park_anchor_border_widgets(rct_window* w)
w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
}
static void window_park_set_pressed_tab(rct_window* w)

View File

@ -20,6 +20,10 @@
#include <openrct2/world/Park.h>
#include <openrct2/world/Scenery.h>
#define WINDOW_TITLE 0
#define WH 0
#define WW 0
// clang-format off
enum {
WINDOW_RESEARCH_PAGE_DEVELOPMENT,
@ -55,9 +59,7 @@ enum {
#pragma region Widgets
static rct_widget window_research_development_widgets[] = {
{ WWT_FRAME, 0, 0, 299, 0, 195, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 298, 1, 14, STR_RESEARCH_AND_DEVELOPMENT, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 287, 297, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 299, 43, 195, 0xFFFFFFFF, STR_NONE },
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_RESEARCH_AND_DEVELOPMENT_TIP },
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_FINANCES_RESEARCH_TIP },
@ -68,9 +70,7 @@ static rct_widget window_research_development_widgets[] = {
};
static rct_widget window_research_funding_widgets[] = {
{ WWT_FRAME, 0, 0, 319, 0, 206, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 318, 1, 14, STR_RESEARCH_FUNDING, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 319, 43, 206, 0xFFFFFFFF, STR_NONE },
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_RESEARCH_AND_DEVELOPMENT_TIP },
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_FINANCES_RESEARCH_TIP },
@ -320,6 +320,14 @@ static void window_research_development_invalidate(rct_window* w)
? SPR_NEW_RIDE
: SPR_NEW_SCENERY;
}
window_research_development_widgets[WIDX_TITLE].text = STR_RESEARCH_AND_DEVELOPMENT;
window_research_development_widgets[WIDX_TITLE].right = 298;
window_research_development_widgets[WIDX_BACKGROUND].right = 299;
window_research_development_widgets[WIDX_BACKGROUND].bottom = 195;
#ifndef LEFT_CLOSEBOX
window_research_development_widgets[WIDX_CLOSE].left = 287;
window_research_development_widgets[WIDX_CLOSE].right = 297;
#endif
}
/**
@ -550,6 +558,15 @@ static void window_research_funding_invalidate(rct_window* w)
w->pressed_widgets &= ~widgetMask;
}
}
window_research_funding_widgets[WIDX_TITLE].text = STR_RESEARCH_FUNDING;
window_research_funding_widgets[WIDX_TITLE].right = 318;
window_research_funding_widgets[WIDX_BACKGROUND].right = 319;
window_research_funding_widgets[WIDX_BACKGROUND].bottom = 206;
#ifndef LEFT_CLOSEBOX
window_research_funding_widgets[WIDX_CLOSE].left = 307;
window_research_funding_widgets[WIDX_CLOSE].right = 317;
#endif
}
/**

View File

@ -53,8 +53,13 @@
#include <openrct2/sprites.h>
#include <openrct2/windows/Intent.h>
#include <openrct2/world/Park.h>
using namespace OpenRCT2;
#define WINDOW_TITLE STR_RIDE_WINDOW_TITLE
#define WH 207
#define WW 316
enum
{
WINDOW_RIDE_PAGE_MAIN,
@ -205,9 +210,7 @@ enum {
constexpr int32_t RCT1_LIGHT_OFFSET = 4;
#define MAIN_RIDE_WIDGETS \
{ WWT_FRAME, 0, 0, 315, 0, 206, 0xFFFFFFFF, STR_NONE }, \
{ WWT_CAPTION, 0, 1, 314, 1, 14, STR_RIDE_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, \
{ WWT_CLOSEBOX, 0, 303, 313, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, \
WINDOW_SKELETON, \
{ WWT_RESIZE, 1, 0, 315, 43, 179, 0xFFFFFFFF, STR_NONE }, \
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_VIEW_OF_RIDE_ATTRACTION_TIP }, \
{ WWT_TAB, 1, 34, 64, 17, 46, IMAGE_TYPE_REMAP | SPR_TAB, STR_VEHICLE_DETAILS_AND_OPTIONS_TIP }, \
@ -1841,8 +1844,10 @@ static void window_ride_anchor_border_widgets(rct_window* w)
w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
}
#pragma region Main

View File

@ -36,6 +36,10 @@
#include <openrct2/world/Footpath.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE STR_RIDE_CONSTRUCTION_WINDOW_TITLE
#define WH 394
#define WW 166
#pragma region Widgets
// clang-format off
@ -88,9 +92,7 @@ validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_EXIT);
validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_ROTATE);
static rct_widget window_ride_construction_widgets[] = {
{ WWT_FRAME, 0, 0, 165, 0, 393, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 164, 1, 14, STR_RIDE_CONSTRUCTION_WINDOW_TITLE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 153, 163, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_GROUPBOX, 0, 3, 162, 17, 73, STR_RIDE_CONSTRUCTION_DIRECTION, STR_NONE },
{ WWT_GROUPBOX, 0, 3, 162, 76, 116, STR_RIDE_CONSTRUCTION_SLOPE, STR_NONE },
{ WWT_GROUPBOX, 0, 3, 162, 120, 160, STR_RIDE_CONSTRUCTION_ROLL_BANKING, STR_NONE },

View File

@ -25,6 +25,10 @@
#include <openrct2/windows/Intent.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE 0xFFFFFFFF
#define WH 240
#define WW 340
// clang-format off
enum {
PAGE_RIDES,
@ -52,9 +56,7 @@ enum WINDOW_RIDE_LIST_WIDGET_IDX {
};
static rct_widget window_ride_list_widgets[] = {
{ WWT_FRAME, 0, 0, 339, 0, 239, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 338, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 339, 43, 239, 0xFFFFFFFF, STR_NONE }, // tab page background
{ WWT_FLATBTN, 1, 315, 338, 60, 83, SPR_TOGGLE_OPEN_CLOSE, STR_OPEN_OR_CLOSE_ALL_RIDES }, // open / close all toggle
{ WWT_DROPDOWN, 1, 150, 273, 46, 57, 0xFFFFFFFF, STR_NONE }, // current information type
@ -510,8 +512,11 @@ static void window_ride_list_invalidate(rct_window* w)
w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
// if close buttton is on the right then it must move
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
w->widgets[WIDX_LIST].right = w->width - 26;
w->widgets[WIDX_LIST].bottom = w->height - 15;
w->widgets[WIDX_OPEN_CLOSE_ALL].right = w->width - 2;

View File

@ -20,6 +20,10 @@
#include <openrct2/scenario/Scenario.h>
#include <openrct2/windows/Intent.h>
#define WINDOW_TITLE 0
#define WH 54
#define WW 260
// clang-format off
enum WINDOW_SAVE_PROMPT_WIDGET_IDX {
WIDX_BACKGROUND,
@ -32,9 +36,7 @@ enum WINDOW_SAVE_PROMPT_WIDGET_IDX {
};
static rct_widget window_save_prompt_widgets[] = {
{ WWT_FRAME, 0, 0, 259, 0, 53, STR_NONE, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 258, 1, 14, 0, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 247, 257, 2, 13, STR_CLOSE_X_WHITE, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_LABEL_CENTRED, 0, 2, 257, 19, 30, 0, STR_NONE }, // question/label
{ WWT_BUTTON, 0, 8, 85, 35, 48, STR_SAVE_PROMPT_SAVE, STR_NONE }, // save
{ WWT_BUTTON, 0, 91, 168, 35, 48, STR_SAVE_PROMPT_DONT_SAVE, STR_NONE }, // don't save
@ -53,7 +55,7 @@ enum WINDOW_QUIT_PROMPT_WIDGET_IDX {
static rct_widget window_quit_prompt_widgets[] = {
{ WWT_FRAME, 0, 0, 176, 0, 37, STR_NONE, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 175, 1, 14, STR_QUIT_GAME_PROMPT_TITLE, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 164, 174, 2, 13, STR_CLOSE_X_WHITE, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON, // close x button
{ WWT_BUTTON, 0, 8, 85, 19, 32, STR_OK, STR_NONE }, // ok
{ WWT_BUTTON, 0, 91, 168, 19, 32, STR_CANCEL, STR_NONE }, // cancel
{ WIDGETS_END },
@ -169,6 +171,7 @@ rct_window* window_save_prompt_open()
log_warning("Invalid save prompt mode %u", prompt_mode);
return nullptr;
}
window = window_create_centred(
width, height, &window_save_prompt_events, WC_SAVE_PROMPT, WF_TRANSPARENT | WF_STICK_TO_FRONT);

View File

@ -26,6 +26,9 @@
#include <openrct2/world/Scenery.h>
#include <openrct2/world/SmallScenery.h>
#define WINDOW_TITLE 0xFFFFFFFF
#define WW 634
#define WH 180
constexpr int32_t WINDOW_SCENERY_WIDTH = 634;
constexpr int32_t WINDOW_SCENERY_HEIGHT = 180;
constexpr int32_t SCENERY_BUTTON_WIDTH = 66;
@ -153,9 +156,7 @@ validate_global_widx(WC_SCENERY, WIDX_SCENERY_ROTATE_OBJECTS_BUTTON);
validate_global_widx(WC_SCENERY, WIDX_SCENERY_EYEDROPPER_BUTTON);
static rct_widget window_scenery_widgets[] = {
{ WWT_FRAME, 0, 0, 633, 0, 141, 0xFFFFFFFF, STR_NONE }, // 1 0x009DE298
{ WWT_CAPTION, 0, 1, 632, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, // 2 0x009DE2A8
{ WWT_CLOSEBOX, 0, 621, 631, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // 4 0x009DE2B8
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 633, 43, 141, 0xFFFFFFFF, STR_NONE }, // 8 0x009DE2C8
{ WWT_TAB, 1, 3, 33, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 10 0x009DE2D8
{ WWT_TAB, 1, 34, 64, 17, 43, 0xFFFFFFFF, STR_STRING_DEFINED_TOOLTIP }, // 20 0x009DE2E8
@ -451,7 +452,7 @@ rct_window* window_scenery_open()
window_scenery_init();
window = window_create(
ScreenCoordsXY(context_get_width() - WINDOW_SCENERY_WIDTH, 0x1D), WINDOW_SCENERY_WIDTH, WINDOW_SCENERY_HEIGHT,
ScreenCoordsXY(context_get_width() - WW, 0x1D), WW, WH,
&window_scenery_events, WC_SCENERY, WF_NO_SCROLLING);
window->widgets = window_scenery_widgets;
@ -480,10 +481,10 @@ rct_window* window_scenery_open()
gWindowSceneryPaintEnabled = 0; // repaint coloured scenery tool state
gWindowSceneryEyedropperEnabled = false;
window->min_width = WINDOW_SCENERY_WIDTH;
window->max_width = WINDOW_SCENERY_WIDTH;
window->min_height = WINDOW_SCENERY_HEIGHT;
window->max_height = WINDOW_SCENERY_HEIGHT;
window->min_width = WW;
window->max_width = WW;
window->min_height = WH;
window->max_height = WH;
return window;
}
@ -769,10 +770,10 @@ static void window_scenery_update(rct_window* w)
{
if (input_get_state() != INPUT_STATE_SCROLL_LEFT)
{
w->min_width = WINDOW_SCENERY_WIDTH;
w->max_width = WINDOW_SCENERY_WIDTH;
w->min_height = WINDOW_SCENERY_HEIGHT;
w->max_height = WINDOW_SCENERY_HEIGHT;
w->min_width = WW;
w->max_width = WW;
w->min_height = WH;
w->max_height = WH;
}
}
else
@ -780,10 +781,10 @@ static void window_scenery_update(rct_window* w)
int32_t windowHeight = std::min(463, w->scrolls[0].v_bottom + 62);
if (context_get_height() < 600)
windowHeight = std::min(374, windowHeight);
windowHeight = std::max(WINDOW_SCENERY_HEIGHT, windowHeight);
windowHeight = std::max(WH, windowHeight);
w->min_width = WINDOW_SCENERY_WIDTH;
w->max_width = WINDOW_SCENERY_WIDTH;
w->min_width = WW;
w->max_width = WW;
w->min_height = windowHeight;
w->max_height = windowHeight;
}
@ -795,10 +796,10 @@ static void window_scenery_update(rct_window* w)
w->scenery.hover_counter = 0;
if (input_get_state() != INPUT_STATE_SCROLL_LEFT)
{
w->min_width = WINDOW_SCENERY_WIDTH;
w->max_width = WINDOW_SCENERY_WIDTH;
w->min_height = WINDOW_SCENERY_HEIGHT;
w->max_height = WINDOW_SCENERY_HEIGHT;
w->min_width = WW;
w->max_width = WW;
w->min_height = WH;
w->max_height = WH;
}
}
@ -1088,8 +1089,10 @@ void window_scenery_invalidate(rct_window* w)
window_scenery_widgets[WIDX_SCENERY_TAB_CONTENT_PANEL].right = w->width - 1;
window_scenery_widgets[WIDX_SCENERY_TAB_CONTENT_PANEL].bottom = w->height - 1;
window_scenery_widgets[WIDX_SCENERY_TITLE].right = w->width - 2;
window_scenery_widgets[WIDX_SCENERY_CLOSE].left = w->width - 13;
window_scenery_widgets[WIDX_SCENERY_CLOSE].right = window_scenery_widgets[WIDX_SCENERY_CLOSE].left + 10;
#ifndef LEFT_CLOSEBOX
window_scenery_widgets[WIDX_SCENERY_CLOSE].left = w->width - 13;
window_scenery_widgets[WIDX_SCENERY_CLOSE].right = window_scenery_widgets[WIDX_SCENERY_CLOSE].left + 10;
#endif
window_scenery_widgets[WIDX_SCENERY_LIST].right = w->width - 26;
window_scenery_widgets[WIDX_SCENERY_LIST].bottom = w->height - 14;

View File

@ -15,6 +15,7 @@
#include <openrct2/drawing/Drawing.h>
#include <openrct2/localisation/Localisation.h>
#define WINDOW_TITLE STR_SHORTCUT_CHANGE_TITLE
constexpr int32_t WW = 250;
constexpr int32_t WH = 60;
@ -27,9 +28,7 @@ enum WINDOW_SHORTCUT_CHANGE_WIDGET_IDX {
// 0x9DE4E0
static rct_widget window_shortcut_change_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SHORTCUT_CHANGE_TITLE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WIDGETS_END }
};

View File

@ -15,6 +15,7 @@
#include <openrct2/drawing/Drawing.h>
#include <openrct2/localisation/Localisation.h>
#define WINDOW_TITLE STR_SHORTCUTS_TITLE
constexpr int32_t WW = 420;
constexpr int32_t WH = 280;
@ -32,9 +33,7 @@ enum WINDOW_SHORTCUT_WIDGET_IDX {
// 0x9DE48C
static rct_widget window_shortcut_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SHORTCUTS_TITLE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_SCROLL, 0, 4, WW - 5, 18, WH - 18, SCROLL_VERTICAL, STR_SHORTCUT_LIST_TIP },
{ WWT_BUTTON, 0, 4, 153, WH-15, WH - 4, STR_SHORTCUT_ACTION_RESET, STR_SHORTCUT_ACTION_RESET_TIP },
{ WIDGETS_END }
@ -262,8 +261,10 @@ static void window_shortcut_invalidate(rct_window* w)
window_shortcut_widgets[WIDX_BACKGROUND].right = w->width - 1;
window_shortcut_widgets[WIDX_BACKGROUND].bottom = w->height - 1;
window_shortcut_widgets[WIDX_TITLE].right = w->width - 2;
window_shortcut_widgets[WIDX_CLOSE].right = w->width - 3;
window_shortcut_widgets[WIDX_CLOSE].left = w->width - 13;
#ifndef LEFT_CLOSEBOX
window_shortcut_widgets[WIDX_CLOSE].right = w->width - 3;
window_shortcut_widgets[WIDX_CLOSE].left = w->width - 13;
#endif
window_shortcut_widgets[WIDX_SCROLL].right = w->width - 5;
window_shortcut_widgets[WIDX_SCROLL].bottom = w->height - 18;
window_shortcut_widgets[WIDX_RESET].top = w->height - 15;

View File

@ -25,6 +25,7 @@
#include <openrct2/world/Scenery.h>
#include <openrct2/world/Wall.h>
#define WINDOW_TITLE STR_SIGN
constexpr int32_t WW = 113;
constexpr int32_t WH = 96;
@ -42,9 +43,7 @@ enum WINDOW_SIGN_WIDGET_IDX {
// 0x9AEE00
static rct_widget window_sign_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SIGN, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON, // close x button
{ WWT_VIEWPORT, 1, 3, WW - 26, 17, WH - 20, STR_VIEWPORT, STR_NONE }, // Viewport
{ WWT_FLATBTN, 1, WW - 25, WW - 2, 19, 42, SPR_RENAME, STR_CHANGE_SIGN_TEXT_TIP }, // change sign button
{ WWT_FLATBTN, 1, WW - 25, WW - 2, 67, 90, SPR_DEMOLISH, STR_DEMOLISH_SIGN_TIP }, // demolish button

View File

@ -31,6 +31,7 @@
#include <openrct2/world/Park.h>
#include <openrct2/world/Sprite.h>
#define WINDOW_TITLE STR_STRINGID
constexpr int32_t WW = 190;
constexpr int32_t WH = 180;
@ -70,9 +71,7 @@ validate_global_widx(WC_PEEP, WIDX_PATROL);
validate_global_widx(WC_STAFF, WIDX_PICKUP);
static rct_widget window_staff_overview_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2
@ -92,7 +91,7 @@ static rct_widget window_staff_overview_widgets[] = {
static rct_widget window_staff_options_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2
@ -111,7 +110,7 @@ static rct_widget window_staff_options_widgets[] = {
static rct_widget window_staff_stats_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // Close x button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, WW - 1, 43, WH - 1, 0xFFFFFFFF, STR_NONE }, // Resize
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_STAFF_OVERVIEW_TIP },// Tab 1
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_STAFF_OPTIONS_TIP}, // Tab 2
@ -789,8 +788,10 @@ void window_staff_stats_invalidate(rct_window* w)
window_staff_stats_widgets[WIDX_TITLE].right = w->width - 2;
window_staff_stats_widgets[WIDX_CLOSE].left = w->width - 13;
window_staff_stats_widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
window_staff_stats_widgets[WIDX_CLOSE].left = w->width - 13;
window_staff_stats_widgets[WIDX_CLOSE].right = w->width - 3;
#endif
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3);
}
@ -865,9 +866,10 @@ void window_staff_options_invalidate(rct_window* w)
window_staff_options_widgets[WIDX_RESIZE].bottom = w->height - 1;
window_staff_options_widgets[WIDX_TITLE].right = w->width - 2;
window_staff_options_widgets[WIDX_CLOSE].left = w->width - 13;
window_staff_options_widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
window_staff_options_widgets[WIDX_CLOSE].left = w->width - 13;
window_staff_options_widgets[WIDX_CLOSE].right = w->width - 3;
#endif
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3);
}
@ -907,8 +909,10 @@ void window_staff_overview_invalidate(rct_window* w)
window_staff_overview_widgets[WIDX_BTM_LABEL].top = w->height - 13;
window_staff_overview_widgets[WIDX_BTM_LABEL].bottom = w->height - 3;
window_staff_overview_widgets[WIDX_CLOSE].left = w->width - 13;
window_staff_overview_widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
window_staff_overview_widgets[WIDX_CLOSE].left = w->width - 13;
window_staff_overview_widgets[WIDX_CLOSE].right = w->width - 3;
#endif
window_staff_overview_widgets[WIDX_PICKUP].left = w->width - 25;
window_staff_overview_widgets[WIDX_PICKUP].right = w->width - 2;

View File

@ -16,6 +16,7 @@
#include <openrct2/localisation/Localisation.h>
#include <openrct2/world/Sprite.h>
#define WINDOW_TITLE STR_SACK_STAFF
constexpr int32_t WW = 200;
constexpr int32_t WH = 100;
@ -30,9 +31,7 @@ enum WINDOW_STAFF_FIRE_WIDGET_IDX {
// 0x9AFB4C
static rct_widget window_staff_fire_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_SACK_STAFF, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, WW-13, WW - 3, 2, 13, STR_CLOSE_X_WHITE, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_BUTTON, 0, 10, 94, WH - 20, WH - 9, STR_YES, STR_NONE },
{ WWT_BUTTON, 0, WW - 95, WW - 11, WH - 20, WH - 9, STR_SAVE_PROMPT_CANCEL, STR_NONE },
{ WIDGETS_END }

View File

@ -104,15 +104,14 @@ enum WINDOW_STAFF_LIST_WIDGET_IDX {
WIDX_STAFF_LIST_MAP,
};
#define WINDOW_TITLE STR_STAFF
constexpr int32_t WW = 320;
constexpr int32_t WH = 270;
constexpr int32_t MAX_WW = 500;
constexpr int32_t MAX_WH = 450;
static rct_widget window_staff_list_widgets[] = {
{ WWT_FRAME, 0, 0, 319, 0, 269, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 318, 1, 14, STR_STAFF, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 307, 317, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 319, 43, 269, 0xFFFFFFFF, STR_NONE }, // tab content panel
{ WWT_TAB, 1, 3, 33, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_STAFF_HANDYMEN_TAB_TIP }, // handymen tab
{ WWT_TAB, 1, 34, 64, 17, 43, IMAGE_TYPE_REMAP | SPR_TAB, STR_STAFF_MECHANICS_TAB_TIP }, // mechanics tab
@ -544,8 +543,10 @@ void window_staff_list_invalidate(rct_window* w)
window_staff_list_widgets[WIDX_STAFF_LIST_TAB_CONTENT_PANEL].right = w->width - 1;
window_staff_list_widgets[WIDX_STAFF_LIST_TAB_CONTENT_PANEL].bottom = w->height - 1;
window_staff_list_widgets[WIDX_STAFF_LIST_TITLE].right = w->width - 2;
window_staff_list_widgets[WIDX_STAFF_LIST_CLOSE].left = w->width - 2 - 11;
window_staff_list_widgets[WIDX_STAFF_LIST_CLOSE].right = w->width - 2 - 11 + 10;
#ifndef LEFT_CLOSEBOX
window_staff_list_widgets[WIDX_STAFF_LIST_CLOSE].left = w->width - 2 - 11;
window_staff_list_widgets[WIDX_STAFF_LIST_CLOSE].right = w->width - 2 - 11 + 10;
#endif
window_staff_list_widgets[WIDX_STAFF_LIST_LIST].right = w->width - 4;
window_staff_list_widgets[WIDX_STAFF_LIST_LIST].bottom = w->height - 15;
window_staff_list_widgets[WIDX_STAFF_LIST_QUICK_FIRE].left = w->width - 77;

View File

@ -25,6 +25,7 @@
#include <openrct2/localisation/Localisation.h>
#include <openrct2/util/Util.h>
#define WINDOW_TITLE STR_OPTIONS
constexpr int32_t WW = 250;
constexpr int32_t WH = 90;
@ -39,9 +40,7 @@ enum WINDOW_TEXT_INPUT_WIDGET_IDX {
// 0x9DE4E0
static rct_widget window_text_input_widgets[] = {
{ WWT_FRAME, 1, 0, WW - 1, 0, WH - 1, STR_NONE, STR_NONE },
{ WWT_CAPTION, 1, 1, WW - 2, 1, 14, STR_OPTIONS, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 1, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_BUTTON, 1, WW - 80, WW - 10, WH - 22, WH - 9, STR_CANCEL, STR_NONE },
{ WWT_BUTTON, 1, 10, 80, WH - 22, WH - 9, STR_OK, STR_NONE },
{ WIDGETS_END }

View File

@ -203,6 +203,8 @@ enum WINDOW_TILE_INSPECTOR_WIDGET_IDX {
WIDX_CORRUPT_BUTTON_CLAMP,
};
#define WINDOW_TITLE STR_TILE_INSPECTOR_TITLE
// Window sizes
constexpr int32_t WW = 400;
constexpr int32_t WH = 170;
@ -249,9 +251,7 @@ constexpr int32_t BUTTONH = 17;
#define CHK(x, y) x, x + 13, y + 2, y + 15
#define MAIN_TILE_INSPECTOR_WIDGETS \
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_TILE_INSPECTOR_TITLE, STR_WINDOW_TITLE_TIP }, /* title bar */ \
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \
WINDOW_SKELETON, \
{ WWT_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) */ \

View File

@ -1,4 +1,4 @@
/*****************************************************************************
/*****************************************************************************
* Copyright (c) 2014-2019 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
@ -24,6 +24,9 @@
#include <openrct2/util/Util.h>
#include <vector>
#define WINDOW_TITLE STR_SELECT_SCENARIO
#define WW 734
#define WH 334
#define INITIAL_NUM_UNLOCKED_SCENARIOS 5
// clang-format off
@ -69,9 +72,7 @@ enum {
};
static rct_widget window_scenarioselect_widgets[] = {
{ WWT_FRAME, 0, 0, 733, 0, 333, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 732, 1, 14, STR_SELECT_SCENARIO, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 721, 731, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_IMGBTN, 1, 0, 733, 50, 333, 0xFFFFFFFF, STR_NONE }, // tab content panel
{ WWT_TAB, 1, 3, 93, 17, 50, IMAGE_TYPE_REMAP | SPR_TAB_LARGE, STR_NONE }, // tab 1
{ WWT_TAB, 1, 94, 184, 17, 50, IMAGE_TYPE_REMAP | SPR_TAB_LARGE, STR_NONE }, // tab 2
@ -420,8 +421,10 @@ static void window_scenarioselect_invalidate(rct_window* w)
int32_t windowWidth = w->width;
window_scenarioselect_widgets[WIDX_BACKGROUND].right = windowWidth - 1;
window_scenarioselect_widgets[WIDX_TITLEBAR].right = windowWidth - 2;
window_scenarioselect_widgets[WIDX_CLOSE].left = windowWidth - 13;
window_scenarioselect_widgets[WIDX_CLOSE].right = windowWidth - 3;
#ifndef LEFT_CLOSEBOX
window_scenarioselect_widgets[WIDX_CLOSE].left = windowWidth - 13;
window_scenarioselect_widgets[WIDX_CLOSE].right = windowWidth - 3;
#endif
window_scenarioselect_widgets[WIDX_TABCONTENT].right = windowWidth - 1;
window_scenarioselect_widgets[WIDX_SCENARIOLIST].right = windowWidth - 179;

View File

@ -16,6 +16,10 @@
#include <openrct2/ride/TrackDesignRepository.h>
#include <openrct2/util/Util.h>
#define WINDOW_TITLE STR_STRING
#define WH 44
#define WW 250
#pragma region Widgets
// clang-format off
@ -31,9 +35,7 @@ enum {
};
static rct_widget window_track_manage_widgets[] = {
{ WWT_FRAME, 0, 0, 249, 0, 43, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, 248, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 237, 247, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_BUTTON, 0, 10, 119, 24, 35, STR_TRACK_MANAGE_RENAME, STR_NONE },
{ WWT_BUTTON, 0, 130, 239, 24, 35, STR_TRACK_MANAGE_DELETE, STR_NONE },
{ WIDGETS_END }
@ -42,7 +44,7 @@ static rct_widget window_track_manage_widgets[] = {
static rct_widget window_track_delete_prompt_widgets[] = {
{ WWT_FRAME, 0, 0, 249, 0, 73, STR_NONE, STR_NONE },
{ WWT_CAPTION, 0, 1, 248, 1, 14, STR_DELETE_FILE, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 237, 247, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_BUTTON, 0, 10, 119, 54, 65, STR_TRACK_MANAGE_DELETE, STR_NONE },
{ WWT_BUTTON, 0, 130, 239, 54, 65, STR_CANCEL, STR_NONE },
{ WIDGETS_END }

View File

@ -32,6 +32,9 @@
using namespace OpenRCT2;
#define WINDOW_TITLE STR_STRING
#define WH 124
#define WW 200
constexpr int16_t TRACK_MINI_PREVIEW_WIDTH = 168;
constexpr int16_t TRACK_MINI_PREVIEW_HEIGHT = 78;
constexpr uint16_t TRACK_MINI_PREVIEW_SIZE = TRACK_MINI_PREVIEW_WIDTH * TRACK_MINI_PREVIEW_HEIGHT;
@ -57,9 +60,7 @@ enum {
validate_global_widx(WC_TRACK_DESIGN_PLACE, WIDX_ROTATE);
static rct_widget window_track_place_widgets[] = {
{ WWT_FRAME, 0, 0, 199, 0, 123, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 198, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 187, 197, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_FLATBTN, 0, 173, 196, 83, 106, SPR_ROTATE_ARROW, STR_ROTATE_90_TIP },
{ WWT_FLATBTN, 0, 173, 196, 59, 82, SPR_MIRROR_ARROW, STR_MIRROR_IMAGE_TIP },
{ WWT_BUTTON, 0, 4, 195, 109, 120, STR_SELECT_A_DIFFERENT_DESIGN, STR_GO_BACK_TO_DESIGN_SELECTION_WINDOW_TIP },

View File

@ -24,6 +24,10 @@
#include <openrct2/windows/Intent.h>
#include <vector>
#define WINDOW_TITLE STR_SELECT_DESIGN
#define WH 431
#define WW 600
// clang-format off
enum {
WIDX_BACKGROUND,
@ -41,9 +45,7 @@ enum {
validate_global_widx(WC_TRACK_DESIGN_LIST, WIDX_ROTATE);
static rct_widget window_track_list_widgets[] = {
{ WWT_FRAME, 0, 0, 599, 0, 430, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 598, 1, 14, STR_SELECT_DESIGN, STR_WINDOW_TITLE_TIP },
{ WWT_CLOSEBOX, 0, 587, 597, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP },
WINDOW_SKELETON,
{ WWT_TABLE_HEADER, 0, 4, 221, 18, 30, STR_SELECT_OTHER_RIDE, STR_NONE },
{ WWT_TEXT_BOX, 1, 4, 127, 32, 44, STR_NONE, STR_NONE },
{ WWT_BUTTON, 0, 130, 221, 32, 44, STR_OBJECT_SEARCH_CLEAR, STR_NONE },

View File

@ -15,6 +15,9 @@
#include <openrct2/localisation/Localisation.h>
#include <openrct2/sprites.h>
#define WINDOW_TITLE STR_VIEWPORT_NO
#define WH 0
#define WW 0
constexpr int32_t INITIAL_WIDTH = 500;
constexpr int32_t INITIAL_HEIGHT = 350;
@ -31,9 +34,7 @@ enum {
};
static rct_widget window_viewport_widgets[] = {
{ WWT_FRAME, 0, 0, 0, 0, 0, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 0, 1, 14, STR_VIEWPORT_NO, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 0, 0, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_RESIZE, 1, 0, 0, 14, 0, 0xFFFFFFFF, STR_NONE }, // resize
{ WWT_VIEWPORT, 0, 3, 0, 17, 0, 0xFFFFFFFF, STR_NONE }, // viewport
@ -116,8 +117,10 @@ static void window_viewport_anchor_border_widgets(rct_window* w)
w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1;
w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1;
w->widgets[WIDX_TITLE].right = w->width - 2;
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#ifndef LEFT_CLOSEBOX
w->widgets[WIDX_CLOSE].left = w->width - 13;
w->widgets[WIDX_CLOSE].right = w->width - 3;
#endif
}
static void window_viewport_mouseup(rct_window* w, rct_widgetindex widgetIndex)

View File

@ -16,6 +16,10 @@
#include <openrct2/localisation/Localisation.h>
#include <openrct2/world/Park.h>
#define WINDOW_TITLE STR_WATER
#define WH 77
#define WW 76
// clang-format off
enum WINDOW_WATER_WIDGET_IDX {
WIDX_BACKGROUND,
@ -27,9 +31,7 @@ enum WINDOW_WATER_WIDGET_IDX {
};
static rct_widget window_water_widgets[] = {
{ WWT_FRAME, 0, 0, 75, 0, 76, 0xFFFFFFFF, STR_NONE }, // panel / background
{ WWT_CAPTION, 0, 1, 74, 1, 14, STR_WATER, STR_WINDOW_TITLE_TIP }, // title bar
{ WWT_CLOSEBOX, 0, 63, 73, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
WINDOW_SKELETON,
{ WWT_IMGBTN, 0, 16, 59, 17, 48, SPR_LAND_TOOL_SIZE_0, STR_NONE }, // preview box
{ WWT_TRNBTN, 2, 17, 32, 18, 33, IMAGE_TYPE_REMAP | SPR_LAND_TOOL_DECREASE, STR_ADJUST_SMALLER_WATER_TIP }, // decrement size
{ WWT_TRNBTN, 2, 43, 58, 32, 47, IMAGE_TYPE_REMAP | SPR_LAND_TOOL_INCREASE, STR_ADJUST_LARGER_WATER_TIP }, // increment size

View File

@ -194,3 +194,17 @@ void window_tooltip_open(rct_window* widgetWindow, rct_widgetindex widgetIndex,
void window_tooltip_close();
rct_window* window_scenery_scatter_open();
#ifndef LEFT_CLOSEBOX
// close button on right of window
#define WINDOW_SKELETON \
{ WWT_FRAME, 0, 0, WW - 1, 0, WH, 0xFFFFFFFF, STR_NONE }, \
{ WWT_CAPTION, 0, 1, WW - 2, 1, 14, WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, \
{ WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }
#else
// close button on left of window
#define WINDOW_SKELETON \
{ WWT_FRAME, 0, 0, WW - 1, 0, WH, 0xFFFFFFFF, STR_NONE }, \
{ WWT_CAPTION, 0, 13, WW - 2, 1, 14, WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, \
{ WWT_CLOSEBOX, 0, 2, 12, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }
#endif