summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/multiplayer.md2
-rw-r--r--src/settings.cpp13
2 files changed, 7 insertions, 8 deletions
diff --git a/docs/multiplayer.md b/docs/multiplayer.md
index ece0c04df..c7e1839cf 100644
--- a/docs/multiplayer.md
+++ b/docs/multiplayer.md
@@ -117,7 +117,7 @@ Last updated: 2011-02-16
- If you want to be on the server-list, make your server public. You can do
this either from the Start Server GUI, via the in-game Online Players GUI,
or by typing in the console:
- 'set server_game_type 1'.
+ 'set server_game_type public'.
- You can protect your server with a password via the console: 'set server_pw',
or via the Start Server menu.
diff --git a/src/settings.cpp b/src/settings.cpp
index d7a855065..0d379778b 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -1635,15 +1635,14 @@ void IConsoleSetSetting(const char *name, const char *value, bool force_newgame)
if (sd->IsStringSetting()) {
success = SetSettingValue(sd->AsStringSetting(), value, force_newgame);
} else if (sd->IsIntSetting()) {
- uint32 val;
- extern bool GetArgumentInteger(uint32 *value, const char *arg);
- success = GetArgumentInteger(&val, value);
- if (!success) {
- IConsolePrint(CC_ERROR, "'{}' is not an integer.", value);
+ const IntSettingDesc *isd = sd->AsIntSetting();
+ size_t val = isd->ParseValue(value);
+ if (!_settings_error_list.empty()) {
+ IConsolePrint(CC_ERROR, "'{}' is not a valid value for this setting.", value);
+ _settings_error_list.clear();
return;
}
-
- success = SetSettingValue(sd->AsIntSetting(), val, force_newgame);
+ success = SetSettingValue(isd, (int32)val, force_newgame);
}
if (!success) {