Feature: Use real-time "wallclock" timekeeping units (#11341)
This commit is contained in:
@@ -65,6 +65,12 @@ enum StringControlCode {
|
||||
SCC_VELOCITY,
|
||||
SCC_HEIGHT,
|
||||
|
||||
SCC_UNITS_DAYS_OR_SECONDS,
|
||||
SCC_UNITS_MONTHS_OR_MINUTES,
|
||||
SCC_UNITS_YEARS_OR_PERIODS,
|
||||
SCC_UNITS_YEARS_OR_MINUTES,
|
||||
SCC_TIMEKEEPING_MODE_LIST,
|
||||
|
||||
SCC_DATE_TINY,
|
||||
SCC_DATE_SHORT,
|
||||
SCC_DATE_LONG,
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -30,6 +30,7 @@ struct CmdStruct {
|
||||
};
|
||||
|
||||
extern void EmitSingleChar(Buffer *buffer, char *buf, int value);
|
||||
extern void EmitTKM(Buffer* buffer, char* buf, int value);
|
||||
extern void EmitPlural(Buffer *buffer, char *buf, int value);
|
||||
extern void EmitGender(Buffer *buffer, char *buf, int value);
|
||||
|
||||
@@ -88,6 +89,13 @@ static const CmdStruct _cmd_structs[] = {
|
||||
{"VELOCITY", EmitSingleChar, SCC_VELOCITY, 1, 0, C_NONE},
|
||||
{"HEIGHT", EmitSingleChar, SCC_HEIGHT, 1, 0, C_NONE},
|
||||
|
||||
{"UNITS_DAYS_OR_SECONDS", EmitSingleChar, SCC_UNITS_DAYS_OR_SECONDS, 1, 0, C_NONE},
|
||||
{"UNITS_MONTHS_OR_MINUTES", EmitSingleChar, SCC_UNITS_MONTHS_OR_MINUTES, 1, 0, C_NONE},
|
||||
{"UNITS_YEARS_OR_PERIODS", EmitSingleChar, SCC_UNITS_YEARS_OR_PERIODS, 1, 0, C_NONE},
|
||||
{"UNITS_YEARS_OR_MINUTES", EmitSingleChar, SCC_UNITS_YEARS_OR_MINUTES, 1, 0, C_NONE},
|
||||
|
||||
{"TKM", EmitTKM, 0, 0, -1, C_DONTCOUNT}, // Timekeeping mode string selection, e.g. "{TKM month minute}"
|
||||
|
||||
{"P", EmitPlural, 0, 0, -1, C_DONTCOUNT}, // plural specifier
|
||||
{"G", EmitGender, 0, 0, -1, C_DONTCOUNT}, // gender specifier
|
||||
|
||||
|
Reference in New Issue
Block a user