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_5472 :Scroll map right
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, 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, upper_case_banners), "upper_case_banners", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
};
config_property_definition _interfaceDefinitions[] = {

View File

@ -161,6 +161,7 @@ typedef struct {
uint8 load_save_sort;
uint8 minimize_fullscreen_focus_loss;
uint8 day_night_cycle;
uint8 upper_case_banners;
} general_configuration;
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
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 ???
uint8 character = RCT2_GLOBAL(0x13CE959, uint8);

View File

@ -1804,6 +1804,7 @@ enum {
STR_SHORTCUT_SCROLL_MAP_RIGHT = 5472,
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
STR_COUNT = 32768

View File

@ -86,6 +86,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
WIDX_THEMES_DROPDOWN,
WIDX_THEMES_BUTTON,
WIDX_DAY_NIGHT_CHECKBOX,
WIDX_UPPER_CASE_BANNERS_CHECKBOX,
// Culture / Units
WIDX_LANGUAGE = WIDX_PAGE_START,
@ -143,7 +144,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
};
#define WW 310
#define WH 208
#define WH 238
#define MAIN_OPTIONS_WIDGETS \
{ 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, 99, 110, STR_GRIDLINES, STR_GRIDLINES_TIP }, // gridlines
{ 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, 5440, STR_NONE }, // minimize fullscreen focus loss
{ WWT_DROPDOWN, 1, 155, 299, 143, 154, STR_NONE, STR_NONE }, // construction marker
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 144, 153, 876, STR_NONE },
{ WWT_DROPDOWN, 1, 155, 299, 158, 169, STR_NONE, STR_NONE }, // colour schemes
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 159, 168, 876, STR_NONE },
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 174, 185, 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, 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
{ WIDGETS_END },
};
@ -338,7 +340,8 @@ static uint32 window_options_page_enabled_widgets[] = {
(1 << WIDX_THEMES) |
(1 << WIDX_THEMES_DROPDOWN) |
(1 << WIDX_THEMES_BUTTON) |
(1 << WIDX_DAY_NIGHT_CHECKBOX),
(1 << WIDX_DAY_NIGHT_CHECKBOX) |
(1 << WIDX_UPPER_CASE_BANNERS_CHECKBOX),
MAIN_OPTIONS_ENABLED_WIDGETS |
(1 << WIDX_LANGUAGE) |
@ -485,6 +488,11 @@ static void window_options_mouseup(rct_window *w, int widgetIndex)
config_save_default();
window_invalidate(w);
break;
case WIDX_UPPER_CASE_BANNERS_CHECKBOX:
gConfigGeneral.upper_case_banners ^= 1;
config_save_default();
window_invalidate(w);
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_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_UPPER_CASE_BANNERS_CHECKBOX, gConfigGeneral.upper_case_banners);
// construction marker: celsius/fahrenheit
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_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;
case WINDOW_OPTIONS_PAGE_CULTURE: