|
@@ -6,19 +6,20 @@
|
|
|
|
|
|
; Economy settings as stored in the main configuration file ("openttd.cfg")
|
|
|
; and in the savegame PATS chunk.
|
|
|
|
|
|
[pre-amble]
|
|
|
static void TownFoundingChanged(int32 new_value);
|
|
|
static void PatchpackInvalidateRunningCostsOrElse(int32 new_value);
|
|
|
|
|
|
static const SettingVariant _economy_settings_table[] = {
|
|
|
[post-amble]
|
|
|
};
|
|
|
[templates]
|
|
|
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
|
|
|
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
|
|
|
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup, $extver),
|
|
|
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup, $extver),
|
|
|
|
|
|
[validation]
|
|
|
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
|
|
|
|
|
|
[defaults]
|
|
|
flags = SF_NONE
|
|
@@ -31,12 +32,13 @@ post_cb = nullptr
|
|
|
load = nullptr
|
|
|
from = SL_MIN_VERSION
|
|
|
to = SL_MAX_VERSION
|
|
|
cat = SC_ADVANCED
|
|
|
extra = 0
|
|
|
startup = false
|
|
|
extver = SlXvFeatureTest()
|
|
|
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.town_layout
|
|
|
type = SLE_UINT8
|
|
|
from = SLV_59
|
|
@@ -124,12 +126,21 @@ def = true
|
|
|
str = STR_CONFIG_SETTING_BRIBE
|
|
|
strhelp = STR_CONFIG_SETTING_BRIBE_HELPTEXT
|
|
|
post_cb = [](auto) { SetWindowClassesDirty(WC_TOWN_AUTHORITY); }
|
|
|
cat = SC_BASIC
|
|
|
|
|
|
[SDT_BOOL]
|
|
|
var = economy.bribe_risky
|
|
|
def = true
|
|
|
str = STR_CONFIG_SETTING_BRIBE_RISKY
|
|
|
strhelp = STR_CONFIG_SETTING_BRIBE_RISKY_HELPTEXT
|
|
|
post_cb = [](auto) { SetWindowClassesDirty(WC_TOWN_AUTHORITY); }
|
|
|
cat = SC_BASIC
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_TOWN_IMPROVEMENTS)
|
|
|
|
|
|
[SDT_BOOL]
|
|
|
var = economy.exclusive_rights
|
|
|
from = SLV_79
|
|
|
def = true
|
|
|
str = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE
|
|
|
strhelp = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT
|
|
|
post_cb = [](auto) { SetWindowClassesDirty(WC_TOWN_AUTHORITY); }
|
|
@@ -171,12 +182,36 @@ max = ET_END - 1
|
|
|
str = STR_CONFIG_SETTING_ECONOMY_TYPE
|
|
|
strhelp = STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT
|
|
|
strval = STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL
|
|
|
post_cb = [](auto) { InvalidateWindowClassesData(WC_INDUSTRY_VIEW); }
|
|
|
cat = SC_BASIC
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.daylength_multiplier
|
|
|
type = SLE_UINT8
|
|
|
def = 1
|
|
|
min = 1
|
|
|
max = 255
|
|
|
interval = 1
|
|
|
str = STR_CONFIG_SETTING_DAYLENGTH_FACTOR
|
|
|
strhelp = STR_CONFIG_SETTING_DAYLENGTH_FACTOR_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DAYLENGTH)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.town_growth_multiplier
|
|
|
type = SLE_UINT8
|
|
|
def = 1
|
|
|
min = 1
|
|
|
max = 255
|
|
|
interval = 1
|
|
|
str = STR_CONFIG_SETTING_TOWN_GROWTH_FACTOR
|
|
|
strhelp = STR_CONFIG_SETTING_TOWN_GROWTH_FACTOR_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_TOWN_IMPROVEMENTS)
|
|
|
|
|
|
[SDT_BOOL]
|
|
|
var = economy.allow_shares
|
|
|
def = false
|
|
|
str = STR_CONFIG_SETTING_ALLOW_SHARES
|
|
|
strhelp = STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT
|
|
|
post_cb = [](auto) { InvalidateWindowClassesData(WC_COMPANY); }
|
|
@@ -289,6 +324,275 @@ var = economy.infrastructure_mainte
|
|
|
from = SLV_166
|
|
|
def = false
|
|
|
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.infrastructure_base_cost_rail
|
|
|
type = SLE_UINT16
|
|
|
def = 10
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_RAIL
|
|
|
strhelp = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_RAIL_HELPTEXT
|
|
|
post_cb = [](auto) { InvalidateWindowClassesData(WC_COMPANY_INFRASTRUCTURE); }
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRASTRUCTURE)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.infrastructure_base_cost_road
|
|
|
type = SLE_UINT16
|
|
|
def = 10
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_ROAD
|
|
|
strhelp = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_ROAD_HELPTEXT
|
|
|
post_cb = [](auto) { InvalidateWindowClassesData(WC_COMPANY_INFRASTRUCTURE); }
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRASTRUCTURE)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.infrastructure_base_cost_water
|
|
|
type = SLE_UINT16
|
|
|
def = 8
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_WATER
|
|
|
strhelp = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_WATER_HELPTEXT
|
|
|
post_cb = [](auto) { InvalidateWindowClassesData(WC_COMPANY_INFRASTRUCTURE); }
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRASTRUCTURE)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.infrastructure_base_cost_air
|
|
|
type = SLE_UINT16
|
|
|
def = 5000
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_AIR
|
|
|
strhelp = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_AIR_HELPTEXT
|
|
|
post_cb = [](auto) { InvalidateWindowClassesData(WC_COMPANY_INFRASTRUCTURE); }
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRASTRUCTURE)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.infrastructure_base_cost_station
|
|
|
type = SLE_UINT16
|
|
|
def = 100
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_STATION
|
|
|
strhelp = STR_CONFIG_SETTING_INFRASTRUCTURE_BASE_COST_STATION_HELPTEXT
|
|
|
post_cb = [](auto) { InvalidateWindowClassesData(WC_COMPANY_INFRASTRUCTURE); }
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRASTRUCTURE)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.running_cost_multiplier_rail
|
|
|
type = SLE_UINT16
|
|
|
def = 1
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_RUNNING_COST_MULTIPLIER_RAIL
|
|
|
strhelp = STR_CONFIG_SETTING_RUNNING_COST_MULTIPLIER_RAIL_HELPTEXT
|
|
|
post_cb = PatchpackInvalidateRunningCostsOrElse
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_RUNNING_COST_MULT)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.running_cost_multiplier_road
|
|
|
type = SLE_UINT16
|
|
|
def = 1
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_RUNNING_COST_MULTIPLIER_ROAD
|
|
|
strhelp = STR_CONFIG_SETTING_RUNNING_COST_MULTIPLIER_ROAD_HELPTEXT
|
|
|
post_cb = PatchpackInvalidateRunningCostsOrElse
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_RUNNING_COST_MULT)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.running_cost_multiplier_water
|
|
|
type = SLE_UINT16
|
|
|
def = 1
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_RUNNING_COST_MULTIPLIER_WATER
|
|
|
strhelp = STR_CONFIG_SETTING_RUNNING_COST_MULTIPLIER_WATER_HELPTEXT
|
|
|
post_cb = PatchpackInvalidateRunningCostsOrElse
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_RUNNING_COST_MULT)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.running_cost_multiplier_air
|
|
|
type = SLE_UINT16
|
|
|
def = 1
|
|
|
min = 1
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_RUNNING_COST_MULTIPLIER_AIR
|
|
|
strhelp = STR_CONFIG_SETTING_RUNNING_COST_MULTIPLIER_AIR_HELPTEXT
|
|
|
post_cb = PatchpackInvalidateRunningCostsOrElse
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_RUNNING_COST_MULT)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_max_amount
|
|
|
type = SLE_UINT16
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_MAX_AMOUNT
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_MAX_AMOUNT_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_increase
|
|
|
type = SLE_UINT16
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_INCREASE
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_INCREASE_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_decrease
|
|
|
type = SLE_UINT16
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_DECREASE
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_DECREASE_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_pop_rail
|
|
|
type = SLE_UINT16
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_POP_RAIL
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_POP_RAIL_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_pop_road
|
|
|
type = SLE_UINT16
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_POP_ROAD
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_POP_ROAD_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_pop_water
|
|
|
type = SLE_UINT16
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_POP_WATER
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_POP_WATER_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_pop_air
|
|
|
type = SLE_UINT16
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 65535
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_POP_AIR
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_POP_AIR_HELPTEXT
|
|
|
strval = STR_JUST_INT
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_fine_rail
|
|
|
type = SLE_UINT32
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 1000000
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_FINE_RAIL
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_FINE_RAIL_HELPTEXT
|
|
|
strval = STR_JUST_CURRENCY_LONG
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_fine_road
|
|
|
type = SLE_UINT32
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 1000000
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_FINE_ROAD
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_FINE_ROAD_HELPTEXT
|
|
|
strval = STR_JUST_CURRENCY_LONG
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_fine_water
|
|
|
type = SLE_UINT32
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 1000000
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_FINE_WATER
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_FINE_WATER_HELPTEXT
|
|
|
strval = STR_JUST_CURRENCY_LONG
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|
|
|
|
|
|
[SDT_VAR]
|
|
|
var = economy.dilapidation_fine_air
|
|
|
type = SLE_UINT32
|
|
|
def = 0
|
|
|
min = 0
|
|
|
max = 1000000
|
|
|
interval = 1
|
|
|
cat = SC_EXPERT
|
|
|
str = STR_CONFIG_SETTING_DILAPIDATION_FINE_AIR
|
|
|
strhelp = STR_CONFIG_SETTING_DILAPIDATION_FINE_AIR_HELPTEXT
|
|
|
strval = STR_JUST_CURRENCY_LONG
|
|
|
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_DILAPIDATION)
|