Disable settings inapplicable for the current timekeeping mode
This commit is contained in:
@@ -782,6 +782,9 @@ STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Show travel tim
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT_EXTRA :{STRING}{}Various features require use of the YAPF pathfinder, including: routing restrictions (all pathfinder and reservation related actions), reverse at waypoint/signal and drive through train depots.
|
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT_EXTRA :{STRING}{}Various features require use of the YAPF pathfinder, including: routing restrictions (all pathfinder and reservation related actions), reverse at waypoint/signal and drive through train depots.
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_DISABLED_TIMEKEEPING_MODE_CALENDAR :{RED}[Setting disabled in calendar timekeeping mode]
|
||||||
|
STR_CONFIG_SETTING_DISABLED_TIMEKEEPING_MODE_WALLCLOCK :{RED}[Setting disabled in wallclock timekeeping mode]
|
||||||
|
|
||||||
STR_CHEAT_EDIT_MONEY_QUERY_CAPT :{WHITE}Increase or decrease money
|
STR_CHEAT_EDIT_MONEY_QUERY_CAPT :{WHITE}Increase or decrease money
|
||||||
STR_CHEAT_INFLATION_COST :{LTBLUE}Change inflation cost factor: {ORANGE}{DECIMAL}
|
STR_CHEAT_INFLATION_COST :{LTBLUE}Change inflation cost factor: {ORANGE}{DECIMAL}
|
||||||
STR_CHEAT_INFLATION_COST_QUERY_CAPT :{WHITE}Change inflation cost factor
|
STR_CHEAT_INFLATION_COST_QUERY_CAPT :{WHITE}Change inflation cost factor
|
||||||
|
@@ -2259,7 +2259,7 @@ static bool TownCargoScaleGUI(SettingOnGuiCtrlData &data)
|
|||||||
{
|
{
|
||||||
switch (data.type) {
|
switch (data.type) {
|
||||||
case SOGCT_VALUE_DPARAMS:
|
case SOGCT_VALUE_DPARAMS:
|
||||||
SetDParam(data.offset, STR_CONFIG_SETTING_CARGO_SCALE_VALUE_MONTHLY + GetGameSettings().economy.town_cargo_scale_mode);
|
if (!EconTime::UsingWallclockUnits(_game_mode == GM_MENU)) SetDParam(data.offset, STR_CONFIG_SETTING_CARGO_SCALE_VALUE_MONTHLY + GetGameSettings().economy.town_cargo_scale_mode);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -2276,7 +2276,7 @@ static bool IndustryCargoScaleGUI(SettingOnGuiCtrlData &data)
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
case SOGCT_VALUE_DPARAMS:
|
case SOGCT_VALUE_DPARAMS:
|
||||||
SetDParam(data.offset, STR_CONFIG_SETTING_CARGO_SCALE_VALUE_MONTHLY + GetGameSettings().economy.industry_cargo_scale_mode);
|
if (!EconTime::UsingWallclockUnits(_game_mode == GM_MENU)) SetDParam(data.offset, STR_CONFIG_SETTING_CARGO_SCALE_VALUE_MONTHLY + GetGameSettings().economy.industry_cargo_scale_mode);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -2292,6 +2292,38 @@ static bool IndustryCargoScaleModeGUI(SettingOnGuiCtrlData &data)
|
|||||||
data.text = STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_MODE_HELPTEXT_EXTRA;
|
data.text = STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_MODE_HELPTEXT_EXTRA;
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return WallclockModeDisabledGUI(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool CalendarModeDisabledGUI(SettingOnGuiCtrlData &data)
|
||||||
|
{
|
||||||
|
switch (data.type) {
|
||||||
|
case SOGCT_VALUE_DPARAMS:
|
||||||
|
if (!EconTime::UsingWallclockUnits(_game_mode == GM_MENU)) SetDParam(data.offset, STR_CONFIG_SETTING_DISABLED_TIMEKEEPING_MODE_CALENDAR);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case SOGCT_GUI_DISABLE:
|
||||||
|
if (!EconTime::UsingWallclockUnits(_game_mode == GM_MENU)) data.val = 1;
|
||||||
|
return true;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool WallclockModeDisabledGUI(SettingOnGuiCtrlData &data)
|
||||||
|
{
|
||||||
|
switch (data.type) {
|
||||||
|
case SOGCT_VALUE_DPARAMS:
|
||||||
|
if (EconTime::UsingWallclockUnits(_game_mode == GM_MENU)) SetDParam(data.offset, STR_CONFIG_SETTING_DISABLED_TIMEKEEPING_MODE_WALLCLOCK);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case SOGCT_GUI_DISABLE:
|
||||||
|
if (EconTime::UsingWallclockUnits(_game_mode == GM_MENU)) data.val = 1;
|
||||||
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -25,6 +25,8 @@ static bool OrderTownGrowthRate(SettingOnGuiCtrlData &data);
|
|||||||
static bool TownCargoScaleGUI(SettingOnGuiCtrlData &data);
|
static bool TownCargoScaleGUI(SettingOnGuiCtrlData &data);
|
||||||
static bool IndustryCargoScaleGUI(SettingOnGuiCtrlData &data);
|
static bool IndustryCargoScaleGUI(SettingOnGuiCtrlData &data);
|
||||||
static bool IndustryCargoScaleModeGUI(SettingOnGuiCtrlData &data);
|
static bool IndustryCargoScaleModeGUI(SettingOnGuiCtrlData &data);
|
||||||
|
static bool CalendarModeDisabledGUI(SettingOnGuiCtrlData &data);
|
||||||
|
static bool WallclockModeDisabledGUI(SettingOnGuiCtrlData &data);
|
||||||
|
|
||||||
static const SettingTable _economy_settings{
|
static const SettingTable _economy_settings{
|
||||||
[post-amble]
|
[post-amble]
|
||||||
@@ -234,6 +236,7 @@ strval = STR_JUST_COMMA
|
|||||||
post_cb = DayLengthChanged
|
post_cb = DayLengthChanged
|
||||||
cat = SC_BASIC
|
cat = SC_BASIC
|
||||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_VARIABLE_DAY_LENGTH)
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_VARIABLE_DAY_LENGTH)
|
||||||
|
guiproc = WallclockModeDisabledGUI
|
||||||
patxname = ""variable_day_length.economy.day_length_factor""
|
patxname = ""variable_day_length.economy.day_length_factor""
|
||||||
|
|
||||||
[SDT_BOOL]
|
[SDT_BOOL]
|
||||||
@@ -736,6 +739,7 @@ strval = STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE
|
|||||||
pre_cb = [](auto) { return _game_mode == GM_MENU || _settings_game.economy.timekeeping_units == 1; }
|
pre_cb = [](auto) { return _game_mode == GM_MENU || _settings_game.economy.timekeeping_units == 1; }
|
||||||
post_cb = ChangeMinutesPerYear
|
post_cb = ChangeMinutesPerYear
|
||||||
cat = SC_BASIC
|
cat = SC_BASIC
|
||||||
|
guiproc = CalendarModeDisabledGUI
|
||||||
|
|
||||||
[SDT_VAR]
|
[SDT_VAR]
|
||||||
var = economy.town_cargo_scale
|
var = economy.town_cargo_scale
|
||||||
@@ -778,6 +782,7 @@ strhelp = STR_CONFIG_SETTING_CARGO_SCALE_MODE_HELPTEXT
|
|||||||
strval = STR_CONFIG_SETTING_CARGO_SCALE_MODE_MONTHLY
|
strval = STR_CONFIG_SETTING_CARGO_SCALE_MODE_MONTHLY
|
||||||
cat = SC_BASIC
|
cat = SC_BASIC
|
||||||
post_cb = [](auto) { InvalidateWindowClassesData(WC_GAME_OPTIONS); UpdateCargoScalers(); }
|
post_cb = [](auto) { InvalidateWindowClassesData(WC_GAME_OPTIONS); UpdateCargoScalers(); }
|
||||||
|
guiproc = WallclockModeDisabledGUI
|
||||||
|
|
||||||
[SDT_VAR]
|
[SDT_VAR]
|
||||||
var = economy.industry_cargo_scale_mode
|
var = economy.industry_cargo_scale_mode
|
||||||
@@ -841,6 +846,7 @@ strhelp = STR_CONFIG_SETTING_TICK_RATE_HELPTEXT
|
|||||||
strval = STR_CONFIG_SETTING_TICK_RATE_TRADITIONAL
|
strval = STR_CONFIG_SETTING_TICK_RATE_TRADITIONAL
|
||||||
cat = SC_EXPERT
|
cat = SC_EXPERT
|
||||||
post_cb = [](auto) { SetupTickRate(); }
|
post_cb = [](auto) { SetupTickRate(); }
|
||||||
|
guiproc = WallclockModeDisabledGUI
|
||||||
patxname = ""economy.tick_rate""
|
patxname = ""economy.tick_rate""
|
||||||
|
|
||||||
## Old settings
|
## Old settings
|
||||||
|
Reference in New Issue
Block a user