Final changes

This commit is contained in:
Robert Jordan 2015-05-30 12:43:24 -04:00
parent 53a241d197
commit eb19ae7995
7 changed files with 96 additions and 62 deletions

View File

@ -3486,7 +3486,7 @@ STR_5149 :{SMALLFONT}{BLACK}Open the cheats window
STR_5150 :Enable debugging tools
STR_5151 :,
STR_5152 :.
STR_5153 :Custom
STR_5153 :Colour schemes...
STR_5154 :Hardware display
STR_5155 :Allow testing of unfinished tracks
STR_5156 :{SMALLFONT}{BLACK}Allows testing of most ride types even when the track is unfinished, does not apply to block sectioned modes
@ -3571,7 +3571,7 @@ STR_5234 :{SMALLFONT}{BLACK}Prompts
STR_5235 :{SMALLFONT}{BLACK}Settings
STR_5236 :Window:
STR_5237 :Palette:
STR_5238 :Presets:
STR_5238 :Colour Schemes:
STR_5239 :Duplicate
STR_5240 :Enter a name for the colour scheme
STR_5241 :Can't change this preset

View File

@ -174,7 +174,6 @@ config_property_definition _generalDefinitions[] = {
{ offsetof(general_configuration, test_unfinished_tracks), "test_unfinished_tracks", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(general_configuration, no_test_crashes), "no_test_crashes", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(general_configuration, date_format), "date_format", CONFIG_VALUE_TYPE_UINT8, DATE_FORMAT_DMY, _dateFormatEnum },
{ offsetof(general_configuration, current_colour_scheme_preset), "colour_scheme_preset", CONFIG_VALUE_TYPE_STRING, { .value_string = "*RCT2" }, NULL },
};
config_property_definition _interfaceDefinitions[] = {
@ -182,8 +181,8 @@ config_property_definition _interfaceDefinitions[] = {
{ offsetof(interface_configuration, toolbar_show_research), "toolbar_show_research", CONFIG_VALUE_TYPE_BOOLEAN, true, NULL },
{ offsetof(interface_configuration, toolbar_show_cheats), "toolbar_show_cheats", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(interface_configuration, allow_subtype_switching), "allow_subtype_switching", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(interface_configuration, rct1_colour_scheme), "rct1_colour_scheme", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(interface_configuration, console_small_font), "console_small_font", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
{ offsetof(interface_configuration, current_colour_scheme_preset), "colour_scheme_preset", CONFIG_VALUE_TYPE_STRING, { .value_string = "*RCT2" }, NULL },
};
config_property_definition _soundDefinitions[] = {
@ -1061,15 +1060,15 @@ void colour_schemes_load_presets()
}
platform_enumerate_files_end(fileEnumHandle);
if (strcmp(gConfigGeneral.current_colour_scheme_preset, "*RCT2") == 0) {
if (strcmp(gConfigInterface.current_colour_scheme_preset, "*RCT2") == 0) {
colour_scheme_change_preset(0);
}
else if (strcmp(gConfigGeneral.current_colour_scheme_preset, "*RCT1") == 0) {
else if (strcmp(gConfigInterface.current_colour_scheme_preset, "*RCT1") == 0) {
colour_scheme_change_preset(1);
}
else {
for (i = 2; i < gConfigColourSchemes.num_presets; i++) {
if (strcmp(gConfigGeneral.current_colour_scheme_preset, gConfigColourSchemes.presets[i].name) == 0) {
if (strcmp(gConfigInterface.current_colour_scheme_preset, gConfigColourSchemes.presets[i].name) == 0) {
colour_scheme_change_preset(i);
break;
}
@ -1206,7 +1205,6 @@ static void colour_schemes_read_properties(int preset, window_colours **colour_s
utf8string sectionName;
int sectionNameSize;
if (config_get_section(ch, &sectionName, &sectionNameSize)) {
printf("%s\n", sectionName);
sectionName[strlen(sectionName) - 1] = '\0';
for (int i = 0; i < (int)gNumColourSchemeWindows; i++) {
if (strcmp(sectionName, gColourSchemes[i].section_name) == 0) {

View File

@ -139,7 +139,6 @@ typedef struct {
uint8 test_unfinished_tracks;
uint8 no_test_crashes;
uint8 date_format;
utf8string current_colour_scheme_preset;
} general_configuration;
typedef struct {
@ -147,8 +146,8 @@ typedef struct {
uint8 toolbar_show_research;
uint8 toolbar_show_cheats;
uint8 allow_subtype_switching;
uint8 rct1_colour_scheme;
uint8 console_small_font;
utf8string current_colour_scheme_preset;
} interface_configuration;
typedef struct {

View File

@ -160,13 +160,13 @@ void colour_scheme_change_preset(int preset)
if (preset >= 0 && preset < gConfigColourSchemes.num_presets) {
switch (preset) {
case 0:
gConfigGeneral.current_colour_scheme_preset = "*RCT2";
gConfigInterface.current_colour_scheme_preset = "*RCT2";
break;
case 1:
gConfigGeneral.current_colour_scheme_preset = "*RCT1";
gConfigInterface.current_colour_scheme_preset = "*RCT1";
break;
default:
gConfigGeneral.current_colour_scheme_preset = gConfigColourSchemes.presets[preset].name;
gConfigInterface.current_colour_scheme_preset = gConfigColourSchemes.presets[preset].name;
break;
}
gCurrentColourSchemePreset = preset;
@ -196,8 +196,7 @@ void colour_scheme_create_preset(const char *name)
void colour_scheme_delete_preset(int preset)
{
if (preset >= 2)
{
if (preset >= 2) {
utf8 path[MAX_PATH];
platform_get_user_directory(path, "colour schemes");
strcat(path, gConfigColourSchemes.presets[preset].name);
@ -214,14 +213,20 @@ void colour_scheme_delete_preset(int preset)
void colour_scheme_rename_preset(int preset, const char *newName)
{
utf8 src[MAX_PATH], dest[MAX_PATH];
platform_get_user_directory(src, "colour schemes");
platform_get_user_directory(dest, "colour schemes");
strcat(src, gConfigColourSchemes.presets[preset].name);
strcat(dest, newName);
strcat(src, ".ini");
strcat(dest, ".ini");
platform_file_move(src, dest);
if (preset >= 2) {
utf8 src[MAX_PATH], dest[MAX_PATH];
platform_get_user_directory(src, "colour schemes");
platform_get_user_directory(dest, "colour schemes");
strcat(src, gConfigColourSchemes.presets[preset].name);
strcat(dest, newName);
strcat(src, ".ini");
strcat(dest, ".ini");
platform_file_move(src, dest);
strcpy(gConfigColourSchemes.presets[gCurrentColourSchemePreset].name, newName);
strcpy(gConfigColourSchemes.presets[gCurrentColourSchemePreset].name, newName);
if (preset == gCurrentColourSchemePreset) {
gConfigInterface.current_colour_scheme_preset = gConfigColourSchemes.presets[gCurrentColourSchemePreset].name;
}
}
}

View File

@ -147,7 +147,7 @@ static int window_colour_schemes_tab_animation_loops[] = {
32,
8,
14,
28
32
};
static int window_colour_schemes_tab_animation_divisor[] = {
4,
@ -167,7 +167,7 @@ static int window_colour_schemes_tab_sprites[] = {
5205,
5201,
SPR_TAB_STAFF_OPTIONS_0,
SPR_TAB_STATS_0
5221
};
static rct_windowclass window_colour_schemes_tab_1_classes[] = {
@ -383,6 +383,25 @@ static void window_colour_schemes_mouseup()
case WIDX_COLOUR_SCHEMES_CLOSE:
window_close(w);
break;
case WIDX_COLOUR_SCHEMES_DUPLICATE_BUTTON:
window_text_input_open(w, widgetIndex, 5239, 5240, 1170, (uint32)&gConfigColourSchemes.presets[gCurrentColourSchemePreset].name, 64);
break;
case WIDX_COLOUR_SCHEMES_DELETE_BUTTON:
if (gCurrentColourSchemePreset >= 2) {
colour_scheme_delete_preset(gCurrentColourSchemePreset);
}
else {
window_error_open(5241, STR_NONE);
}
break;
case WIDX_COLOUR_SCHEMES_RENAME_BUTTON:
if (gCurrentColourSchemePreset >= 2) {
window_text_input_open(w, widgetIndex, 3348, 5240, 1170, (uint32)&gConfigColourSchemes.presets[gCurrentColourSchemePreset].name, 64);
}
else {
window_error_open(5241, STR_NONE);
}
break;
}
}
@ -473,25 +492,6 @@ static void window_colour_schemes_mousedown(int widgetIndex, rct_window* w, rct_
gDropdownItemsChecked = 1 << gCurrentColourSchemePreset;
break;
case WIDX_COLOUR_SCHEMES_DUPLICATE_BUTTON:
window_text_input_open(w, widgetIndex, 5239, 5240, 1170, (rct_string_id)&gConfigColourSchemes.presets[gCurrentColourSchemePreset].name, 64);
break;
case WIDX_COLOUR_SCHEMES_DELETE_BUTTON:
if (gCurrentColourSchemePreset >= 2) {
colour_scheme_delete_preset(gCurrentColourSchemePreset);
}
else {
window_error_open(5241, STR_NONE);
}
break;
case WIDX_COLOUR_SCHEMES_RENAME_BUTTON:
if (gCurrentColourSchemePreset >= 2) {
window_text_input_open(w, widgetIndex, 3348, 5240, 1170, (rct_string_id)&gConfigColourSchemes.presets[gCurrentColourSchemePreset].name, 64);
}
else {
window_error_open(5241, STR_NONE);
}
break;
}
}

View File

@ -73,6 +73,8 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
WIDX_CONSTRUCTION_MARKER_DROPDOWN,
WIDX_HARDWARE_DISPLAY_CHECKBOX,
WIDX_COLOUR_SCHEMES,
WIDX_COLOUR_SCHEMES_DROPDOWN,
WIDX_COLOUR_SCHEMES_BUTTON,
WIDX_LANGUAGE,
WIDX_LANGUAGE_DROPDOWN,
@ -99,7 +101,6 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
WIDX_TOOLBAR_SHOW_FINANCES,
WIDX_TOOLBAR_SHOW_RESEARCH,
WIDX_TOOLBAR_SHOW_CHEATS,
WIDX_RCT1_COLOUR_SCHEME,
WIDX_REAL_NAME_CHECKBOX,
WIDX_SAVE_PLUGIN_DATA_CHECKBOX,
@ -143,7 +144,9 @@ static rct_widget window_options_widgets[] = {
{ WWT_DROPDOWN, 1, 155, 299, 113, 124, STR_NONE, STR_NONE }, // construction marker
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 114, 123, 876, STR_NONE },
{ WWT_CHECKBOX, 1, 10, 290, 129, 140, 5154, STR_NONE },
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 144, 155, 5218, STR_NONE },
{ WWT_DROPDOWN, 1, 155, 299, 143, 154, STR_NONE, STR_NONE }, // colour schemes
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 144, 153, 876, STR_NONE },
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 159, 170, 5153, STR_NONE }, // colour schemes button
// Culture / units tab
{ WWT_DROPDOWN, 1, 155, 299, 53, 64, STR_NONE, STR_NONE }, // language
@ -173,7 +176,6 @@ static rct_widget window_options_widgets[] = {
{ WWT_CHECKBOX, 2, 10, 299, 82, 93, 5120, STR_NONE },
{ WWT_CHECKBOX, 2, 10, 299, 97, 108, 5121, STR_NONE },
{ WWT_CHECKBOX, 2, 10, 299, 112, 123, 5147, STR_NONE },
{ WWT_CHECKBOX, 2, 10, 299, 127, 138, 5153, STR_NONE }, // rct1 colour scheme
// Misc
{ WWT_CHECKBOX, 2, 10, 299, 53, 64, STR_REAL_NAME, STR_REAL_NAME_TIP },
@ -185,7 +187,7 @@ static rct_widget window_options_widgets[] = {
{ WWT_CHECKBOX, 2, 10, 299, 128, 139, 5155, 5156 }, // test unfinished tracks
//Twitch tab
{ WWT_DROPDOWN_BUTTON, 2, 10, 299, 53, 64, STR_TWITCH_NAME, STR_NONE }, // Twitch channel name
{ WWT_DROPDOWN_BUTTON, 2, 10, 299, 53, 64, STR_TWITCH_NAME, STR_NONE }, // Twitch channel name
{ WWT_CHECKBOX, 2, 10, 299, 68, 79, STR_TWITCH_PEEP_FOLLOWERS, STR_TWITCH_PEEP_FOLLOWERS_TIP }, // Twitch name peeps by follows
{ WWT_CHECKBOX, 2, 10, 299, 83, 94, STR_TWITCH_FOLLOWERS_TRACK, STR_TWITCH_FOLLOWERS_TRACK_TIP}, // Twitch information on for follows
{ WWT_CHECKBOX, 2, 10, 299, 98, 109, STR_TWITCH_PEEP_CHAT, STR_TWITCH_PEEP_CHAT_TIP }, // Twitch name peeps by chat
@ -300,13 +302,14 @@ void window_options_open()
(1ULL << WIDX_GRIDLINES_CHECKBOX) |
(1ULL << WIDX_HARDWARE_DISPLAY_CHECKBOX) |
(1ULL << WIDX_COLOUR_SCHEMES) |
(1ULL << WIDX_COLOUR_SCHEMES_DROPDOWN) |
(1ULL << WIDX_COLOUR_SCHEMES_BUTTON) |
(1ULL << WIDX_SAVE_PLUGIN_DATA_CHECKBOX) |
(1ULL << WIDX_AUTOSAVE) |
(1ULL << WIDX_AUTOSAVE_DROPDOWN) |
(1ULL << WIDX_ALLOW_SUBTYPE_SWITCHING) |
(1ULL << WIDX_DEBUGGING_TOOLS) |
(1ULL << WIDX_TEST_UNFINISHED_TRACKS) |
(1ULL << WIDX_RCT1_COLOUR_SCHEME) |
(1ULL << WIDX_DATE_FORMAT) |
(1ULL << WIDX_DATE_FORMAT_DROPDOWN) |
(1ULL << WIDX_CHANNEL_BUTTON) |
@ -372,11 +375,6 @@ static void window_options_mouseup()
window_invalidate(w);
window_invalidate_by_class(WC_TOP_TOOLBAR);
break;
case WIDX_RCT1_COLOUR_SCHEME:
gConfigInterface.rct1_colour_scheme ^= 1;
config_save_default();
window_invalidate_all();
break;
case WIDX_ALLOW_SUBTYPE_SWITCHING:
gConfigInterface.allow_subtype_switching ^= 1;
config_save_default();
@ -419,7 +417,7 @@ static void window_options_mouseup()
config_save_default();
window_invalidate(w);
break;
case WIDX_COLOUR_SCHEMES:
case WIDX_COLOUR_SCHEMES_BUTTON:
window_colour_schemes_open();
window_invalidate(w);
break;
@ -599,6 +597,18 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
gDropdownItemsChecked = 1 << gConfigGeneral.construction_marker_colour;
break;
case WIDX_COLOUR_SCHEMES_DROPDOWN:
num_items = gConfigColourSchemes.num_presets;
for (i = 0; i < num_items; i++) {
gDropdownItemsFormat[i] = 2777;
gDropdownItemsArgs[i] = (uint64)&gConfigColourSchemes.presets[i].name;
}
window_options_show_dropdown(w, widget, num_items);
gDropdownItemsChecked = 1 << gCurrentColourSchemePreset;
break;
case WIDX_LANGUAGE_DROPDOWN:
for (i = 1; i < LANGUAGE_COUNT; i++) {
gDropdownItemsFormat[i - 1] = 2777;
@ -758,6 +768,12 @@ static void window_options_dropdown()
gfx_invalidate_screen();
}
break;
case WIDX_COLOUR_SCHEMES_DROPDOWN:
if (dropdownIndex != -1) {
colour_scheme_change_preset(dropdownIndex);
}
config_save_default();
break;
}
}
@ -826,7 +842,9 @@ static void window_options_invalidate()
window_options_widgets[WIDX_CONSTRUCTION_MARKER].type = WWT_DROPDOWN;
window_options_widgets[WIDX_CONSTRUCTION_MARKER_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
window_options_widgets[WIDX_HARDWARE_DISPLAY_CHECKBOX].type = WWT_CHECKBOX;
window_options_widgets[WIDX_COLOUR_SCHEMES].type = WWT_DROPDOWN_BUTTON;
window_options_widgets[WIDX_COLOUR_SCHEMES].type = WWT_DROPDOWN;
window_options_widgets[WIDX_COLOUR_SCHEMES_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
window_options_widgets[WIDX_COLOUR_SCHEMES_BUTTON].type = WWT_DROPDOWN_BUTTON;
break;
case WINDOW_OPTIONS_PAGE_CULTURE:
// currency: pounds, dollars, etc. (10 total)
@ -886,14 +904,12 @@ static void window_options_invalidate()
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_RCT1_COLOUR_SCHEME, gConfigInterface.rct1_colour_scheme);
window_options_widgets[WIDX_SCREEN_EDGE_SCROLLING].type = WWT_CHECKBOX;
window_options_widgets[WIDX_HOTKEY_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
window_options_widgets[WIDX_TOOLBAR_SHOW_FINANCES].type = WWT_CHECKBOX;
window_options_widgets[WIDX_TOOLBAR_SHOW_RESEARCH].type = WWT_CHECKBOX;
window_options_widgets[WIDX_TOOLBAR_SHOW_CHEATS].type = WWT_CHECKBOX;
window_options_widgets[WIDX_RCT1_COLOUR_SCHEME].type = WWT_CHECKBOX;
break;
case WINDOW_OPTIONS_PAGE_MISC:
widget_set_checkbox_value(w, WIDX_ALLOW_SUBTYPE_SWITCHING, gConfigInterface.allow_subtype_switching);
@ -979,6 +995,17 @@ static void window_options_paint()
gfx_draw_string(dpi, buffer, 0, w->x + 10, w->y + window_options_widgets[WIDX_FULLSCREEN].top + 1);
gfx_draw_string_left(dpi, STR_CONSTRUCTION_MARKER, w, 0, w->x + 10, w->y + window_options_widgets[WIDX_CONSTRUCTION_MARKER].top + 1);
RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS + 0, uint32) = (uint32)&gConfigColourSchemes.presets[gCurrentColourSchemePreset].name;
gfx_draw_string_left(dpi, 5238, NULL, w->colours[1], w->x + 10, w->y + window_options_widgets[WIDX_COLOUR_SCHEMES].top + 1);
gfx_draw_string_left(
dpi,
1170,
(void*)RCT2_ADDRESS_COMMON_FORMAT_ARGS,
w->colours[1],
w->x + window_options_widgets[WIDX_COLOUR_SCHEMES].left + 1,
w->y + window_options_widgets[WIDX_COLOUR_SCHEMES].top
);
break;
case WINDOW_OPTIONS_PAGE_CULTURE:
gfx_draw_string_left(dpi, 2776, w, 12, w->x + 10, w->y + window_options_widgets[WIDX_LANGUAGE].top + 1);

View File

@ -301,7 +301,9 @@ static void window_scenarioselect_paint()
window_draw_widgets(w, dpi);
// Use small text for the tabs when the RCT1 colour scheme is selected.
format = (gConfigInterface.rct1_colour_scheme) ? 5138 : 1193;
//format = (gConfigInterface.rct1_colour_scheme) ? 5138 : 1193;
// Will reimplement this later
format = 1193;
// Text for each tab
for (i = 0; i < 5; i++) {
@ -367,8 +369,11 @@ static void window_scenarioselect_scrollpaint()
gfx_clear(dpi, colour);
// Use white text for the scenario names when the RCT1 colour scheme is selected
highlighted_format = gConfigInterface.rct1_colour_scheme ? 5139 : 1193;
unhighlighted_format = gConfigInterface.rct1_colour_scheme ? 5139 : 1191;
//highlighted_format = gConfigInterface.rct1_colour_scheme ? 5139 : 1193;
//unhighlighted_format = gConfigInterface.rct1_colour_scheme ? 5139 : 1191;
// Will reimplement this later
highlighted_format = 1193;
unhighlighted_format = 1191;
y = 0;
for (i = 0; i < gScenarioListCount; i++) {