From cef3523b7692bd08fa90e98cd6f87184a15960c9 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 16 Nov 2014 18:02:08 +0300 Subject: Add new command option --server-type. It can accept values: eathena, evol, evol2, tmwathena --- src/client.cpp | 5 +++++ src/main.cpp | 8 +++++++- src/options.h | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/client.cpp b/src/client.cpp index 8a6f885c7..f0919ed9a 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -404,6 +404,11 @@ void Client::gameInit() // Initialize default server mCurrentServer.hostname = settings.options.serverName; mCurrentServer.port = settings.options.serverPort; + if (!settings.options.serverType.empty()) + { + mCurrentServer.type = ServerInfo::parseType( + settings.options.serverType); + } loginData.username = settings.options.username; loginData.password = settings.options.password; diff --git a/src/main.cpp b/src/main.cpp index 7fc00918f..da445aab6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -107,6 +107,8 @@ static void printHelp() // TRANSLATORS: command line help << _(" -s --server : Login server name or IP") << std::endl // TRANSLATORS: command line help + << _(" -y --server-type : Login server type") << std::endl + // TRANSLATORS: command line help << _(" -p --port : Login server port") << std::endl // TRANSLATORS: command line help << _(" -H --update-host : Use this update host") << std::endl @@ -146,7 +148,7 @@ static void printVersion() static void parseOptions(const int argc, char *const argv[]) { - const char *const optstring = "hvud:U:P:Dc:p:l:L:C:s:t:T:a:r"; + const char *const optstring = "hvud:U:P:Dc:p:y:l:L:C:s:t:T:a:r"; const struct option long_options[] = { @@ -171,6 +173,7 @@ static void parseOptions(const int argc, char *const argv[]) { "tests", no_argument, nullptr, 'T' }, { "test", required_argument, nullptr, 't' }, { "renderer", required_argument, nullptr, 'r' }, + { "server-type", required_argument, nullptr, 'y' }, { nullptr, 0, nullptr, 0 } }; @@ -256,6 +259,9 @@ static void parseOptions(const int argc, char *const argv[]) case 'r': options.renderer = static_cast(atoi(optarg)); break; + case 'y': + options.serverType = optarg; + break; default: break; } diff --git a/src/options.h b/src/options.h index def02200b..7f4a63ca7 100644 --- a/src/options.h +++ b/src/options.h @@ -54,6 +54,7 @@ struct Options final screenshotDir(), test(), serverName(), + serverType(), renderer(-1), serverPort(0), printHelp(false), @@ -79,6 +80,7 @@ struct Options final std::string screenshotDir; std::string test; std::string serverName; + std::string serverType; int renderer; uint16_t serverPort; bool printHelp; -- cgit v1.2.3-60-g2f50