diff options
Diffstat (limited to 'src/net/eathena/npchandler.cpp')
-rw-r--r-- | src/net/eathena/npchandler.cpp | 97 |
1 files changed, 3 insertions, 94 deletions
diff --git a/src/net/eathena/npchandler.cpp b/src/net/eathena/npchandler.cpp index 6ce6afac2..f8e8c1249 100644 --- a/src/net/eathena/npchandler.cpp +++ b/src/net/eathena/npchandler.cpp @@ -28,14 +28,15 @@ #include "gui/widgets/createwidget.h" +#include "net/messagein.h" + +#include "net/ea/eaprotocol.h" #include "net/ea/npcrecv.h" #include "net/eathena/messageout.h" #include "net/eathena/npcrecv.h" #include "net/eathena/protocol.h" -#include "net/ea/eaprotocol.h" - #include "debug.h" extern Net::NpcHandler *npcHandler; @@ -44,103 +45,11 @@ namespace EAthena { NpcHandler::NpcHandler() : - MessageHandler(), Ea::NpcHandler() { - static const uint16_t _messages[] = - { - SMSG_NPC_CHOICE, - SMSG_NPC_MESSAGE, - SMSG_NPC_NEXT, - SMSG_NPC_CLOSE, - SMSG_NPC_INT_INPUT, - SMSG_NPC_STR_INPUT, - SMSG_NPC_CUTIN, - SMSG_NPC_VIEWPOINT, - SMSG_NPC_SHOW_PROGRESS_BAR, - SMSG_NPC_CLOSE_TIMEOUT, - SMSG_NPC_COMMAND, - SMSG_NPC_CHANGETITLE, - SMSG_NPC_AREA, - SMSG_NPC_SHOW_DIGIT, - SMSG_NPC_PROGRESS_BAR_ABORT, - 0 - }; - handledMessages = _messages; npcHandler = this; } -void NpcHandler::handleMessage(Net::MessageIn &msg) -{ - switch (msg.getId()) - { - case SMSG_NPC_CHOICE: - Ea::NpcRecv::processNpcChoice(msg); - break; - - case SMSG_NPC_MESSAGE: - Ea::NpcRecv::processNpcMessage(msg); - break; - - case SMSG_NPC_CLOSE: - Ea::NpcRecv::processNpcClose(msg); - break; - - case SMSG_NPC_NEXT: - Ea::NpcRecv::processNpcNext(msg); - break; - - case SMSG_NPC_INT_INPUT: - Ea::NpcRecv::processNpcIntInput(msg); - break; - - case SMSG_NPC_STR_INPUT: - Ea::NpcRecv::processNpcStrInput(msg); - break; - - case SMSG_NPC_CUTIN: - NpcRecv::processNpcCutin(msg); - break; - - case SMSG_NPC_VIEWPOINT: - NpcRecv::processNpcViewPoint(msg); - break; - - case SMSG_NPC_SHOW_PROGRESS_BAR: - NpcRecv::processNpcShowProgressBar(msg); - break; - - case SMSG_NPC_CLOSE_TIMEOUT: - NpcRecv::processNpcCloseTimeout(msg); - break; - - case SMSG_NPC_COMMAND: - Ea::NpcRecv::processNpcCommand(msg); - break; - - case SMSG_NPC_CHANGETITLE: - Ea::NpcRecv::processChangeTitle(msg); - break; - - case SMSG_NPC_AREA: - NpcRecv::processArea(msg); - break; - - case SMSG_NPC_SHOW_DIGIT: - NpcRecv::processShowDigit(msg); - break; - - case SMSG_NPC_PROGRESS_BAR_ABORT: - NpcRecv::processProgressBarAbort(msg); - break; - - default: - break; - } - - Ea::NpcRecv::mDialog = nullptr; -} - void NpcHandler::talk(const BeingId npcId) const { createOutPacket(CMSG_NPC_TALK); |