Allow setting autosave interval to a custom number of days

This commit is contained in:
Jonathan G Rennison
2021-12-14 18:08:06 +00:00
parent 670dbc739d
commit 583663bca1
7 changed files with 87 additions and 6 deletions

View File

@@ -27,7 +27,7 @@ static_assert(_locale_currencies.size() == CURRENCY_END);
static constexpr std::initializer_list<const char*> _locale_units{"imperial", "metric", "si", "gameunits"};
static constexpr std::initializer_list<const char*> _town_names{"english", "french", "german", "american", "latin", "silly", "swedish", "dutch", "finnish", "polish", "slovak", "norwegian", "hungarian", "austrian", "romanian", "czech", "swiss", "danish", "turkish", "italian", "catalan"};
static constexpr std::initializer_list<const char*> _climates{"temperate", "arctic", "tropic", "toyland"};
static constexpr std::initializer_list<const char*> _autosave_interval{"off", "monthly", "quarterly", "half year", "yearly"};
static constexpr std::initializer_list<const char*> _autosave_interval{"off", "monthly", "quarterly", "half year", "yearly", "custom_days"};
static constexpr std::initializer_list<const char*> _roadsides{"left", "right"};
static constexpr std::initializer_list<const char*> _savegame_date{"long", "short", "iso"};
static constexpr std::initializer_list<const char*> _savegame_overwrite_confirm{"no", "different", "not same", "yes"};

View File

@@ -62,6 +62,7 @@ static void VelocityUnitsChanged(int32 new_value);
static void ChangeTrackTypeSortMode(int32 new_value);
static void PublicRoadsSettingChange(int32 new_value);
static void TrainSpeedAdaptationChanged(int32 new_value);
static void AutosaveModeChanged(int32 new_value);
static bool CheckSharingRail(int32 &new_value);
static void SharingRailChanged(int32 new_value);
static bool CheckSharingRoad(int32 &new_value);
@@ -4084,11 +4085,25 @@ var = gui.autosave
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
def = 1
max = 4
max = 5
full = _autosave_interval
str = STR_CONFIG_SETTING_AUTOSAVE
strhelp = STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT
strval = STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF
post_cb = AutosaveModeChanged
cat = SC_BASIC
[SDTC_VAR]
var = gui.autosave_custom_days
type = SLE_UINT16
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = 14
min = 1
max = 4000
interval = 7
str = STR_CONFIG_SETTING_AUTOSAVE_CUSTOM_DAYS
strhelp = STR_CONFIG_SETTING_AUTOSAVE_CUSTOM_DAYS_HELPTEXT
strval = STR_TIMETABLE_DAYS
cat = SC_BASIC
[SDTC_BOOL]