From 341b658ed08a0d42ba62f7fb906de51e70ae8f80 Mon Sep 17 00:00:00 2001 From: IntelOrca Date: Fri, 16 Oct 2015 22:45:17 +0100 Subject: [PATCH] add gui option for stay_connected --- data/language/english_uk.txt | 1 + src/localisation/string_ids.h | 1 + src/windows/options.c | 11 ++++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/data/language/english_uk.txt b/data/language/english_uk.txt index fa72826150..e306a49921 100644 --- a/data/language/english_uk.txt +++ b/data/language/english_uk.txt @@ -3895,6 +3895,7 @@ STR_5553 :Pause game when Steam overlay is open STR_5554 :{SMALLFONT}{BLACK}Enable mountain tool STR_5555 :Show vehicles from other track types STR_5556 :Kick Player +STR_5557 :Stay connected after desynchronisation (Multiplayer) ##################### # Rides/attractions # diff --git a/src/localisation/string_ids.h b/src/localisation/string_ids.h index ff39a83959..14d82f3767 100644 --- a/src/localisation/string_ids.h +++ b/src/localisation/string_ids.h @@ -2141,6 +2141,7 @@ enum { STR_CHEAT_SHOW_VEHICLES_FROM_OTHER_TRACK_TYPES = 5555, STR_KICK_PLAYER = 5556, + STR_STAY_CONNECTED_AFTER_DESYNC = 5557, // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working STR_COUNT = 32768 diff --git a/src/windows/options.c b/src/windows/options.c index 5567922add..68d69f3d69 100644 --- a/src/windows/options.c +++ b/src/windows/options.c @@ -142,6 +142,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX { WIDX_TITLE_SEQUENCE_DROPDOWN, WIDX_TITLE_SEQUENCE_BUTTON, WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, + WIDX_STAY_CONNECTED_AFTER_DESYNC, // Twitch WIDX_CHANNEL_BUTTON = WIDX_PAGE_START, @@ -256,6 +257,7 @@ static rct_widget window_options_misc_widgets[] = { { WWT_DROPDOWN_BUTTON, 1, 288, 298, 174, 183, STR_DROPDOWN_GLYPH, STR_NONE }, { WWT_DROPDOWN_BUTTON, 1, 26, 185, 189, 200, STR_EDIT_TITLE_SEQUENCES_BUTTON, STR_NONE }, // Title sequences button { WWT_CHECKBOX, 2, 10, 299, 204, 215, STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, STR_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM_TIP }, // Allow loading with incorrect checksum + { WWT_CHECKBOX, 2, 10, 299, 219, 230, STR_STAY_CONNECTED_AFTER_DESYNC, STR_NONE }, // Do not disconnect after the client desynchronises with the server { WIDGETS_END }, }; @@ -411,7 +413,8 @@ static uint32 window_options_page_enabled_widgets[] = { (1 << WIDX_TITLE_SEQUENCE) | (1 << WIDX_TITLE_SEQUENCE_DROPDOWN) | (1 << WIDX_TITLE_SEQUENCE_BUTTON) | - (1 << WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM), + (1 << WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM) | + (1 << WIDX_STAY_CONNECTED_AFTER_DESYNC), MAIN_OPTIONS_ENABLED_WIDGETS | (1 << WIDX_CHANNEL_BUTTON) | @@ -643,6 +646,10 @@ static void window_options_mouseup(rct_window *w, int widgetIndex) config_save_default(); window_invalidate(w); break; + case WIDX_STAY_CONNECTED_AFTER_DESYNC: + gConfigNetwork.stay_connected = !gConfigNetwork.stay_connected; + config_save_default(); + window_invalidate(w); } break; @@ -1257,6 +1264,7 @@ static void window_options_invalidate(rct_window *w) widget_set_checkbox_value(w, WIDX_HANDYMEN_MOW_DEFAULT, gConfigGeneral.handymen_mow_default); widget_set_checkbox_value(w, WIDX_DEBUGGING_TOOLS, gConfigGeneral.debugging_tools); widget_set_checkbox_value(w, WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM, gConfigGeneral.allow_loading_with_incorrect_checksum); + widget_set_checkbox_value(w, WIDX_STAY_CONNECTED_AFTER_DESYNC, gConfigNetwork.stay_connected); window_options_misc_widgets[WIDX_REAL_NAME_CHECKBOX].type = WWT_CHECKBOX; window_options_misc_widgets[WIDX_SAVE_PLUGIN_DATA_CHECKBOX].type = WWT_CHECKBOX; @@ -1270,6 +1278,7 @@ static void window_options_invalidate(rct_window *w) window_options_misc_widgets[WIDX_TITLE_SEQUENCE_DROPDOWN].type = WWT_DROPDOWN_BUTTON; window_options_misc_widgets[WIDX_TITLE_SEQUENCE_BUTTON].type = WWT_DROPDOWN_BUTTON; window_options_misc_widgets[WIDX_ALLOW_LOADING_WITH_INCORRECT_CHECKSUM].type = WWT_CHECKBOX; + window_options_misc_widgets[WIDX_STAY_CONNECTED_AFTER_DESYNC].type = WWT_CHECKBOX; break; case WINDOW_OPTIONS_PAGE_TWITCH: