summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2006-08-27 10:49:43 +0000
committerDarkvater <darkvater@openttd.org>2006-08-27 10:49:43 +0000
commitcb4e99ddfbdb5235c8281770959e1c4f77a8f51f (patch)
treee3074560da7750c1df452cc89315adfd92e07842
parent2f6a4bc1a92aeb4904e5e84e23fa28d0307a303c (diff)
downloadopenttd-cb4e99ddfbdb5235c8281770959e1c4f77a8f51f.tar.xz
(svn r6170) -Feature: save max_companies/clients/spectators in the config file.
-rw-r--r--network.c14
-rw-r--r--settings.c3
2 files changed, 13 insertions, 4 deletions
diff --git a/network.c b/network.c
index 6d68d2ef4..85d838ea2 100644
--- a/network.c
+++ b/network.c
@@ -1392,10 +1392,16 @@ void NetworkStartUp(void)
/* Generate an unique id when there is none yet */
if (_network_unique_id[0] == '\0') NetworkGenerateUniqueId();
- memset(&_network_game_info, 0, sizeof(_network_game_info));
- _network_game_info.clients_max = 10; // XXX - hardcoded, string limiation -- TrueLight
- _network_game_info.companies_max = MAX_PLAYERS; // 8
- _network_game_info.spectators_max = _network_game_info.clients_max;
+ {
+ byte cl_max = _network_game_info.clients_max;
+ byte cp_max = _network_game_info.companies_max;
+ byte sp_max = _network_game_info.spectators_max;
+
+ memset(&_network_game_info, 0, sizeof(_network_game_info));
+ _network_game_info.clients_max = cl_max;
+ _network_game_info.companies_max = cp_max;
+ _network_game_info.spectators_max = sp_max;
+ }
// Let's load the network in windows
#if defined(WIN32)
diff --git a/settings.c b/settings.c
index df580faa7..d546918f9 100644
--- a/settings.c
+++ b/settings.c
@@ -1206,6 +1206,9 @@ static const SettingDescGlobVarList _network_settings[] = {
SDTG_BOOL("autoclean_companies", S, 0, _network_autoclean_companies, false, STR_NULL, NULL),
SDTG_VAR("autoclean_unprotected",SLE_UINT8, S, 0, _network_autoclean_unprotected,12, 0, 60, STR_NULL, NULL),
SDTG_VAR("autoclean_protected", SLE_UINT8, S, 0, _network_autoclean_protected, 36, 0, 180, STR_NULL, NULL),
+ SDTG_VAR("max_companies", SLE_UINT8, S, 0, _network_game_info.companies_max, 8,0, 8, STR_NULL, NULL),
+ SDTG_VAR("max_clients", SLE_UINT8, S, 0, _network_game_info.clients_max, 10,0,10, STR_NULL, NULL),
+ SDTG_VAR("max_spectators", SLE_UINT8, S, 0, _network_game_info.spectators_max,10,0,10, STR_NULL, NULL),
SDTG_VAR("restart_game_year", SLE_INT32, S,D0, _network_restart_game_year, 0, MIN_YEAR, MAX_YEAR, STR_NULL, NULL),
SDTG_END()
};