Allow various settings to be changed in multiplayer

If the corresponding TTDPatch flag bit has not been observed by a NewGRF
This commit is contained in:
Jonathan G Rennison
2022-11-10 22:34:14 +00:00
parent 2f4f862480
commit 2af2c56d19
4 changed files with 40 additions and 8 deletions

View File

@@ -71,6 +71,7 @@ static bool CheckSharingWater(int32 &new_value);
static bool CheckSharingAir(int32 &new_value);
static void TownZoneModeChanged(int32 new_value);
static void TownZoneCustomValueChanged(int32 new_value);
static bool CheckTTDPatchSettingFlag(uint flag);
/* End - Callback Functions for the various settings */
@@ -777,7 +778,6 @@ strhelp = STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT
var = construction.max_bridge_length
type = SLE_UINT16
from = SLV_159
flags = SF_NO_NETWORK
def = 64
min = 1
max = 4096
@@ -785,6 +785,7 @@ interval = 1
str = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH
strhelp = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT
strval = STR_CONFIG_SETTING_TILE_LENGTH
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x0F); }
[SDT_XREF]
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_SPRINGPP, 2)
@@ -862,22 +863,23 @@ to = SLV_159
[SDT_VAR]
var = construction.train_signal_side
type = SLE_UINT8
flags = SF_GUI_DROPDOWN | SF_NO_NETWORK
flags = SF_GUI_DROPDOWN
def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_SIGNALSIDE
strhelp = STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT
strval = STR_CONFIG_SETTING_SIGNALSIDE_LEFT
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x3B); }
post_cb = [](auto) { MarkWholeScreenDirty(); }
cat = SC_BASIC
[SDT_BOOL]
var = station.never_expire_airports
flags = SF_NO_NETWORK
def = false
str = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS
strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x0C); }
[SDT_VAR]
var = economy.town_layout
@@ -911,10 +913,10 @@ extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_SPRINGPP, 7)
[SDT_BOOL]
var = economy.allow_town_roads
from = SLV_113
flags = SF_NO_NETWORK
def = true
str = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS
strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x62); }
[SDT_XREF]
xref = ""economy.old_town_cargo_factor""
@@ -1736,10 +1738,10 @@ strhelp = STR_CONFIG_SETTING_NOSERVICE_HELPTEXT
[SDT_BOOL]
var = vehicle.wagon_speed_limits
flags = SF_NO_NETWORK
def = true
str = STR_CONFIG_SETTING_WAGONSPEEDLIMITS
strhelp = STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x5D); }
post_cb = UpdateConsists
;; vehicle.slow_road_vehicles_in_curves
@@ -1782,7 +1784,6 @@ cat = SC_EXPERT
var = vehicle.freight_trains
type = SLE_UINT8
from = SLV_39
flags = SF_NO_NETWORK
def = 1
min = 1
max = 255
@@ -1790,6 +1791,7 @@ interval = 1
str = STR_CONFIG_SETTING_FREIGHT_TRAINS
strhelp = STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT
strval = STR_JUST_COMMA
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x58); }
post_cb = UpdateConsists
;; vehicle.freight_mult_to_passengers
@@ -2200,11 +2202,11 @@ extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_SPRINGPP)
##
[SDT_BOOL]
var = economy.inflation
flags = SF_NO_NETWORK
def = false
str = STR_CONFIG_SETTING_INFLATION
strhelp = STR_CONFIG_SETTING_INFLATION_HELPTEXT
cat = SC_BASIC
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x81); }
[SDT_BOOL]
var = economy.inflation_fixed_dates