diff options
author | Yohann Ferreira <bertram@cegetel.net> | 2005-12-27 03:42:40 +0000 |
---|---|---|
committer | Yohann Ferreira <bertram@cegetel.net> | 2005-12-27 03:42:40 +0000 |
commit | 205579c3be58537060785d174f9f67c89444a21b (patch) | |
tree | 31c7c8e0af476e70259650e1c577eaf299f3fc78 /src/main.cpp | |
parent | ad9ecbf35e0d986d704deba6f8f20ad72a94a99e (diff) | |
download | manaserv-205579c3be58537060785d174f9f67c89444a21b.tar.gz manaserv-205579c3be58537060785d174f9f67c89444a21b.tar.bz2 manaserv-205579c3be58537060785d174f9f67c89444a21b.tar.xz manaserv-205579c3be58537060785d174f9f67c89444a21b.zip |
Implemented common chat handling, except for chatting in channels. Also the Channel registering/unregistering isn't there yet and the commands needs to be implemented. Added a small slangs filter to reduce bad words in account names and in conversations a little.
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/src/main.cpp b/src/main.cpp index 052f86c5..46a87b9b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -90,7 +90,8 @@ ChatHandler *chatHandler = new ChatHandler(); /** Core game message handler */ GameHandler *gameHandler = new GameHandler(); -ConnectionHandler connectionHandler; /**< Primary connection handler */ +/** Primary connection handler */ +ConnectionHandler *connectionHandler = new ConnectionHandler(); /** * SDL timer callback, sends a <code>TMW_WORLD_TICK</code> event. @@ -217,6 +218,7 @@ void deinitialize() delete accountHandler; delete chatHandler; delete gameHandler; + delete connectionHandler; // Get rid of persistent data storage tmwserv::Storage::destroy(); @@ -298,29 +300,29 @@ int main(int argc, char *argv[]) // // Register message handlers - connectionHandler.registerHandler(CMSG_LOGIN, accountHandler); - connectionHandler.registerHandler(CMSG_LOGOUT, accountHandler); - connectionHandler.registerHandler(CMSG_REGISTER, accountHandler); - connectionHandler.registerHandler(CMSG_UNREGISTER, accountHandler); - connectionHandler.registerHandler(CMSG_CHAR_CREATE, accountHandler); - connectionHandler.registerHandler(CMSG_CHAR_SELECT, accountHandler); - connectionHandler.registerHandler(CMSG_CHAR_DELETE, accountHandler); - connectionHandler.registerHandler(CMSG_CHAR_LIST, accountHandler); - - connectionHandler.registerHandler(CMSG_SAY, chatHandler); - connectionHandler.registerHandler(CMSG_ANNOUNCE, chatHandler); - - connectionHandler.registerHandler(CMSG_PICKUP, gameHandler); - connectionHandler.registerHandler(CMSG_USE_OBJECT, gameHandler); - connectionHandler.registerHandler(CMSG_USE_ITEM, gameHandler); // NOTE: this is probably redundant (CMSG_USE_OBJECT) - connectionHandler.registerHandler(CMSG_TARGET, gameHandler); - connectionHandler.registerHandler(CMSG_WALK, gameHandler); - connectionHandler.registerHandler(CMSG_START_TRADE, gameHandler); - connectionHandler.registerHandler(CMSG_START_TALK, gameHandler); - connectionHandler.registerHandler(CMSG_REQ_TRADE, gameHandler); - connectionHandler.registerHandler(CMSG_EQUIP, gameHandler); - - session->startListen(&connectionHandler, SERVER_PORT); + connectionHandler->registerHandler(CMSG_LOGIN, accountHandler); + connectionHandler->registerHandler(CMSG_LOGOUT, accountHandler); + connectionHandler->registerHandler(CMSG_REGISTER, accountHandler); + connectionHandler->registerHandler(CMSG_UNREGISTER, accountHandler); + connectionHandler->registerHandler(CMSG_CHAR_CREATE, accountHandler); + connectionHandler->registerHandler(CMSG_CHAR_SELECT, accountHandler); + connectionHandler->registerHandler(CMSG_CHAR_DELETE, accountHandler); + connectionHandler->registerHandler(CMSG_CHAR_LIST, accountHandler); + + connectionHandler->registerHandler(CMSG_SAY, chatHandler); + connectionHandler->registerHandler(CMSG_ANNOUNCE, chatHandler); + + connectionHandler->registerHandler(CMSG_PICKUP, gameHandler); + connectionHandler->registerHandler(CMSG_USE_OBJECT, gameHandler); + connectionHandler->registerHandler(CMSG_USE_ITEM, gameHandler); // NOTE: this is probably redundant (CMSG_USE_OBJECT) + connectionHandler->registerHandler(CMSG_TARGET, gameHandler); + connectionHandler->registerHandler(CMSG_WALK, gameHandler); + connectionHandler->registerHandler(CMSG_START_TRADE, gameHandler); + connectionHandler->registerHandler(CMSG_START_TALK, gameHandler); + connectionHandler->registerHandler(CMSG_REQ_TRADE, gameHandler); + connectionHandler->registerHandler(CMSG_EQUIP, gameHandler); + + session->startListen(connectionHandler, SERVER_PORT); LOG_INFO("Listening on port " << SERVER_PORT << "...", 0) using namespace tmwserv; @@ -352,7 +354,7 @@ int main(int argc, char *argv[]) // - Handle all messages that are in the message queue // - Update all active objects/beings - state.update(connectionHandler); + state.update(*connectionHandler); } else if (event.type == SDL_QUIT) { running = false; |