1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-23 07:43:01 +01:00

Add feature to make banners display text in all caps

This commit is contained in:
Gymnasiast
2015-07-25 21:38:23 +02:00
parent 3d4cbfff6e
commit ae32b463c0
6 changed files with 28 additions and 11 deletions

View File

@@ -3807,3 +3807,4 @@ STR_5470 :Scroll map left
STR_5471 :Scroll map down STR_5471 :Scroll map down
STR_5472 :Scroll map right STR_5472 :Scroll map right
STR_5473 :Cycle day / night STR_5473 :Cycle day / night
STR_5474 :Display text on banners in upper case

View File

@@ -185,6 +185,7 @@ config_property_definition _generalDefinitions[] = {
{ offsetof(general_configuration, load_save_sort), "load_save_sort", CONFIG_VALUE_TYPE_UINT8, SORT_NAME_ASCENDING, NULL }, { offsetof(general_configuration, load_save_sort), "load_save_sort", CONFIG_VALUE_TYPE_UINT8, SORT_NAME_ASCENDING, NULL },
{ offsetof(general_configuration, minimize_fullscreen_focus_loss), "minimize_fullscreen_focus_loss",CONFIG_VALUE_TYPE_BOOLEAN, true, NULL }, { offsetof(general_configuration, minimize_fullscreen_focus_loss), "minimize_fullscreen_focus_loss",CONFIG_VALUE_TYPE_BOOLEAN, true, NULL },
{ offsetof(general_configuration, day_night_cycle), "day_night_cycle", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL }, { offsetof(general_configuration, day_night_cycle), "day_night_cycle", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(general_configuration, upper_case_banners), "upper_case_banners", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
}; };
config_property_definition _interfaceDefinitions[] = { config_property_definition _interfaceDefinitions[] = {

View File

@@ -161,6 +161,7 @@ typedef struct {
uint8 load_save_sort; uint8 load_save_sort;
uint8 minimize_fullscreen_focus_loss; uint8 minimize_fullscreen_focus_loss;
uint8 day_night_cycle; uint8 day_night_cycle;
uint8 upper_case_banners;
} general_configuration; } general_configuration;
typedef struct { typedef struct {

View File

@@ -1051,7 +1051,10 @@ int scrolling_text_setup(rct_string_id string_id, uint16 scroll, uint16 scrollin
// Convert string id back into a string for processing // Convert string id back into a string for processing
uint8 scroll_string[MAX_PATH]; uint8 scroll_string[MAX_PATH];
format_string(scroll_string, string_id, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS); if(gConfigGeneral.upper_case_banners)
format_string_to_upper(scroll_string, string_id, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS);
else
format_string(scroll_string, string_id, (void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS);
// Setup character colour from ??? // Setup character colour from ???
uint8 character = RCT2_GLOBAL(0x13CE959, uint8); uint8 character = RCT2_GLOBAL(0x13CE959, uint8);

View File

@@ -1804,6 +1804,7 @@ enum {
STR_SHORTCUT_SCROLL_MAP_RIGHT = 5472, STR_SHORTCUT_SCROLL_MAP_RIGHT = 5472,
STR_CYCLE_DAY_NIGHT = 5473, STR_CYCLE_DAY_NIGHT = 5473,
STR_UPPER_CASE_BANNERS = 5474,
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
STR_COUNT = 32768 STR_COUNT = 32768

View File

@@ -86,6 +86,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
WIDX_THEMES_DROPDOWN, WIDX_THEMES_DROPDOWN,
WIDX_THEMES_BUTTON, WIDX_THEMES_BUTTON,
WIDX_DAY_NIGHT_CHECKBOX, WIDX_DAY_NIGHT_CHECKBOX,
WIDX_UPPER_CASE_BANNERS_CHECKBOX,
// Culture / Units // Culture / Units
WIDX_LANGUAGE = WIDX_PAGE_START, WIDX_LANGUAGE = WIDX_PAGE_START,
@@ -143,7 +144,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
}; };
#define WW 310 #define WW 310
#define WH 208 #define WH 238
#define MAIN_OPTIONS_WIDGETS \ #define MAIN_OPTIONS_WIDGETS \
{ WWT_FRAME, 0, 0, WW-1, 0, WH-1, STR_NONE, STR_NONE }, \ { WWT_FRAME, 0, 0, WW-1, 0, WH-1, STR_NONE, STR_NONE }, \
@@ -166,14 +167,15 @@ static rct_widget window_options_display_widgets[] = {
{ WWT_CHECKBOX, 1, 10, 290, 84, 95, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP }, // landscape smoothing { 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, 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, 114, 125, 5154, STR_NONE }, // hardware display
{ WWT_CHECKBOX, 1, 155, 290, 114, 125, 5454, STR_NONE }, // uncap fps { WWT_CHECKBOX, 1, 10, 290, 129, 140, 5454, STR_NONE }, // uncap fps
{ WWT_CHECKBOX, 1, 10, 290, 129, 140, 5440, STR_NONE }, // minimize fullscreen focus loss { WWT_CHECKBOX, 1, 10, 290, 144, 155, 5440, STR_NONE }, // minimize fullscreen focus loss
{ WWT_DROPDOWN, 1, 155, 299, 143, 154, STR_NONE, STR_NONE }, // construction marker { WWT_DROPDOWN, 1, 155, 299, 158, 169, STR_NONE, STR_NONE }, // construction marker
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 144, 153, 876, STR_NONE }, { WWT_DROPDOWN_BUTTON, 1, 288, 298, 159, 178, 876, STR_NONE },
{ WWT_DROPDOWN, 1, 155, 299, 158, 169, STR_NONE, STR_NONE }, // colour schemes { WWT_DROPDOWN, 1, 155, 299, 173, 184, STR_NONE, STR_NONE }, // colour schemes
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 159, 168, 876, STR_NONE }, { WWT_DROPDOWN_BUTTON, 1, 288, 298, 174, 183, 876, STR_NONE },
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 174, 185, 5153, STR_NONE }, // colour schemes button { WWT_DROPDOWN_BUTTON, 1, 26, 185, 189, 200, 5153, STR_NONE }, // colour schemes button
{ WWT_CHECKBOX, 1, 10, 290, 190, 201, STR_CYCLE_DAY_NIGHT,STR_NONE }, // cycle day-night { 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
{ WIDGETS_END }, { WIDGETS_END },
}; };
@@ -338,7 +340,8 @@ static uint32 window_options_page_enabled_widgets[] = {
(1 << WIDX_THEMES) | (1 << WIDX_THEMES) |
(1 << WIDX_THEMES_DROPDOWN) | (1 << WIDX_THEMES_DROPDOWN) |
(1 << WIDX_THEMES_BUTTON) | (1 << WIDX_THEMES_BUTTON) |
(1 << WIDX_DAY_NIGHT_CHECKBOX), (1 << WIDX_DAY_NIGHT_CHECKBOX) |
(1 << WIDX_UPPER_CASE_BANNERS_CHECKBOX),
MAIN_OPTIONS_ENABLED_WIDGETS | MAIN_OPTIONS_ENABLED_WIDGETS |
(1 << WIDX_LANGUAGE) | (1 << WIDX_LANGUAGE) |
@@ -485,6 +488,11 @@ static void window_options_mouseup(rct_window *w, int widgetIndex)
config_save_default(); config_save_default();
window_invalidate(w); window_invalidate(w);
break; break;
case WIDX_UPPER_CASE_BANNERS_CHECKBOX:
gConfigGeneral.upper_case_banners ^= 1;
config_save_default();
window_invalidate(w);
break;
} }
break; break;
@@ -1084,6 +1092,7 @@ static void window_options_invalidate(rct_window *w)
widget_set_checkbox_value(w, WIDX_UNCAP_FPS_CHECKBOX, gConfigGeneral.uncap_fps); widget_set_checkbox_value(w, WIDX_UNCAP_FPS_CHECKBOX, gConfigGeneral.uncap_fps);
widget_set_checkbox_value(w, WIDX_MINIMIZE_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss); widget_set_checkbox_value(w, WIDX_MINIMIZE_FOCUS_LOSS, gConfigGeneral.minimize_fullscreen_focus_loss);
widget_set_checkbox_value(w, WIDX_DAY_NIGHT_CHECKBOX, gConfigGeneral.day_night_cycle); widget_set_checkbox_value(w, WIDX_DAY_NIGHT_CHECKBOX, gConfigGeneral.day_night_cycle);
widget_set_checkbox_value(w, WIDX_UPPER_CASE_BANNERS_CHECKBOX, gConfigGeneral.upper_case_banners);
// construction marker: celsius/fahrenheit // construction marker: celsius/fahrenheit
window_options_display_widgets[WIDX_CONSTRUCTION_MARKER].image = STR_WHITE + RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_CONSTRUCTION_MARKER, uint8); window_options_display_widgets[WIDX_CONSTRUCTION_MARKER].image = STR_WHITE + RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_CONSTRUCTION_MARKER, uint8);
@@ -1103,6 +1112,7 @@ static void window_options_invalidate(rct_window *w)
window_options_display_widgets[WIDX_THEMES_DROPDOWN].type = WWT_DROPDOWN_BUTTON; 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_THEMES_BUTTON].type = WWT_DROPDOWN_BUTTON;
window_options_display_widgets[WIDX_DAY_NIGHT_CHECKBOX].type = WWT_CHECKBOX; window_options_display_widgets[WIDX_DAY_NIGHT_CHECKBOX].type = WWT_CHECKBOX;
window_options_display_widgets[WIDX_UPPER_CASE_BANNERS_CHECKBOX].type = WWT_CHECKBOX;
break; break;
case WINDOW_OPTIONS_PAGE_CULTURE: case WINDOW_OPTIONS_PAGE_CULTURE: