Feature: Use real-time "wallclock" timekeeping units (#11341)

This commit is contained in:
Tyler Trahan
2024-01-23 11:36:09 -05:00
committed by GitHub
parent bbdbf9a589
commit fd9e72a7e7
30 changed files with 546 additions and 140 deletions

View File

@@ -84,7 +84,7 @@ var = vehicle.servint_trains
type = SLE_UINT16
flags = SF_PER_COMPANY | SF_GUI_0_IS_SPECIAL
def = DEF_SERVINT_DAYS_TRAINS
min = MIN_SERVINT_PERCENT
min = MIN_SERVINT_MINUTES
max = MAX_SERVINT_DAYS
interval = 1
str = STR_CONFIG_SETTING_SERVINT_TRAINS
@@ -98,7 +98,7 @@ var = vehicle.servint_roadveh
type = SLE_UINT16
flags = SF_PER_COMPANY | SF_GUI_0_IS_SPECIAL
def = DEF_SERVINT_DAYS_ROADVEH
min = MIN_SERVINT_PERCENT
min = MIN_SERVINT_MINUTES
max = MAX_SERVINT_DAYS
interval = 1
str = STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES
@@ -112,7 +112,7 @@ var = vehicle.servint_ships
type = SLE_UINT16
flags = SF_PER_COMPANY | SF_GUI_0_IS_SPECIAL
def = DEF_SERVINT_DAYS_SHIPS
min = MIN_SERVINT_PERCENT
min = MIN_SERVINT_MINUTES
max = MAX_SERVINT_DAYS
interval = 1
str = STR_CONFIG_SETTING_SERVINT_SHIPS
@@ -126,7 +126,7 @@ var = vehicle.servint_aircraft
type = SLE_UINT16
flags = SF_PER_COMPANY | SF_GUI_0_IS_SPECIAL
def = DEF_SERVINT_DAYS_AIRCRAFT
min = MIN_SERVINT_PERCENT
min = MIN_SERVINT_MINUTES
max = MAX_SERVINT_DAYS
interval = 1
str = STR_CONFIG_SETTING_SERVINT_AIRCRAFT

View File

@@ -9,6 +9,7 @@
[pre-amble]
static void TownFoundingChanged(int32_t new_value);
static void ChangeTimekeepingUnits(int32_t new_value);
static const SettingVariant _economy_settings_table[] = {
[post-amble]
@@ -280,3 +281,16 @@ str = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE
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

View File

@@ -7,6 +7,7 @@
; GUI settings as stored in the main configuration file ("openttd.cfg").
[pre-amble]
static bool CanChangeTimetableMode(int32_t &new_value);
static void v_PositionMainToolbar(int32_t new_value);
static void v_PositionStatusbar(int32_t new_value);
static void RedrawSmallmap(int32_t new_value);
@@ -430,6 +431,7 @@ max = 2
str = STR_CONFIG_SETTING_TIMETABLE_MODE
strhelp = STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT
strval = STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS
pre_cb = CanChangeTimetableMode
post_cb = [](auto) { InvalidateWindowClassesData(WC_VEHICLE_TIMETABLE, VIWD_MODIFY_ORDERS); }
cat = SC_ADVANCED