Merge pull request #1685 from Gymnasiast/reorder-options-window

Reorder Options window
This commit is contained in:
Duncan 2015-07-26 16:59:55 +01:00
commit 7c2cd22dcd
3 changed files with 181 additions and 146 deletions

View File

@ -3456,8 +3456,8 @@ STR_3445 :Set Patrol Area
STR_3446 :Cancel Patrol Area
# New strings, cleaner
STR_5120 :Show finances button on toolbar
STR_5121 :Show research button on toolbar
STR_5120 :Finances
STR_5121 :Research
STR_5122 :Select rides by track type (like in RCT1)
STR_5123 :Renew rides
STR_5124 :No Six Flags
@ -3483,7 +3483,7 @@ STR_5143 :Quick Speed
STR_5144 :Fast Speed
STR_5145 :Turbo Speed
STR_5146 :Hyper Speed
STR_5147 :Show cheats button on toolbar
STR_5147 :Cheats
STR_5148 :{SMALLFONT}{BLACK}Change the game speed
STR_5149 :{SMALLFONT}{BLACK}Open the cheats window
STR_5150 :Enable debugging tools
@ -3605,7 +3605,7 @@ STR_5265 :{SMALLFONT}{BLACK}Select which content sources are visible
STR_5266 :{SMALLFONT}{BLACK}Display
STR_5267 :{SMALLFONT}{BLACK}Culture and Units
STR_5268 :{SMALLFONT}{BLACK}Audio
STR_5269 :{SMALLFONT}{BLACK}Controls
STR_5269 :{SMALLFONT}{BLACK}Controls and interface
STR_5270 :{SMALLFONT}{BLACK}Miscellaneous
STR_5271 :{SMALLFONT}{BLACK}Twitch
STR_5272 :{SMALLFONT}{BLACK}Small Scenery
@ -3804,10 +3804,16 @@ STR_5464 :General
STR_5465 :Climate
STR_5466 :Staff
STR_5467 :ALT +
STR_5468 :Show recent messages button on toolbar
STR_5468 :Recent messages
STR_5469 :Scroll map up
STR_5470 :Scroll map left
STR_5471 :Scroll map down
STR_5472 :Scroll map right
STR_5473 :Cycle day / night
STR_5474 :Display text on banners in upper case
STR_5476 :Hardware
STR_5477 :Map rendering
STR_5478 :Controls
STR_5479 :Toolbar
STR_5480 :Show toolbar buttons for:
STR_5481 :Themes

View File

@ -83,6 +83,8 @@ enum {
STR_PAUSE_GAME_TIP = 833,
STR_DISC_AND_GAME_OPTIONS_TIP = 834,
STR_RESOLUTION_X_BY_Y = 840,
STR_ROTATE_CLOCKWISE = 5458,
STR_ROTATE_ANTI_CLOCKWISE = 5459,
@ -1709,6 +1711,13 @@ enum {
STR_OPENRCT2_BEGIN_STRING_ID = 5120,
STR_FINANCES_BUTTON_ON_TOOLBAR = 5120,
STR_RESEARCH_BUTTON_ON_TOOLBAR = 5121,
STR_SELECT_BY_TRACK_TYPE = 5122,
STR_CHEATS_BUTTON_ON_TOOLBAR = 5147,
STR_HARDWARE_DISPLAY = 5154,
STR_TWITCH_NAME = 5164,
STR_TWITCH_PEEP_FOLLOWERS = 5165,
STR_TWITCH_PEEP_FOLLOWERS_TIP = 5166,
@ -1727,6 +1736,13 @@ enum {
STR_GIANT_SCREENSHOT = 5260,
STR_OPTIONS_DISPLAY_TIP = 5266,
STR_OPTIONS_CULTURE_TIP = 5267,
STR_OPTIONS_AUDIO_TIP = 5268,
STR_OPTIONS_CONTROLS_AND_INTERFACE_TIP = 5269,
STR_OPTIONS_MISCELLANEOUS_TIP = 5270,
STR_OPTIONS_TWITCH_TIP = 5271,
STR_CHEAT_SANDBOX_MODE = 5278,
STR_CHEAT_SANDBOX_MODE_DISABLE = 5279,
STR_CHEAT_SANDBOX_MODE_TIP = 5280,
@ -1770,6 +1786,10 @@ enum {
STR_UP = 5375,
STR_DOWN = 5376,
STR_MININISE_FULL_SCREEN_ON_FOCUS_LOSS = 5440,
STR_SELECT_BY_TRACK_TYPE_TIP = 5441,
STR_FORCE_PARK_RATING = 5442,
STR_OBJECTS_SORT_TYPE = 5447,
@ -1782,6 +1802,8 @@ enum {
STR_SELECT_OTHER_RIDE = 5453,
STR_UNCAP_FPS = 5454,
STR_ENABLE_SANDBOX_MODE = 5455,
STR_DISABLE_CLEARANCE_CHECKS = 5456,
STR_DISABLE_SUPPORT_LIMITS = 5457,
@ -1805,6 +1827,12 @@ enum {
STR_CYCLE_DAY_NIGHT = 5473,
STR_UPPER_CASE_BANNERS = 5474,
STR_HARDWARE_GROUP = 5476,
STR_RENDERING_GROUP = 5477,
STR_CONTROLS_GROUP = 5478,
STR_TOOLBAR_BUTTONS_GROUP = 5479,
STR_SHOW_TOOLBAR_BUTTONS_FOR = 5480,
STR_THEMES_GROUP = 5481,
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
STR_COUNT = 32768

View File

@ -48,7 +48,7 @@ enum WINDOW_OPTIONS_PAGE {
WINDOW_OPTIONS_PAGE_DISPLAY,
WINDOW_OPTIONS_PAGE_CULTURE,
WINDOW_OPTIONS_PAGE_AUDIO,
WINDOW_OPTIONS_PAGE_CONTROLS,
WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE,
WINDOW_OPTIONS_PAGE_MISC,
WINDOW_OPTIONS_PAGE_TWITCH,
WINDOW_OPTIONS_PAGE_COUNT
@ -71,20 +71,19 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
WIDX_PAGE_START,
// Display
WIDX_RESOLUTION = WIDX_PAGE_START,
WIDX_HARDWARE_GROUP = WIDX_PAGE_START,
WIDX_RESOLUTION,
WIDX_RESOLUTION_DROPDOWN,
WIDX_FULLSCREEN,
WIDX_FULLSCREEN_DROPDOWN,
WIDX_TILE_SMOOTHING_CHECKBOX,
WIDX_GRIDLINES_CHECKBOX,
WIDX_HARDWARE_DISPLAY_CHECKBOX,
WIDX_UNCAP_FPS_CHECKBOX,
WIDX_MINIMIZE_FOCUS_LOSS,
WIDX_RENDERING_GROUP,
WIDX_TILE_SMOOTHING_CHECKBOX,
WIDX_GRIDLINES_CHECKBOX,
WIDX_CONSTRUCTION_MARKER,
WIDX_CONSTRUCTION_MARKER_DROPDOWN,
WIDX_THEMES,
WIDX_THEMES_DROPDOWN,
WIDX_THEMES_BUTTON,
WIDX_DAY_NIGHT_CHECKBOX,
WIDX_UPPER_CASE_BANNERS_CHECKBOX,
@ -112,21 +111,27 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
WIDX_MASTER_VOLUME,
WIDX_MUSIC_VOLUME,
// Controls
WIDX_SCREEN_EDGE_SCROLLING = WIDX_PAGE_START,
// Controls and interface
WIDX_CONTROLS_GROUP = WIDX_PAGE_START,
WIDX_SCREEN_EDGE_SCROLLING,
WIDX_INVERT_DRAG,
WIDX_HOTKEY_DROPDOWN,
WIDX_THEMES_GROUP,
WIDX_THEMES,
WIDX_THEMES_DROPDOWN,
WIDX_THEMES_BUTTON,
WIDX_TOOLBAR_BUTTONS_GROUP,
WIDX_TOOLBAR_SHOW_FINANCES,
WIDX_TOOLBAR_SHOW_RESEARCH,
WIDX_TOOLBAR_SHOW_CHEATS,
WIDX_TOOLBAR_SHOW_NEWS,
WIDX_SELECT_BY_TRACK_TYPE,
// Misc
WIDX_REAL_NAME_CHECKBOX = WIDX_PAGE_START,
WIDX_SAVE_PLUGIN_DATA_CHECKBOX,
WIDX_AUTOSAVE,
WIDX_AUTOSAVE_DROPDOWN,
WIDX_SELECT_BY_TRACK_TYPE,
WIDX_TEST_UNFINISHED_TRACKS,
WIDX_AUTO_STAFF_PLACEMENT,
WIDX_DEBUGGING_TOOLS,
@ -143,39 +148,39 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
WIDX_NEWS_CHECKBOX
};
#define WW 310
#define WH 238
#define WW 310
#define WH 265
#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 }, \
{ WWT_RESIZE, 1, 0, WW-1, 43, WH-1, 0xFFFFFFFF, STR_NONE }, \
{ WWT_TAB, 1, 3, 33, 17, 43, 0x2000144E, 5266 }, \
{ WWT_TAB, 1, 34, 64, 17, 43, 0x2000144E, 5267 }, \
{ WWT_TAB, 1, 65, 95, 17, 43, 0x2000144E, 5268 }, \
{ WWT_TAB, 1, 96, 126, 17, 43, 0x2000144E, 5269 }, \
{ WWT_TAB, 1, 127, 157, 17, 43, 0x2000144E, 5270 }, \
{ WWT_TAB, 1, 158, 188, 17, 43, 0x2000144E, 5271 }
{ WWT_TAB, 1, 3, 33, 17, 43, 0x2000144E, STR_OPTIONS_DISPLAY_TIP }, \
{ WWT_TAB, 1, 34, 64, 17, 43, 0x2000144E, STR_OPTIONS_CULTURE_TIP }, \
{ WWT_TAB, 1, 65, 95, 17, 43, 0x2000144E, STR_OPTIONS_AUDIO_TIP }, \
{ WWT_TAB, 1, 96, 126, 17, 43, 0x2000144E, STR_OPTIONS_CONTROLS_AND_INTERFACE_TIP }, \
{ WWT_TAB, 1, 127, 157, 17, 43, 0x2000144E, STR_OPTIONS_MISCELLANEOUS_TIP }, \
{ WWT_TAB, 1, 158, 188, 17, 43, 0x2000144E, STR_OPTIONS_TWITCH_TIP }
static rct_widget window_options_display_widgets[] = {
MAIN_OPTIONS_WIDGETS,
{ WWT_DROPDOWN, 1, 155, 299, 53, 64, 840, STR_NONE }, // resolution
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 54, 63, 876, STR_NONE },
{ WWT_DROPDOWN, 1, 155, 299, 68, 79, 871, STR_NONE }, // fullscreen
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 69, 78, 876, STR_NONE },
{ WWT_CHECKBOX, 1, 10, 290, 84, 95, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP }, // landscape smoothing
{ WWT_CHECKBOX, 1, 10, 290, 99, 110, STR_GRIDLINES, STR_GRIDLINES_TIP }, // gridlines
{ WWT_CHECKBOX, 1, 10, 290, 114, 125, 5154, STR_NONE }, // hardware display
{ WWT_CHECKBOX, 1, 10, 290, 129, 140, 5454, STR_NONE }, // uncap fps
{ WWT_CHECKBOX, 1, 10, 290, 144, 155, 5440, STR_NONE }, // minimize fullscreen focus loss
{ WWT_DROPDOWN, 1, 155, 299, 158, 169, STR_NONE, STR_NONE }, // construction marker
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 159, 178, 876, STR_NONE },
{ WWT_DROPDOWN, 1, 155, 299, 173, 184, STR_NONE, STR_NONE }, // colour schemes
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 174, 183, 876, STR_NONE },
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 189, 200, 5153, STR_NONE }, // colour schemes button
{ WWT_CHECKBOX, 1, 10, 290, 204, 216, STR_CYCLE_DAY_NIGHT,STR_NONE }, // cycle day-night
{ WWT_CHECKBOX, 1, 10, 290, 219, 231, STR_UPPER_CASE_BANNERS,STR_NONE }, // upper case banners
{ WWT_GROUPBOX, 1, 5, 304, 53, 145, STR_HARDWARE_GROUP, STR_NONE }, // Hardware group
{ WWT_DROPDOWN, 1, 155, 299, 68, 79, STR_RESOLUTION_X_BY_Y, STR_NONE }, // resolution
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 69, 78, 876, STR_NONE },
{ WWT_DROPDOWN, 1, 155, 299, 83, 94, 871, STR_NONE }, // fullscreen
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 84, 93, 876, STR_NONE },
{ WWT_CHECKBOX, 1, 10, 290, 99, 110, STR_HARDWARE_DISPLAY, STR_NONE }, // hardware display
{ WWT_CHECKBOX, 1, 10, 290, 114, 125, STR_UNCAP_FPS, STR_NONE }, // uncap fps
{ WWT_CHECKBOX, 1, 10, 290, 129, 140, STR_MININISE_FULL_SCREEN_ON_FOCUS_LOSS, STR_NONE }, // minimise fullscreen focus loss
{ WWT_GROUPBOX, 1, 5, 304, 149, 240, STR_RENDERING_GROUP, STR_NONE }, // Rendering group
{ WWT_CHECKBOX, 1, 10, 290, 164, 175, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP }, // landscape smoothing
{ WWT_CHECKBOX, 1, 10, 290, 179, 190, STR_GRIDLINES, STR_GRIDLINES_TIP }, // gridlines
{ WWT_DROPDOWN, 1, 155, 299, 193, 204, STR_NONE, STR_NONE }, // construction marker
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 194, 203, 876, STR_NONE },
{ WWT_CHECKBOX, 1, 10, 290, 209, 220, STR_CYCLE_DAY_NIGHT, STR_NONE }, // cycle day-night
{ WWT_CHECKBOX, 1, 10, 290, 224, 235, STR_UPPER_CASE_BANNERS, STR_NONE }, // upper case banners
{ WIDGETS_END },
};
@ -209,15 +214,25 @@ static rct_widget window_options_audio_widgets[] = {
{ WIDGETS_END },
};
static rct_widget window_options_controls_widgets[] = {
static rct_widget window_options_controls_and_interface_widgets[] = {
MAIN_OPTIONS_WIDGETS,
{ WWT_CHECKBOX, 2, 10, 299, 54, 65, STR_SCREEN_EDGE_SCROLLING, STR_SCREEN_EDGE_SCROLLING_TIP },
{ WWT_CHECKBOX, 2, 10, 299, 69, 80, STR_INVERT_RIGHT_MOUSE_DRAG, STR_NONE },
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 84, 95, STR_HOTKEY, STR_HOTKEY_TIP },
{ WWT_CHECKBOX, 2, 10, 299, 99, 110, 5120, STR_NONE },
{ WWT_CHECKBOX, 2, 10, 299, 114, 125, 5121, STR_NONE },
{ WWT_CHECKBOX, 2, 10, 299, 129, 140, 5147, STR_NONE },
{ WWT_CHECKBOX, 2, 10, 299, 144, 155, STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR, STR_NONE },
{ WWT_GROUPBOX, 1, 5, 304, 53, 114, STR_CONTROLS_GROUP, STR_NONE }, // Controls group
{ WWT_CHECKBOX, 2, 10, 299, 68, 79, STR_SCREEN_EDGE_SCROLLING, STR_SCREEN_EDGE_SCROLLING_TIP }, // Edge scrolling
{ WWT_CHECKBOX, 2, 10, 299, 83, 94, STR_INVERT_RIGHT_MOUSE_DRAG, STR_NONE }, // Invert right mouse dragging
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 98, 109, STR_HOTKEY, STR_HOTKEY_TIP }, // Set hotkeys buttons
{ WWT_GROUPBOX, 1, 5, 304, 118, 164, STR_THEMES_GROUP, STR_NONE }, // Toolbar buttons group
{ WWT_DROPDOWN, 1, 155, 299, 132, 143, STR_NONE, STR_NONE }, // Themes
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 133, 142, 876, STR_NONE },
{ WWT_DROPDOWN_BUTTON, 1, 10, 145, 148, 159, 5153, STR_NONE }, // Themes button
{ WWT_GROUPBOX, 1, 5, 304, 168, 230, STR_TOOLBAR_BUTTONS_GROUP, STR_NONE }, // Toolbar buttons group
{ WWT_CHECKBOX, 2, 10, 145, 199, 210, STR_FINANCES_BUTTON_ON_TOOLBAR, STR_NONE }, // Finances
{ WWT_CHECKBOX, 2, 10, 145, 214, 225, STR_RESEARCH_BUTTON_ON_TOOLBAR, STR_NONE }, // Research
{ WWT_CHECKBOX, 2, 155, 299, 199, 210, STR_CHEATS_BUTTON_ON_TOOLBAR, STR_NONE }, // Cheats
{ WWT_CHECKBOX, 2, 155, 299, 214, 225, STR_SHOW_RECENT_MESSAGES_ON_TOOLBAR, STR_NONE }, // Recent messages
{ WWT_CHECKBOX, 2, 10, 299, 239, 250, STR_SELECT_BY_TRACK_TYPE, STR_SELECT_BY_TRACK_TYPE_TIP }, // Select by track type
{ WIDGETS_END },
};
@ -227,7 +242,6 @@ static rct_widget window_options_misc_widgets[] = {
{ WWT_CHECKBOX, 2, 10, 299, 69, 80, STR_SAVE_PLUGIN_DATA, STR_SAVE_PLUGIN_DATA_TIP },
{ WWT_DROPDOWN, 1, 155, 299, 83, 94, STR_NONE, STR_NONE },
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 84, 93, 876, STR_NONE },
{ WWT_CHECKBOX, 2, 10, 299, 99, 110, 5122, 5441 }, // select by track type
{ WWT_CHECKBOX, 2, 10, 299, 114, 125, 5155, 5156 }, // test unfinished tracks
{ WWT_CHECKBOX, 2, 10, 299, 129, 140, 5343, STR_NONE }, // auto staff placement
{ WWT_CHECKBOX, 2, 10, 299, 144, 155, 5150, STR_NONE }, // enabled debugging tools
@ -252,7 +266,7 @@ rct_widget *window_options_page_widgets[] = {
window_options_display_widgets,
window_options_culture_widgets,
window_options_audio_widgets,
window_options_controls_widgets,
window_options_controls_and_interface_widgets,
window_options_misc_widgets,
window_options_twitch_widgets
};
@ -337,9 +351,6 @@ static uint32 window_options_page_enabled_widgets[] = {
(1 << WIDX_MINIMIZE_FOCUS_LOSS) |
(1 << WIDX_CONSTRUCTION_MARKER) |
(1 << WIDX_CONSTRUCTION_MARKER_DROPDOWN) |
(1 << WIDX_THEMES) |
(1 << WIDX_THEMES_DROPDOWN) |
(1 << WIDX_THEMES_BUTTON) |
(1 << WIDX_DAY_NIGHT_CHECKBOX) |
(1 << WIDX_UPPER_CASE_BANNERS_CHECKBOX),
@ -372,14 +383,17 @@ static uint32 window_options_page_enabled_widgets[] = {
(1 << WIDX_TOOLBAR_SHOW_FINANCES) |
(1 << WIDX_TOOLBAR_SHOW_RESEARCH) |
(1 << WIDX_TOOLBAR_SHOW_CHEATS) |
(1 << WIDX_TOOLBAR_SHOW_NEWS),
(1 << WIDX_TOOLBAR_SHOW_NEWS) |
(1 << WIDX_THEMES) |
(1 << WIDX_THEMES_DROPDOWN) |
(1 << WIDX_THEMES_BUTTON) |
(1 << WIDX_SELECT_BY_TRACK_TYPE),
MAIN_OPTIONS_ENABLED_WIDGETS |
(1 << WIDX_REAL_NAME_CHECKBOX) |
(1 << WIDX_SAVE_PLUGIN_DATA_CHECKBOX) |
(1 << WIDX_AUTOSAVE) |
(1 << WIDX_AUTOSAVE_DROPDOWN) |
(1 << WIDX_SELECT_BY_TRACK_TYPE) |
(1 << WIDX_TEST_UNFINISHED_TRACKS) |
(1 << WIDX_AUTO_STAFF_PLACEMENT) |
(1 << WIDX_DEBUGGING_TOOLS) |
@ -479,10 +493,6 @@ static void window_options_mouseup(rct_window *w, int widgetIndex)
config_save_default();
window_invalidate(w);
break;
case WIDX_THEMES_BUTTON:
window_themes_open();
window_invalidate(w);
break;
case WIDX_DAY_NIGHT_CHECKBOX:
gConfigGeneral.day_night_cycle ^= 1;
config_save_default();
@ -517,7 +527,7 @@ static void window_options_mouseup(rct_window *w, int widgetIndex)
}
break;
case WINDOW_OPTIONS_PAGE_CONTROLS:
case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE:
switch (widgetIndex) {
case WIDX_HOTKEY_DROPDOWN:
window_shortcut_keys_open();
@ -556,11 +566,10 @@ static void window_options_mouseup(rct_window *w, int widgetIndex)
config_save_default();
window_invalidate(w);
break;
}
break;
case WINDOW_OPTIONS_PAGE_MISC:
switch (widgetIndex) {
case WIDX_THEMES_BUTTON:
window_themes_open();
window_invalidate(w);
break;
case WIDX_SELECT_BY_TRACK_TYPE:
gConfigInterface.select_by_track_type ^= 1;
config_save_default();
@ -568,6 +577,11 @@ static void window_options_mouseup(rct_window *w, int widgetIndex)
window_invalidate_by_class(WC_RIDE);
window_invalidate_by_class(WC_CONSTRUCT_RIDE);
break;
}
break;
case WINDOW_OPTIONS_PAGE_MISC:
switch (widgetIndex) {
case WIDX_DEBUGGING_TOOLS:
gConfigGeneral.debugging_tools ^= 1;
config_save_default();
@ -695,34 +709,6 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
gDropdownItemsChecked = 1 << gConfigGeneral.construction_marker_colour;
break;
case WIDX_THEMES_DROPDOWN:
num_items = gConfigThemes.num_presets;
gDropdownItemsFormat[0] = 2777;
gDropdownItemsArgs[0] = (uint32)&gConfigThemes.presets[1].name;
gDropdownItemsFormat[1] = 2777;
gDropdownItemsArgs[1] = (uint32)&gConfigThemes.presets[0].name;
for (i = 2; i < num_items; i++) {
gDropdownItemsFormat[i] = 2777;
gDropdownItemsArgs[i] = (uint32)&gConfigThemes.presets[i].name;
}
window_dropdown_show_text_custom_width(
w->x + widget->left,
w->y + widget->top,
widget->bottom - widget->top + 1,
w->colours[1],
DROPDOWN_FLAG_STAY_OPEN,
num_items,
widget->right - widget->left - 3
);
if (gCurrentTheme == 0 || gCurrentTheme == 1)
gDropdownItemsChecked = 1 << (gCurrentTheme ^ 1);
else
gDropdownItemsChecked = 1 << (gCurrentTheme);
break;
}
break;
@ -822,7 +808,37 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
}
break;
case WINDOW_OPTIONS_PAGE_CONTROLS:
case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE:
switch (widgetIndex) {
case WIDX_THEMES_DROPDOWN:
num_items = gConfigThemes.num_presets;
gDropdownItemsFormat[0] = 2777;
gDropdownItemsArgs[0] = (uint32)&gConfigThemes.presets[1].name;
gDropdownItemsFormat[1] = 2777;
gDropdownItemsArgs[1] = (uint32)&gConfigThemes.presets[0].name;
for (i = 2; i < num_items; i++) {
gDropdownItemsFormat[i] = 2777;
gDropdownItemsArgs[i] = (uint32)&gConfigThemes.presets[i].name;
}
window_dropdown_show_text_custom_width(
w->x + widget->left,
w->y + widget->top,
widget->bottom - widget->top + 1,
w->colours[1],
DROPDOWN_FLAG_STAY_OPEN,
num_items,
widget->right - widget->left - 3
);
if (gCurrentTheme == 0 || gCurrentTheme == 1)
gDropdownItemsChecked = 1 << (gCurrentTheme ^ 1);
else
gDropdownItemsChecked = 1 << (gCurrentTheme);
break;
}
break;
case WINDOW_OPTIONS_PAGE_MISC:
@ -836,17 +852,6 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
gDropdownItemsChecked = 1 << gConfigGeneral.autosave_frequency;
break;
case WIDX_TITLE_SEQUENCE_DROPDOWN:
/* gDropdownItemsFormat[0] = 1142;
gDropdownItemsArgs[0] = STR_TITLE_SEQUENCE_RCT2;
gDropdownItemsFormat[1] = 1142;
gDropdownItemsArgs[1] = STR_TITLE_SEQUENCE_OPENRCT2;
window_options_show_dropdown(w, widget, 2);
if (gConfigGeneral.title_sequence == TITLE_SEQUENCE_RCT2)
gDropdownItemsChecked = 1 << 0;
else if (gConfigGeneral.title_sequence == TITLE_SEQUENCE_OPENRCT2)
gDropdownItemsChecked = 1 << 1;
break;
case WIDX_THEMES_DROPDOWN:*/
num_items = gConfigTitleSequences.num_presets;
for (i = 0; i < num_items; i++) {
@ -917,14 +922,6 @@ static void window_options_dropdown(rct_window *w, int widgetIndex, int dropdown
gfx_invalidate_screen();
}
break;
case WIDX_THEMES_DROPDOWN:
if (dropdownIndex != -1) {
if (dropdownIndex == 0 || dropdownIndex == 1)
dropdownIndex ^= 1;
theme_change_preset(dropdownIndex);
}
config_save_default();
break;
}
break;
@ -997,14 +994,6 @@ static void window_options_dropdown(rct_window *w, int widgetIndex, int dropdown
config_save_default();
#endif
}
/*#ifdef _MSC_VER
__asm movzx ax, dropdownIndex
#else
__asm__ ( "movzx ax, %[dropdownIndex] " : : [dropdownIndex] "g" ((char)dropdownIndex) );
#endif
// the switch replaces ax value
RCT2_CALLPROC_EBPSAFE(0x006BA9B5); // part of init audio*/
window_invalidate(w);
break;
case WIDX_TITLE_MUSIC_DROPDOWN:
@ -1024,7 +1013,17 @@ static void window_options_dropdown(rct_window *w, int widgetIndex, int dropdown
}
break;
case WINDOW_OPTIONS_PAGE_CONTROLS:
case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE:
switch (widgetIndex) {
case WIDX_THEMES_DROPDOWN:
if (dropdownIndex != -1) {
if (dropdownIndex == 0 || dropdownIndex == 1)
dropdownIndex ^= 1;
theme_change_preset(dropdownIndex);
}
config_save_default();
break;
}
break;
case WINDOW_OPTIONS_PAGE_MISC:
@ -1108,9 +1107,6 @@ static void window_options_invalidate(rct_window *w)
window_options_display_widgets[WIDX_HARDWARE_DISPLAY_CHECKBOX].type = WWT_CHECKBOX;
window_options_display_widgets[WIDX_UNCAP_FPS_CHECKBOX].type = WWT_CHECKBOX;
window_options_display_widgets[WIDX_MINIMIZE_FOCUS_LOSS].type = WWT_CHECKBOX;
window_options_display_widgets[WIDX_THEMES].type = WWT_DROPDOWN;
window_options_display_widgets[WIDX_THEMES_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
window_options_display_widgets[WIDX_THEMES_BUTTON].type = WWT_DROPDOWN_BUTTON;
window_options_display_widgets[WIDX_DAY_NIGHT_CHECKBOX].type = WWT_CHECKBOX;
window_options_display_widgets[WIDX_UPPER_CASE_BANNERS_CHECKBOX].type = WWT_CHECKBOX;
break;
@ -1180,20 +1176,25 @@ static void window_options_invalidate(rct_window *w)
window_options_audio_widgets[WIDX_MUSIC_VOLUME].type = WWT_SCROLL;
break;
case WINDOW_OPTIONS_PAGE_CONTROLS:
case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE:
widget_set_checkbox_value(w, WIDX_SCREEN_EDGE_SCROLLING, gConfigGeneral.edge_scrolling);
widget_set_checkbox_value(w, WIDX_INVERT_DRAG, gConfigGeneral.invert_viewport_drag);
widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_FINANCES, gConfigInterface.toolbar_show_finances);
widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_RESEARCH, gConfigInterface.toolbar_show_research);
widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_CHEATS, gConfigInterface.toolbar_show_cheats);
widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_NEWS, gConfigInterface.toolbar_show_news);
widget_set_checkbox_value(w, WIDX_SELECT_BY_TRACK_TYPE, gConfigInterface.select_by_track_type);
window_options_controls_widgets[WIDX_SCREEN_EDGE_SCROLLING].type = WWT_CHECKBOX;
window_options_controls_widgets[WIDX_HOTKEY_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
window_options_controls_widgets[WIDX_TOOLBAR_SHOW_FINANCES].type = WWT_CHECKBOX;
window_options_controls_widgets[WIDX_TOOLBAR_SHOW_RESEARCH].type = WWT_CHECKBOX;
window_options_controls_widgets[WIDX_TOOLBAR_SHOW_CHEATS].type = WWT_CHECKBOX;
window_options_controls_widgets[WIDX_TOOLBAR_SHOW_NEWS].type = WWT_CHECKBOX;
window_options_controls_and_interface_widgets[WIDX_THEMES].type = WWT_DROPDOWN;
window_options_controls_and_interface_widgets[WIDX_THEMES_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
window_options_controls_and_interface_widgets[WIDX_THEMES_BUTTON].type = WWT_DROPDOWN_BUTTON;
window_options_controls_and_interface_widgets[WIDX_SCREEN_EDGE_SCROLLING].type = WWT_CHECKBOX;
window_options_controls_and_interface_widgets[WIDX_HOTKEY_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_FINANCES].type = WWT_CHECKBOX;
window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_RESEARCH].type = WWT_CHECKBOX;
window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_CHEATS].type = WWT_CHECKBOX;
window_options_controls_and_interface_widgets[WIDX_TOOLBAR_SHOW_NEWS].type = WWT_CHECKBOX;
window_options_controls_and_interface_widgets[WIDX_SELECT_BY_TRACK_TYPE].type = WWT_CHECKBOX;
break;
case WINDOW_OPTIONS_PAGE_MISC:
@ -1207,7 +1208,6 @@ static void window_options_invalidate(rct_window *w)
else
window_options_misc_widgets[WIDX_SAVE_PLUGIN_DATA_CHECKBOX].type = WWT_CHECKBOX;
widget_set_checkbox_value(w, WIDX_SELECT_BY_TRACK_TYPE, gConfigInterface.select_by_track_type);
widget_set_checkbox_value(w, WIDX_REAL_NAME_CHECKBOX, RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_SHOW_REAL_GUEST_NAMES);
widget_set_checkbox_value(w, WIDX_SAVE_PLUGIN_DATA_CHECKBOX, gConfigGeneral.save_plugin_data);
widget_set_checkbox_value(w, WIDX_TEST_UNFINISHED_TRACKS, gConfigGeneral.test_unfinished_tracks);
@ -1218,7 +1218,6 @@ static void window_options_invalidate(rct_window *w)
window_options_misc_widgets[WIDX_SAVE_PLUGIN_DATA_CHECKBOX].type = WWT_CHECKBOX;
window_options_misc_widgets[WIDX_AUTOSAVE].type = WWT_DROPDOWN;
window_options_misc_widgets[WIDX_AUTOSAVE_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
window_options_misc_widgets[WIDX_SELECT_BY_TRACK_TYPE].type = WWT_CHECKBOX;
window_options_misc_widgets[WIDX_TEST_UNFINISHED_TRACKS].type = WWT_CHECKBOX;
window_options_misc_widgets[WIDX_AUTO_STAFF_PLACEMENT].type = WWT_CHECKBOX;
window_options_misc_widgets[WIDX_DEBUGGING_TOOLS].type = WWT_CHECKBOX;
@ -1283,18 +1282,6 @@ static void window_options_paint(rct_window *w, rct_drawpixelinfo *dpi)
gfx_draw_string_left(dpi, STR_DISPLAY_RESOLUTION, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_RESOLUTION].top + 1);
gfx_draw_string_left(dpi, STR_FULLSCREEN_MODE, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_FULLSCREEN].top + 1);
gfx_draw_string_left(dpi, STR_CONSTRUCTION_MARKER, w, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_CONSTRUCTION_MARKER].top + 1);
RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 0, uint32) = (uint32)&gConfigThemes.presets[gCurrentTheme].name;
gfx_draw_string_left(dpi, 5238, NULL, w->colours[1], w->x + 10, w->y + window_options_display_widgets[WIDX_THEMES].top + 1);
gfx_draw_string_left_clipped(
dpi,
1170,
(void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS,
w->colours[1],
w->x + window_options_display_widgets[WIDX_THEMES].left + 1,
w->y + window_options_display_widgets[WIDX_THEMES].top,
window_options_display_widgets[WIDX_THEMES_DROPDOWN].left - window_options_display_widgets[WIDX_THEMES].left - 4
);
break;
case WINDOW_OPTIONS_PAGE_CULTURE:
gfx_draw_string_left(dpi, 2776, w, w->colours[1], w->x + 10, w->y + window_options_culture_widgets[WIDX_LANGUAGE].top + 1);
@ -1333,6 +1320,20 @@ static void window_options_paint(rct_window *w, rct_drawpixelinfo *dpi)
w->y + window_options_audio_widgets[WIDX_TITLE_MUSIC].top
);
break;
case WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE:
gfx_draw_string_left(dpi, STR_SHOW_TOOLBAR_BUTTONS_FOR, w, w->colours[1], w->x + 10, w->y + window_options_controls_and_interface_widgets[WIDX_TOOLBAR_BUTTONS_GROUP].top + 15);
RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 0, uint32) = (uint32)&gConfigThemes.presets[gCurrentTheme].name;
gfx_draw_string_left(dpi, 5238, NULL, w->colours[1], w->x + 10, w->y + window_options_controls_and_interface_widgets[WIDX_THEMES].top + 1);
gfx_draw_string_left_clipped(
dpi,
1170,
(void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS,
w->colours[1],
w->x + window_options_controls_and_interface_widgets[WIDX_THEMES].left + 1,
w->y + window_options_controls_and_interface_widgets[WIDX_THEMES].top,
window_options_controls_and_interface_widgets[WIDX_THEMES_DROPDOWN].left - window_options_controls_and_interface_widgets[WIDX_THEMES].left - 4
);
break;
case WINDOW_OPTIONS_PAGE_MISC:
gfx_draw_string_left(dpi, 2700, w, w->colours[1], w->x + 10, w->y + window_options_misc_widgets[WIDX_AUTOSAVE].top + 1);
gfx_draw_string_left(
@ -1445,7 +1446,7 @@ static void window_options_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w
window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_DISPLAY, 5442);
window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_CULTURE, 5229);
window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_AUDIO, 5335);
window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_CONTROLS, 5201);
window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_CONTROLS_AND_INTERFACE, 5201);
window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_MISC, 5205);
window_options_draw_tab_image(dpi, w, WINDOW_OPTIONS_PAGE_TWITCH, SPR_G2_TAB_TWITCH);
}