diff options
-rw-r--r-- | src/net/tmwa/generalhandler.cpp | 86 | ||||
-rw-r--r-- | src/net/tmwa/generalhandler.h | 2 |
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; |