Store time display settings both in savegame and client, add setting

This commit is contained in:
Jonathan G Rennison
2020-06-23 21:05:21 +01:00
parent 22b13ffc26
commit f5e9805b10
17 changed files with 180 additions and 72 deletions

View File

@@ -34,6 +34,8 @@ static bool CheckFreeformEdges(int32 p1);
static bool ChangeDynamicEngines(int32 p1);
static bool StationCatchmentChanged(int32 p1);
static bool InvalidateVehTimetableWindow(int32 p1);
static bool UpdateTimeSettings(int32 p1);
static bool ChangeTimeOverrideMode(int32 p1);
static bool InvalidateCompanyLiveryWindow(int32 p1);
static bool InvalidateNewGRFChangeWindows(int32 p1);
static bool InvalidateIndustryViewWindow(int32 p1);
@@ -4200,20 +4202,21 @@ strhelp = STR_CONFIG_SETTING_TIMETABLE_LEFTOVER_TICKS_HELPTEXT
proc = InvalidateVehTimetableWindow
cat = SC_EXPERT
[SDTC_BOOL]
var = gui.override_time_settings
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = false
str = STR_CONFIG_SETTING_OVERRIDE_TIME_SETTINGS
strhelp = STR_CONFIG_SETTING_OVERRIDE_TIME_SETTINGS_HELPTEXT
proc = ChangeTimeOverrideMode
[SDTC_BOOL]
var = gui.time_in_minutes
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = false
str = STR_CONFIG_SETTING_TIME_IN_MINUTES
strhelp = STR_CONFIG_SETTING_TIME_IN_MINUTES_HELPTEXT
proc = InvalidateVehTimetableWindow
[SDTC_BOOL]
var = gui.timetable_start_text_entry
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = false
str = STR_CONFIG_SETTING_TIMETABLE_START_TEXT_ENTRY
strhelp = STR_CONFIG_SETTING_TIMETABLE_START_TEXT_ENTRY_HELPTEXT
proc = UpdateTimeSettings
[SDTC_VAR]
var = gui.ticks_per_minute
@@ -4223,9 +4226,60 @@ strval = STR_JUST_INT
def = 74
min = 1
max = 8192
interval = 10
str = STR_CONFIG_SETTING_TICKS_PER_MINUTE
strhelp = STR_CONFIG_SETTING_TICKS_PER_MINUTE_HELPTEXT
proc = RedrawScreen
proc = UpdateTimeSettings
[SDTC_VAR]
var = gui.clock_offset
type = SLE_UINT16
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
strval = STR_JUST_INT
def = 0
min = 0
max = 1439
interval = 60
str = STR_CONFIG_SETTING_CLOCK_OFFSET
strhelp = STR_CONFIG_SETTING_CLOCK_OFFSET_HELPTEXT
proc = UpdateTimeSettings
[SDT_BOOL]
base = GameSettings
var = game_time.time_in_minutes
def = false
str = STR_CONFIG_SETTING_TIME_IN_MINUTES
strhelp = STR_CONFIG_SETTING_TIME_IN_MINUTES_HELPTEXT
proc = UpdateTimeSettings
patxname = ""game_time.time_in_minutes""
[SDT_VAR]
base = GameSettings
var = game_time.ticks_per_minute
type = SLE_UINT16
strval = STR_JUST_INT
def = 74
min = 1
max = 8192
interval = 10
str = STR_CONFIG_SETTING_TICKS_PER_MINUTE
strhelp = STR_CONFIG_SETTING_TICKS_PER_MINUTE_HELPTEXT
proc = UpdateTimeSettings
patxname = ""game_time.ticks_per_minute""
[SDT_VAR]
base = GameSettings
var = game_time.clock_offset
type = SLE_UINT16
strval = STR_JUST_INT
def = 0
min = 0
max = 1439
interval = 60
str = STR_CONFIG_SETTING_CLOCK_OFFSET
strhelp = STR_CONFIG_SETTING_CLOCK_OFFSET_HELPTEXT
proc = UpdateTimeSettings
patxname = ""game_time.clock_offset""
;; gui.ticks_per_minute
[SDT_NULL]
@@ -4245,18 +4299,12 @@ strval = STR_CONFIG_SETTING_DATE_WITH_TIME_NONE
strhelp = STR_CONFIG_SETTING_DATE_WITH_TIME_HELPTEXT
proc = RedrawScreen
[SDTC_VAR]
var = gui.clock_offset
type = SLE_UINT16
[SDTC_BOOL]
var = gui.timetable_start_text_entry
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
strval = STR_JUST_INT
def = 0
min = 0
max = 1439
interval = 60
str = STR_CONFIG_SETTING_CLOCK_OFFSET
strhelp = STR_CONFIG_SETTING_CLOCK_OFFSET_HELPTEXT
proc = RedrawScreen
def = false
str = STR_CONFIG_SETTING_TIMETABLE_START_TEXT_ENTRY
strhelp = STR_CONFIG_SETTING_TIMETABLE_START_TEXT_ENTRY_HELPTEXT
[SDTC_BOOL]
var = gui.timetable_arrival_departure