diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/main.cpp | 33 | ||||
-rw-r--r-- | src/net/charserverhandler.h | 4 | ||||
-rw-r--r-- | src/net/loginhandler.cpp | 3 | ||||
-rw-r--r-- | src/net/loginhandler.h | 10 | ||||
-rw-r--r-- | src/net/maploginhandler.cpp | 61 | ||||
-rw-r--r-- | src/net/maploginhandler.h | 37 |
8 files changed, 13 insertions, 139 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f99ded75..9d1be555 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -178,8 +178,6 @@ SET(SRCS net/itemhandler.h net/loginhandler.cpp net/loginhandler.h - net/maploginhandler.cpp - net/maploginhandler.h net/messagehandler.cpp net/messagehandler.h net/messagein.cpp diff --git a/src/Makefile.am b/src/Makefile.am index 655c10de..fc59329d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -141,8 +141,6 @@ tmw_SOURCES = graphic/imagerect.h \ net/itemhandler.cpp \ net/loginhandler.h \ net/loginhandler.cpp \ - net/maploginhandler.cpp \ - net/maploginhandler.h \ net/messagehandler.cpp \ net/messagehandler.h \ net/messagein.cpp \ diff --git a/src/main.cpp b/src/main.cpp index 41d49b43..0ae328ea 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -68,7 +68,6 @@ #include "net/charserverhandler.h" #include "net/connection.h" #include "net/loginhandler.h" -#include "net/maploginhandler.h" #include "net/network.h" #include "net/accountserver/accountserver.h" @@ -446,17 +445,16 @@ CharServerHandler charServerHandler; LoginData loginData; LoginHandler loginHandler; LockedArray<LocalPlayer*> charInfo(MAX_SLOT + 1); -MapLoginHandler mapLoginHandler; // TODO Find some nice place for these functions void accountLogin(LoginData *loginData) { logger->log("Username is %s", loginData->username.c_str()); + Net::registerHandler(&loginHandler); - Net::registerHandler(&charServerHandler); - loginHandler.setLoginData(loginData); - charServerHandler.setLoginData(loginData); + charServerHandler.setCharInfo(&charInfo); + Net::registerHandler(&charServerHandler); // Send login infos Net::AccountServer::login(accountServerConnection, 0, @@ -477,27 +475,16 @@ void accountLogin(LoginData *loginData) void accountRegister(LoginData *loginData) { logger->log("Username is %s", loginData->username.c_str()); + Net::registerHandler(&loginHandler); - loginHandler.setLoginData(loginData); - charServerHandler.setLoginData(loginData); + charServerHandler.setCharInfo(&charInfo); + Net::registerHandler(&charServerHandler); Net::AccountServer::registerAccount(accountServerConnection, 0, loginData->username, loginData->password, loginData->email); } -void mapLogin(LoginData *loginData) -{ - Net::registerHandler(&mapLoginHandler); - - logger->log("Memorizing selected character %s", - player_node->getName().c_str()); - config.setValue("lastCharacter", player_node->getName()); - - Net::GameServer::connect(gameServerConnection, token); - Net::ChatServer::connect(chatServerConnection, token); -} - /** Main */ int main(int argc, char *argv[]) { @@ -647,6 +634,7 @@ int main(int argc, char *argv[]) chatServerConnection->isConnected()) { accountServerConnection->disconnect(); + Net::clearHandlers(); state = STATE_GAME; } @@ -752,7 +740,12 @@ int main(int argc, char *argv[]) break; case STATE_GAME: - mapLogin(&loginData); + logger->log("Memorizing selected character %s", + player_node->getName().c_str()); + config.setValue("lastCharacter", player_node->getName()); + + Net::GameServer::connect(gameServerConnection, token); + Net::ChatServer::connect(chatServerConnection, token); sound.fadeOutMusic(1000); currentDialog = NULL; diff --git a/src/net/charserverhandler.h b/src/net/charserverhandler.h index 9ad11c6a..342641d7 100644 --- a/src/net/charserverhandler.h +++ b/src/net/charserverhandler.h @@ -45,9 +45,6 @@ class CharServerHandler : public MessageHandler mCharInfo = charInfo; } - void - setLoginData(LoginData *loginData) { mLoginData = loginData; }; - protected: void handleCharCreateResponse(MessageIn &msg); @@ -55,7 +52,6 @@ class CharServerHandler : public MessageHandler void handleCharSelectResponse(MessageIn &msg); - LoginData *mLoginData; LockedArray<LocalPlayer*> *mCharInfo; LocalPlayer* diff --git a/src/net/loginhandler.cpp b/src/net/loginhandler.cpp index 700fb75a..73be4b2f 100644 --- a/src/net/loginhandler.cpp +++ b/src/net/loginhandler.cpp @@ -24,11 +24,8 @@ #include "loginhandler.h" #include "messagein.h" -#include "network.h" #include "protocol.h" -#include "../log.h" -#include "../logindata.h" #include "../main.h" LoginHandler::LoginHandler() diff --git a/src/net/loginhandler.h b/src/net/loginhandler.h index 508ec0f5..5bac079c 100644 --- a/src/net/loginhandler.h +++ b/src/net/loginhandler.h @@ -26,22 +26,12 @@ #include "messagehandler.h" -#include "../lockedarray.h" - -class LocalPlayer; -class LoginData; - class LoginHandler : public MessageHandler { public: LoginHandler(); void handleMessage(MessageIn &msg); - - void setLoginData(LoginData *loginData) { mLoginData = loginData; }; - - protected: - LoginData *mLoginData; }; #endif diff --git a/src/net/maploginhandler.cpp b/src/net/maploginhandler.cpp deleted file mode 100644 index 323e07fb..00000000 --- a/src/net/maploginhandler.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - * The Mana World - * Copyright 2004 The Mana World Development Team - * - * This file is part of The Mana World. - * - * The Mana World is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * The Mana World is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with The Mana World; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id$ - */ - -#include "maploginhandler.h" - -#include "messagein.h" -#include "protocol.h" - -#include "../localplayer.h" -#include "../log.h" -#include "../main.h" - -MapLoginHandler::MapLoginHandler() -{ - static const Uint16 _messages[] = { - SMSG_LOGIN_SUCCESS, - 0x0081, - 0 - }; - handledMessages = _messages; -} - -void MapLoginHandler::handleMessage(MessageIn &msg) -{ - //unsigned char direction; - - switch (msg.getId()) - { - case SMSG_LOGIN_SUCCESS: - msg.readLong(); // server tick - //logger->log("Protocol: Player start position: (%d, %d), Direction: %d", - // player_node->mX, player_node->mY, direction); - state = STATE_GAME; - break; - - case 0x0081: - logger->log("Warning: Map server D/C"); - state = STATE_ERROR; - break; - } -} diff --git a/src/net/maploginhandler.h b/src/net/maploginhandler.h deleted file mode 100644 index 3f779753..00000000 --- a/src/net/maploginhandler.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * The Mana World - * Copyright 2004 The Mana World Development Team - * - * This file is part of The Mana World. - * - * The Mana World is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * The Mana World is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with The Mana World; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id$ - */ - -#ifndef _TMW_NET_MAPLOGINHANDLER_H -#define _TMW_NET_MAPLOGINHANDLER_H - -#include "messagehandler.h" - -class MapLoginHandler : public MessageHandler -{ - public: - MapLoginHandler(); - - void handleMessage(MessageIn &msg); -}; - -#endif |