diff --git a/src/table/settings/economy_settings.ini b/src/table/settings/economy_settings.ini --- a/src/table/settings/economy_settings.ini +++ b/src/table/settings/economy_settings.ini @@ -9,13 +9,14 @@ [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"); @@ -34,6 +35,7 @@ to = SL_MAX_VERSION cat = SC_ADVANCED extra = 0 startup = false +extver = SlXvFeatureTest() [SDT_VAR] @@ -127,6 +129,15 @@ post_cb = [](auto) { SetWindowClassesDi 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 @@ -174,6 +185,30 @@ strval = STR_CONFIG_SETTING_ECONOMY_TY 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 @@ -292,3 +327,272 @@ str = STR_CONFIG_SETTING_INFRASTRUC 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)