Add wallclock time settings

This commit is contained in:
Jonathan G Rennison
2024-02-15 19:33:01 +00:00
parent 58f8971f17
commit a48e15dce0
15 changed files with 294 additions and 27 deletions

View File

@@ -9,6 +9,8 @@
[pre-amble]
static void TownFoundingChanged(int32_t new_value);
static void ChangeTimekeepingUnits(int32_t new_value);
static void ChangeMinutesPerYear(int32_t new_value);
static void InvalidateCompanyWindow(int32_t new_value);
static void DayLengthChanged(int32_t new_value);
static bool CheckSharingRail(int32_t &new_value);
@@ -702,10 +704,37 @@ strhelp = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT
post_cb = [](auto) { InvalidateWindowClassesData(WC_COMPANY_INFRASTRUCTURE); }
cat = SC_BASIC
[SDT_VAR]
var = economy.timekeeping_units
type = SLE_UINT8
flags = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY | SF_SCENEDIT_TOO
def = TKU_CALENDAR
min = TKU_CALENDAR
max = TKU_WALLCLOCK
str = STR_CONFIG_SETTING_TIMEKEEPING_UNITS
strval = STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR
strhelp = STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT
post_cb = ChangeTimekeepingUnits
cat = SC_BASIC
[SDT_VAR]
var = economy.minutes_per_calendar_year
type = SLE_UINT16
flags = SF_GUI_0_IS_SPECIAL
def = CalTime::DEF_MINUTES_PER_YEAR
min = CalTime::FROZEN_MINUTES_PER_YEAR
max = CalTime::MAX_MINUTES_PER_YEAR
interval = 1
str = STR_CONFIG_SETTING_MINUTES_PER_YEAR
strhelp = STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT
strval = STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE
pre_cb = [](auto) { return _game_mode == GM_MENU || _settings_game.economy.timekeeping_units == 1; }
post_cb = ChangeMinutesPerYear
cat = SC_BASIC
[SDT_VAR]
var = economy.town_cargo_scale
type = SLE_UINT16
flags = SF_PATCH
def = 100
min = 1
max = 5000
@@ -720,7 +749,6 @@ guiproc = TownCargoScaleGUI
[SDT_VAR]
var = economy.industry_cargo_scale
type = SLE_UINT16
flags = SF_PATCH
def = 100
min = 5
max = 3000