Merge branch 'master' into jgrpp-beta

# Conflicts:
#	src/lang/arabic_egypt.txt
#	src/lang/english.txt
#	src/lang/greek.txt
#	src/network/core/tcp_connect.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/pathfinder/npf/npf.cpp
#	src/pathfinder/yapf/yapf_ship.cpp
#	src/rail_gui.cpp
#	src/settings_table.cpp
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/table/settings/gui_settings.ini
#	src/town_cmd.cpp
#	src/widgets/rail_widget.h
This commit is contained in:
Jonathan G Rennison
2021-11-02 19:23:24 +00:00
99 changed files with 1632 additions and 1336 deletions

View File

@@ -175,6 +175,7 @@ public:
enum IniFileVersion : uint32 {
IFV_0, ///< 0 All versions prior to introduction.
IFV_PRIVATE_SECRETS, ///< 1 PR#9298 Moving of settings from openttd.cfg to private.cfg / secrets.cfg.
IFV_GAME_TYPE, ///< 2 PR#9515 Convert server_advertise to server_game_type.
IFV_MAX_VERSION, ///< Highest possible ini-file version.
};
@@ -2146,6 +2147,19 @@ void LoadFromConfig(bool startup)
/* Load basic settings only during bootstrap, load other settings not during bootstrap */
if (!startup) {
/* Convert network.server_advertise to network.server_game_type, but only if network.server_game_type is set to default value. */
if (generic_version < IFV_GAME_TYPE) {
if (_settings_client.network.server_game_type == SERVER_GAME_TYPE_LOCAL) {
IniGroup *network = generic_ini.GetGroup("network", false);
if (network != nullptr) {
IniItem *server_advertise = network->GetItem("server_advertise", false);
if (server_advertise != nullptr && server_advertise->value == "true") {
_settings_client.network.server_game_type = SERVER_GAME_TYPE_PUBLIC;
}
}
}
}
_grfconfig_newgame = GRFLoadConfig(generic_ini, "newgrf", false);
_grfconfig_static = GRFLoadConfig(generic_ini, "newgrf-static", true);
AILoadConfig(generic_ini, "ai_players");
@@ -2203,6 +2217,14 @@ void SaveToConfig()
}
}
/* Remove network.server_advertise. */
if (generic_version < IFV_GAME_TYPE) {
IniGroup *network = generic_ini.GetGroup("network", false);
if (network != nullptr) {
network->RemoveItem("server_advertise");
}
}
HandleSettingDescs(generic_ini, private_ini, secrets_ini, IniSaveSettings, IniSaveSettingList);
GRFSaveConfig(generic_ini, "newgrf", _grfconfig_newgame);
GRFSaveConfig(generic_ini, "newgrf-static", _grfconfig_static);