Replace SF_ENABLE_TABLE_PATS flag and SC_PATCH with SF_PATCH

pull/611/head
Jonathan G Rennison 7 months ago
parent 35d1955db0
commit ccfdf626ad

@ -36,7 +36,7 @@ static std::vector<SaveLoad> GetSettingsDesc(bool is_loading)
std::vector<SaveLoad> saveloads;
for (auto &sd : GetSettingsTableInternal()) {
if (sd->flags & SF_NOT_IN_SAVE) continue;
if (!SlXvIsFeaturePresent(XSLFI_TABLE_PATS) && sd->patx_name != nullptr && !(sd->flags & SF_ENABLE_TABLE_PATS)) continue;
if (is_loading && !SlXvIsFeaturePresent(XSLFI_TABLE_PATS) && (sd->flags & SF_PATCH)) continue;
if (!sd->save.ext_feature_test.IsFeaturePresent(_sl_version, sd->save.version_from, sd->save.version_to)) continue;
VarType new_type = 0;

@ -3218,7 +3218,6 @@ static std::vector<const SettingDesc *> MakeSettingsPatxList(const SettingTable
for (auto &sd : settings) {
if (sd->patx_name == nullptr) continue;
if ((sd->flags & SF_ENABLE_TABLE_PATS) && SlXvIsFeaturePresent(XSLFI_TABLE_PATS)) continue;
sorted_patx_settings.push_back(sd.get());
}

@ -1385,7 +1385,7 @@ bool SettingEntry::IsVisibleByRestrictionMode(RestrictionMode mode) const
if (mode == RM_BASIC) return (this->setting->cat & SC_BASIC_LIST) != 0;
if (mode == RM_ADVANCED) return (this->setting->cat & SC_ADVANCED_LIST) != 0;
if (mode == RM_PATCH) return (this->setting->cat & SC_PATCH_LIST) != 0;
if (mode == RM_PATCH) return (this->setting->flags & SF_PATCH) != 0;
/* Read the current value. */
const void *object = ResolveObject(&GetGameSettings(), sd);

@ -41,7 +41,7 @@ enum SettingFlag : uint32 {
SF_GUI_ADVISE_DEFAULT = 1 << 19, ///< Advise the user to leave this setting at its default value
SF_ENUM_PRE_CB_VALIDATE = 1 << 20, ///< Call the pre_check callback for enum incoming value validation
SF_CONVERT_BOOL_TO_INT = 1 << 21, ///< Accept a boolean value when loading an int-type setting from the config file
SF_ENABLE_TABLE_PATS = 1 << 22, ///< Enable saving/loading from table mode PATS chunks even when patx_name is set
SF_PATCH = 1 << 22, ///< Do not load from upstream table-mode PATS, also for GUI filtering of "patch" settings
SF_PRIVATE = 1 << 23, ///< Setting is in private ini
SF_SECRET = 1 << 24, ///< Setting is in secrets ini
};
@ -62,13 +62,11 @@ enum SettingCategory {
SC_BASIC_LIST = 1 << 0, ///< Settings displayed in the list of basic settings.
SC_ADVANCED_LIST = 1 << 1, ///< Settings displayed in the list of advanced settings.
SC_EXPERT_LIST = 1 << 2, ///< Settings displayed in the list of expert settings.
SC_PATCH_LIST = 1 << 3, ///< Settings displayed in the list of non-vanilla settings.
/* Setting classification */
SC_BASIC = SC_BASIC_LIST | SC_ADVANCED_LIST | SC_EXPERT_LIST, ///< Basic settings are part of all lists.
SC_ADVANCED = SC_ADVANCED_LIST | SC_EXPERT_LIST, ///< Advanced settings are part of advanced and expert list.
SC_EXPERT = SC_EXPERT_LIST, ///< Expert settings can only be seen in the expert list.
SC_PATCH = SC_PATCH_LIST, ///< Patch settings which are shown in the patch list.
SC_END,
};

@ -16,8 +16,8 @@ static const SettingTable _company_settings{
[post-amble]
};
[templates]
SDT_BOOL = SDT_BOOL(CompanySettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDT_VAR = SDT_VAR(CompanySettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDT_BOOL = SDT_BOOL(CompanySettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDT_VAR = SDT_VAR(CompanySettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
[validation]
@ -36,7 +36,6 @@ load = nullptr
from = SL_MIN_VERSION
to = SL_MAX_VERSION
cat = SC_ADVANCED
patchcat = SC_NONE
startup = false
extver = SlXvFeatureTest()
patxname = nullptr
@ -147,28 +146,26 @@ post_cb = [](auto new_value) { UpdateServiceInterval(VEH_AIRCRAFT, new_value);
[SDT_BOOL]
base = CompanySettings
var = vehicle.auto_timetable_by_default
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = false
str = STR_CONFIG_SETTING_AUTO_TIMETABLE_BY_DEFAULT
strhelp = STR_CONFIG_SETTING_AUTO_TIMETABLE_BY_DEFAULT_HELPTEXT
patchcat = SC_PATCH
patxname = ""vehicle.auto_timetable_by_default""
[SDT_BOOL]
base = CompanySettings
var = vehicle.auto_separation_by_default
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = true
str = STR_CONFIG_SETTING_TIMETABLE_SEPARATION_BY_DEFAULT
strhelp = STR_CONFIG_SETTING_TIMETABLE_SEPARATION_BY_DEFAULT_HELPTEXT
patchcat = SC_PATCH
patxname = ""vehicle.auto_separation_by_default""
[SDT_VAR]
base = CompanySettings
var = auto_timetable_separation_rate
type = SLE_UINT8
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = 40
min = 0
max = 100
@ -177,14 +174,13 @@ str = STR_CONFIG_SETTING_TIMETABLE_SEPARATION_RATE
strhelp = STR_CONFIG_SETTING_TIMETABLE_SEPARATION_RATE_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
cat = SC_EXPERT
patchcat = SC_PATCH
patxname = ""auto_timetable_separation_rate""
[SDT_VAR]
base = CompanySettings
var = timetable_autofill_rounding
type = SLE_UINT16
flags = SF_PER_COMPANY | SF_GUI_0_IS_SPECIAL
flags = SF_PER_COMPANY | SF_GUI_0_IS_SPECIAL | SF_PATCH
def = 0
min = 0
max = 1000
@ -193,14 +189,13 @@ str = STR_CONFIG_SETTING_TIMETABLE_AUTOFILL_ROUNDING_TICKS
strhelp = STR_CONFIG_SETTING_TIMETABLE_AUTOFILL_ROUNDING_TICKS_HELPTEXT
strval = STR_CONFIG_SETTING_TIMETABLE_AUTOFILL_ROUNDING_TICKS_VALUE
cat = SC_EXPERT
patchcat = SC_PATCH
patxname = ""timetable_autofill_rounding""
[SDT_VAR]
base = CompanySettings
var = order_occupancy_smoothness
type = SLE_UINT8
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = 75
min = 0
max = 100
@ -209,74 +204,66 @@ str = STR_CONFIG_OCCUPANCY_SMOOTHNESS
strhelp = STR_CONFIG_OCCUPANCY_SMOOTHNESS_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
cat = SC_EXPERT
patchcat = SC_PATCH
patxname = ""order_occupancy_smoothness""
[SDT_BOOL]
base = CompanySettings
var = infra_others_buy_in_depot[0]
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = false
str = STR_CONFIG_SETTING_INFRA_OTHERS_BUY_IN_DEPOT_RAIL
patchcat = SC_PATCH
patxname = ""infra_sharing.infra_others_buy_in_depot.rail""
[SDT_BOOL]
base = CompanySettings
var = infra_others_buy_in_depot[1]
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = false
str = STR_CONFIG_SETTING_INFRA_OTHERS_BUY_IN_DEPOT_ROAD
patchcat = SC_PATCH
patxname = ""infra_sharing.infra_others_buy_in_depot.road""
[SDT_BOOL]
base = CompanySettings
var = infra_others_buy_in_depot[2]
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = false
str = STR_CONFIG_SETTING_INFRA_OTHERS_BUY_IN_DEPOT_WATER
patchcat = SC_PATCH
patxname = ""infra_sharing.infra_others_buy_in_depot.water""
[SDT_BOOL]
base = CompanySettings
var = infra_others_buy_in_depot[3]
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = false
str = STR_CONFIG_SETTING_INFRA_OTHERS_BUY_IN_DEPOT_AIR
patchcat = SC_PATCH
patxname = ""infra_sharing.infra_others_buy_in_depot.air""
[SDT_BOOL]
base = CompanySettings
var = advance_order_on_clone
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = false
str = STR_CONFIG_SETTING_ADVANCE_ORDER_ON_CLONE
strhelp = STR_CONFIG_SETTING_ADVANCE_ORDER_ON_CLONE_HELPTEXT
patchcat = SC_PATCH
patxname = ""advance_order_on_clone""
[SDT_BOOL]
base = CompanySettings
var = copy_clone_add_to_group
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = true
str = STR_CONFIG_SETTING_COPY_CLONE_ADD_TO_GROUP
strhelp = STR_CONFIG_SETTING_COPY_CLONE_ADD_TO_GROUP_HELPTEXT
patchcat = SC_PATCH
patxname = ""copy_clone_add_to_group""
[SDT_BOOL]
base = CompanySettings
var = remain_if_next_order_same_station
flags = SF_PER_COMPANY
flags = SF_PER_COMPANY | SF_PATCH
def = true
str = STR_CONFIG_SETTING_REMAIN_IF_NEXT_ORDER_SAME_STATION
strhelp = STR_CONFIG_SETTING_REMAIN_IF_NEXT_ORDER_SAME_STATION_HELPTEXT
patchcat = SC_PATCH
patxname = ""remain_if_next_order_same_station""
[SDT_VAR]

File diff suppressed because it is too large Load Diff

@ -12,9 +12,9 @@ const SettingTable _multimedia_settings = {
[post-amble]
};
[templates]
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDTC_LIST = SDTC_LIST( $var, $type, $flags, $def, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDTC_LIST = SDTC_LIST( $var, $type, $flags, $def, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
[validation]
SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
@ -32,7 +32,6 @@ load = nullptr
from = SL_MIN_VERSION
to = SL_MAX_VERSION
cat = SC_ADVANCED
patchcat = SC_NONE
startup = false
extver = SlXvFeatureTest()
patxname = nullptr

@ -13,7 +13,7 @@ const SettingTable _news_display_settings = {
[post-amble]
};
[templates]
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
[validation]
SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
@ -31,7 +31,6 @@ load = nullptr
from = SL_MIN_VERSION
to = SL_MAX_VERSION
cat = SC_ADVANCED
patchcat = SC_NONE
startup = false
extver = SlXvFeatureTest()
patxname = nullptr

@ -12,9 +12,9 @@ const SettingTable _scenario_settings = {
[post-amble]
};
[templates]
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDTC_LIST = SDTC_LIST( $var, $type, $flags, $def, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat | $patchcat, $guiproc, $startup, $patxname),
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDTC_LIST = SDTC_LIST( $var, $type, $flags, $def, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
[validation]
SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
@ -32,7 +32,6 @@ load = nullptr
from = SL_MIN_VERSION
to = SL_MAX_VERSION
cat = SC_ADVANCED
patchcat = SC_NONE
startup = false
extver = SlXvFeatureTest()
patxname = nullptr
@ -40,24 +39,22 @@ patxname = nullptr
[SDTC_BOOL]
var = scenario.multiple_buildings
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_PATCH
def = false
str = STR_CONFIG_SETTING_SCENARIO_MULTIPLE_BUILDINGS
strhelp = STR_CONFIG_SETTING_SCENARIO_MULTIPLE_BUILDINGS_HELPTEXT
patchcat = SC_PATCH
[SDTC_BOOL]
var = scenario.house_ignore_dates
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_PATCH
def = false
str = STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_DATES
strhelp = STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_DATES_HELPTEXT
patchcat = SC_PATCH
[SDTC_VAR]
var = scenario.house_ignore_zones
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN | SF_PATCH
def = 0
min = 0
max = 2
@ -65,12 +62,10 @@ interval = 1
str = STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_ZONES
strhelp = STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_ZONES_HELPTEXT
strval = STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_ZONES_OFF
patchcat = SC_PATCH
[SDTC_BOOL]
var = scenario.house_ignore_grf
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_PATCH
def = false
str = STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_GRF
strhelp = STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_GRF_HELPTEXT
patchcat = SC_PATCH

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save