diff --git a/src/table/settings/world_settings.ini b/src/table/settings/world_settings.ini --- a/src/table/settings/world_settings.ini +++ b/src/table/settings/world_settings.ini @@ -18,9 +18,9 @@ static const SettingVariant _world_setti [post-amble] }; [templates] -SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup), -SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $load, $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_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $load, $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_OMANY = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size"); @@ -40,6 +40,7 @@ to = SL_MAX_VERSION cat = SC_ADVANCED extra = 0 startup = false +extver = SlXvFeatureTest() ; There are only 21 predefined town_name values (0-20), but you can have more with newgrf action F so allow @@ -482,6 +483,19 @@ strval = STR_CONFIG_SETTING_SIGNALSIDE post_cb = [](auto) { MarkWholeScreenDirty(); } cat = SC_BASIC +[SDT_VAR] +var = construction.name_stations_based_on_industries +type = SLE_UINT8 +flags = SF_GUI_DROPDOWN | SF_NO_NETWORK +def = 1 +min = 0 +max = 2 +str = STR_CONFIG_SETTING_NAME_STATIONS_BY_INDUSTRIES +strhelp = STR_CONFIG_SETTING_NAME_STATIONS_BY_INDUSTRIES_HELPTEXT +strval = STR_CONFIG_SETTING_NAME_STATIONS_BY_INDUSTRIES_SELECTION_0 +post_cb = [](auto) { UpdateAllStationVirtCoords(); } +extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_STATION_NEWGRF) + [SDT_BOOL] var = construction.road_stop_on_town_road from = SLV_47