diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-08-26 16:44:50 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-08-26 16:44:50 +0300 |
commit | da649050e6a92a199e1ba6ec09f456b184e51809 (patch) | |
tree | 6dadd6b56e821fe715799f4e6b0c15c225a7134d /src/net/eathena/generalhandler.cpp | |
parent | 653447ca463eaf573e7123896155b538b8dec869 (diff) | |
download | manaverse-da649050e6a92a199e1ba6ec09f456b184e51809.tar.gz manaverse-da649050e6a92a199e1ba6ec09f456b184e51809.tar.bz2 manaverse-da649050e6a92a199e1ba6ec09f456b184e51809.tar.xz manaverse-da649050e6a92a199e1ba6ec09f456b184e51809.zip |
Move receive code from generalhandler into separate file.
Diffstat (limited to 'src/net/eathena/generalhandler.cpp')
-rw-r--r-- | src/net/eathena/generalhandler.cpp | 119 |
1 files changed, 4 insertions, 115 deletions
diff --git a/src/net/eathena/generalhandler.cpp b/src/net/eathena/generalhandler.cpp index 2f404ce76..d81a05d9d 100644 --- a/src/net/eathena/generalhandler.cpp +++ b/src/net/eathena/generalhandler.cpp @@ -32,6 +32,8 @@ #include "gui/widgets/tabs/chat/guildtab.h" #include "gui/widgets/tabs/chat/partytab.h" +#include "net/eathena/generalrecv.h" + #include "net/eathena/adminhandler.h" #include "net/eathena/auctionhandler.h" #include "net/eathena/bankhandler.h" @@ -79,9 +81,6 @@ extern Net::GeneralHandler *generalHandler; namespace EAthena { -ServerInfo charServer; -ServerInfo mapServer; - GeneralHandler::GeneralHandler() : MessageHandler(), mAdminHandler(new AdminHandler), @@ -149,11 +148,11 @@ void GeneralHandler::handleMessage(Net::MessageIn &msg) switch (msg.getId()) { case SMSG_CONNECTION_PROBLEM: - processConnectionProblem(msg); + GeneralRecv::processConnectionProblem(msg); break; case SMSG_MAP_NOT_FOUND: - processMapNotFound(msg); + GeneralRecv::processMapNotFound(msg); break; default: @@ -161,116 +160,6 @@ void GeneralHandler::handleMessage(Net::MessageIn &msg) } } -void GeneralHandler::processConnectionProblem(Net::MessageIn &msg) -{ - const uint8_t code = msg.readUInt8("flag"); - logger->log("Connection problem: %u", static_cast<unsigned int>(code)); - - switch (code) - { - case 0: - errorMessage = _("Authentication failed."); - break; - case 1: - errorMessage = _("No servers available."); - break; - case 2: - if (client->getState() == STATE_GAME) - { - errorMessage = _("Someone else is trying to use " - "this account."); - } - else - { - errorMessage = _("This account is already logged in."); - } - break; - case 3: - errorMessage = _("Speed hack detected."); - break; - case 4: - errorMessage = _("Server full."); - break; - case 5: - errorMessage = _("Sorry, you are underaged."); - break; - case 8: - errorMessage = _("Duplicated login."); - break; - case 9: - errorMessage = _("To many connections from same ip."); - break; - case 10: - errorMessage = _("Not paid for this time."); - break; - case 11: - errorMessage = _("Pay suspended."); - break; - case 12: - errorMessage = _("Pay changed."); - break; - case 13: - errorMessage = _("Pay wrong ip."); - break; - case 14: - errorMessage = _("Pay game room."); - break; - case 15: - errorMessage = _("Disconnect forced by GM."); - break; - case 16: - case 17: - errorMessage = _("Ban japan refuse."); - break; - case 18: - errorMessage = _("Remained other account."); - break; - case 100: - errorMessage = _("Ip unfair."); - break; - case 101: - errorMessage = _("Ip count all."); - break; - case 102: - errorMessage = _("Ip count."); - break; - case 103: - case 104: - errorMessage = _("Memory."); - break; - case 105: - errorMessage = _("Han valid."); - break; - case 106: - errorMessage = _("Ip limited access."); - break; - case 107: - errorMessage = _("Over characters list."); - break; - case 108: - errorMessage = _("Ip blocked."); - break; - case 109: - errorMessage = _("Invalid password count."); - break; - case 110: - errorMessage = _("Not allowed race."); - break; - default: - errorMessage = _("Unknown connection error."); - break; - } - client->setState(STATE_ERROR); -} - -void GeneralHandler::processMapNotFound(Net::MessageIn &msg) -{ - const int sz = msg.readInt16("len") - 4; - msg.readString(sz, "map name?"); - errorMessage = _("Map not found"); - client->setState(STATE_ERROR); -} - void GeneralHandler::load() { (new Network)->registerHandler(this); |