diff options
author | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2010-02-21 20:40:07 +0100 |
---|---|---|
committer | Chuck Miller <shadowmil@gmail.com> | 2010-02-21 17:05:40 -0500 |
commit | c8b0d1e56f27c3141895d28b2fc768afffe7bb2d (patch) | |
tree | 0a03458836badee3e1b0da13a0721c9261e7fa86 /src/net/ea | |
parent | 204a14c91bbe4436eb3b26bebf30cbe5669bdd1a (diff) | |
download | mana-client-c8b0d1e56f27c3141895d28b2fc768afffe7bb2d.tar.gz mana-client-c8b0d1e56f27c3141895d28b2fc768afffe7bb2d.tar.bz2 mana-client-c8b0d1e56f27c3141895d28b2fc768afffe7bb2d.tar.xz mana-client-c8b0d1e56f27c3141895d28b2fc768afffe7bb2d.zip |
Made tick counter and framerate limiter work during login sequence
Much code was moved from main() to the new Client::exec(). This new
event loop now integrates with the Game class, so that the tick counter
and framerate limiter apply universally.
The Client class is also responsible for some things that used to be
global variables.
Mantis-issue: ...
Diffstat (limited to 'src/net/ea')
-rw-r--r-- | src/net/ea/beinghandler.cpp | 2 | ||||
-rw-r--r-- | src/net/ea/charserverhandler.cpp | 6 | ||||
-rw-r--r-- | src/net/ea/gamehandler.cpp | 7 | ||||
-rw-r--r-- | src/net/ea/generalhandler.cpp | 8 | ||||
-rw-r--r-- | src/net/ea/loginhandler.cpp | 15 |
5 files changed, 19 insertions, 19 deletions
diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp index 14ed40bc..fd08ecaf 100644 --- a/src/net/ea/beinghandler.cpp +++ b/src/net/ea/beinghandler.cpp @@ -23,8 +23,8 @@ #include "being.h" #include "beingmanager.h" +#include "client.h" #include "effectmanager.h" -#include "game.h" #include "localplayer.h" #include "log.h" #include "npc.h" diff --git a/src/net/ea/charserverhandler.cpp b/src/net/ea/charserverhandler.cpp index 23d88356..f0a13f43 100644 --- a/src/net/ea/charserverhandler.cpp +++ b/src/net/ea/charserverhandler.cpp @@ -21,9 +21,9 @@ #include "net/ea/charserverhandler.h" +#include "client.h" #include "game.h" #include "log.h" -#include "main.h" #include "gui/charcreatedialog.h" #include "gui/okdialog.h" @@ -92,7 +92,7 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg) character->dummy->getName().c_str(), slot); } - state = STATE_CHAR_SELECT; + Client::setState(STATE_CHAR_SELECT); } break; @@ -167,7 +167,7 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg) updateCharSelectDialog(); mNetwork->disconnect(); - state = STATE_CONNECT_GAME; + Client::setState(STATE_CONNECT_GAME); break; } } diff --git a/src/net/ea/gamehandler.cpp b/src/net/ea/gamehandler.cpp index b7b8389a..3625b9ab 100644 --- a/src/net/ea/gamehandler.cpp +++ b/src/net/ea/gamehandler.cpp @@ -21,10 +21,9 @@ #include "net/ea/gamehandler.h" -#include "game.h" +#include "client.h" #include "localplayer.h" #include "log.h" -#include "main.h" #include "gui/widgets/chattab.h" @@ -74,7 +73,7 @@ void GameHandler::handleMessage(Net::MessageIn &msg) logger->log("Protocol: Player start position: (%d, %d), Direction: %d", x, y, direction); // Switch now or we'll have problems - state = STATE_GAME; + Client::setState(STATE_GAME); player_node->setTileCoords(x, y); } break; @@ -91,7 +90,7 @@ void GameHandler::handleMessage(Net::MessageIn &msg) case SMSG_CHAR_SWITCH_RESPONSE: if (msg.readInt8()) { - state = STATE_SWITCH_CHARACTER; + Client::setState(STATE_SWITCH_CHARACTER); } break; diff --git a/src/net/ea/generalhandler.cpp b/src/net/ea/generalhandler.cpp index 7fc5886a..f7d495a6 100644 --- a/src/net/ea/generalhandler.cpp +++ b/src/net/ea/generalhandler.cpp @@ -21,9 +21,9 @@ #include "net/ea/generalhandler.h" +#include "client.h" #include "configuration.h" #include "log.h" -#include "main.h" #include "gui/charselectdialog.h" #include "gui/inventorywindow.h" @@ -129,7 +129,7 @@ void GeneralHandler::handleMessage(Net::MessageIn &msg) errorMessage = _("No servers available."); break; case 2: - if (state == STATE_GAME) + if (Client::getState() == STATE_GAME) errorMessage = _("Someone else is trying to use this " "account."); else @@ -145,7 +145,7 @@ void GeneralHandler::handleMessage(Net::MessageIn &msg) errorMessage = _("Unknown connection error."); break; } - state = STATE_ERROR; + Client::setState(STATE_ERROR); break; } } @@ -199,7 +199,7 @@ void GeneralHandler::flushNetwork() else errorMessage = _("Got disconnected from server!"); - state = STATE_ERROR; + Client::setState(STATE_ERROR); } } diff --git a/src/net/ea/loginhandler.cpp b/src/net/ea/loginhandler.cpp index 3f0fe0d0..bec97ed7 100644 --- a/src/net/ea/loginhandler.cpp +++ b/src/net/ea/loginhandler.cpp @@ -21,8 +21,8 @@ #include "net/ea/loginhandler.h" +#include "client.h" #include "log.h" -#include "main.h" #include "net/logindata.h" #include "net/messagein.h" @@ -68,7 +68,7 @@ void LoginHandler::handleMessage(Net::MessageIn &msg) // Successful pass change if (errMsg == 1) { - state = STATE_CHANGEPASSWORD_SUCCESS; + Client::setState(STATE_CHANGEPASSWORD_SUCCESS); } // pass change failed else @@ -88,7 +88,7 @@ void LoginHandler::handleMessage(Net::MessageIn &msg) errorMessage = _("Unknown error."); break; } - state = STATE_ACCOUNTCHANGE_ERROR; + Client::setState(STATE_ACCOUNTCHANGE_ERROR); } } break; @@ -136,7 +136,7 @@ void LoginHandler::handleMessage(Net::MessageIn &msg) mWorlds.push_back(world); } - state = STATE_WORLD_SELECT; + Client::setState(STATE_WORLD_SELECT); break; case SMSG_LOGIN_ERROR: @@ -175,8 +175,9 @@ void LoginHandler::handleMessage(Net::MessageIn &msg) errorMessage = _("Unknown error."); break; } - state = STATE_ERROR; + Client::setState(STATE_ERROR); break; + case SMSG_SERVER_VERSION_RESPONSE: { // TODO: verify these! @@ -214,7 +215,7 @@ void LoginHandler::disconnect() void LoginHandler::getRegistrationDetails() { // Not supported, so move on - state = STATE_REGISTER; + Client::setState(STATE_REGISTER); } void LoginHandler::loginAccount(LoginData *loginData) @@ -250,7 +251,7 @@ void LoginHandler::chooseServer(unsigned int server) charServer.hostname = ipToString(mWorlds[server]->address); charServer.port = mWorlds[server]->port; - state = STATE_UPDATE; + Client::setState(STATE_UPDATE); } void LoginHandler::registerAccount(LoginData *loginData) |