summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/tmwa/generalhandler.cpp86
-rw-r--r--src/net/tmwa/generalhandler.h2
2 files changed, 46 insertions, 42 deletions
diff --git a/src/net/tmwa/generalhandler.cpp b/src/net/tmwa/generalhandler.cpp
index 3129406ba..e2c609b2c 100644
--- a/src/net/tmwa/generalhandler.cpp
+++ b/src/net/tmwa/generalhandler.cpp
@@ -152,55 +152,57 @@ void GeneralHandler::handleMessage(Net::MessageIn &msg)
switch (msg.getId())
{
case SMSG_CONNECTION_PROBLEM:
- {
- const uint8_t code = msg.readUInt8();
- logger->log("Connection problem: %u",
- static_cast<unsigned int>(code));
+ processConnectionProblem(msg);
+ break;
- switch (code)
+ default:
+ break;
+ }
+ BLOCK_END("GeneralHandler::handleMessage")
+}
+
+void GeneralHandler::processConnectionProblem(Net::MessageIn &msg)
+{
+ const uint8_t code = msg.readUInt8();
+ logger->log("Connection problem: %u", static_cast<unsigned int>(code));
+
+ switch (code)
+ {
+ case 0:
+ // TRANSLATORS: error message
+ errorMessage = _("Authentication failed.");
+ break;
+ case 1:
+ // TRANSLATORS: error message
+ errorMessage = _("No servers available.");
+ break;
+ case 2:
+ if (client->getState() == STATE_GAME)
+ {
+ // TRANSLATORS: error message
+ errorMessage = _("Someone else is trying to use this "
+ "account.");
+ }
+ else
{
- case 0:
- // TRANSLATORS: error message
- errorMessage = _("Authentication failed.");
- break;
- case 1:
- // TRANSLATORS: error message
- errorMessage = _("No servers available.");
- break;
- case 2:
- if (client->getState() == STATE_GAME)
- {
- // TRANSLATORS: error message
- errorMessage = _("Someone else is trying to use this "
- "account.");
- }
- else
- {
- // TRANSLATORS: error message
- errorMessage = _("This account is already logged in.");
- }
- break;
- case 3:
- // TRANSLATORS: error message
- errorMessage = _("Speed hack detected.");
- break;
- case 8:
- // TRANSLATORS: error message
- errorMessage = _("Duplicated login.");
- break;
- default:
- // TRANSLATORS: error message
- errorMessage = _("Unknown connection error.");
- break;
+ // TRANSLATORS: error message
+ errorMessage = _("This account is already logged in.");
}
- client->setState(STATE_ERROR);
break;
- }
-
+ case 3:
+ // TRANSLATORS: error message
+ errorMessage = _("Speed hack detected.");
+ break;
+ case 8:
+ // TRANSLATORS: error message
+ errorMessage = _("Duplicated login.");
+ break;
default:
+ // TRANSLATORS: error message
+ errorMessage = _("Unknown connection error.");
break;
}
- BLOCK_END("GeneralHandler::handleMessage")
+ client->setState(STATE_ERROR);
}
void GeneralHandler::load()
diff --git a/src/net/tmwa/generalhandler.h b/src/net/tmwa/generalhandler.h
index bf13366c4..fb2f54d6e 100644
--- a/src/net/tmwa/generalhandler.h
+++ b/src/net/tmwa/generalhandler.h
@@ -61,6 +61,8 @@ class GeneralHandler final : public MessageHandler,
void gameEnded() const override final;
protected:
+ static void processConnectionProblem(Net::MessageIn &msg);
+
MessageHandlerPtr mAdminHandler;
MessageHandlerPtr mBeingHandler;
MessageHandlerPtr mBuySellHandler;