From 9233c3936657f6dc4ca9c73d84ea8c045b3fc09d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 13 Jun 2013 00:43:25 +0300 Subject: move npc dialogs array from netcode. --- src/net/ea/npchandler.cpp | 13 ------------- src/net/ea/npchandler.h | 4 ---- src/net/ea/playerhandler.cpp | 5 ++--- src/net/eathena/npchandler.cpp | 12 ++++++------ src/net/npchandler.h | 2 -- src/net/tmwa/npchandler.cpp | 12 ++++++------ 6 files changed, 14 insertions(+), 34 deletions(-) (limited to 'src/net') diff --git a/src/net/ea/npchandler.cpp b/src/net/ea/npchandler.cpp index 78a46f630..654a783b3 100644 --- a/src/net/ea/npchandler.cpp +++ b/src/net/ea/npchandler.cpp @@ -30,7 +30,6 @@ namespace Ea { NpcHandler::NpcHandler() : - mNpcDialogs(), mDialog(nullptr) { } @@ -49,18 +48,6 @@ void NpcHandler::endShopping(const int beingId A_UNUSED) const { } -void NpcHandler::clearDialogs() -{ - NpcDialogs::iterator it = mNpcDialogs.begin(); - const NpcDialogs::iterator it_end = mNpcDialogs.end(); - while (it != it_end) - { - delete (*it).second; - ++ it; - } - mNpcDialogs.clear(); -} - void NpcHandler::processNpcChoice(Net::MessageIn &msg) { if (mDialog) diff --git a/src/net/ea/npchandler.h b/src/net/ea/npchandler.h index 9fe07f531..9c50b8c50 100644 --- a/src/net/ea/npchandler.h +++ b/src/net/ea/npchandler.h @@ -48,8 +48,6 @@ class NpcHandler : public Net::NpcHandler void endShopping(int beingId) const override; - void clearDialogs() override; - virtual int getNpc(Net::MessageIn &msg, bool haveLength) A_WARN_UNUSED = 0; @@ -66,8 +64,6 @@ class NpcHandler : public Net::NpcHandler void processNpcStrInput(Net::MessageIn &msg); protected: - typedef std::map NpcDialogs; - NpcDialogs mNpcDialogs; NpcDialog *mDialog; }; diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp index 309888d50..c52febaf9 100644 --- a/src/net/ea/playerhandler.cpp +++ b/src/net/ea/playerhandler.cpp @@ -30,6 +30,7 @@ #include "gui/ministatuswindow.h" #include "gui/okdialog.h" +#include "gui/npcdialog.h" #include "gui/skilldialog.h" #include "gui/statuswindow.h" #include "gui/viewport.h" @@ -77,9 +78,7 @@ namespace if (viewport) viewport->closePopupMenu(); - Net::NpcHandler *const handler = Net::getNpcHandler(); - if (handler) - handler->clearDialogs(); + NpcDialog::clearDialogs(); if (player_node) player_node->respawn(); } diff --git a/src/net/eathena/npchandler.cpp b/src/net/eathena/npchandler.cpp index fc5744bfd..2543c3b41 100644 --- a/src/net/eathena/npchandler.cpp +++ b/src/net/eathena/npchandler.cpp @@ -130,15 +130,15 @@ void NpcHandler::closeDialog(const int npcId) MessageOut outMsg(CMSG_NPC_CLOSE); outMsg.writeInt32(npcId); - const NpcDialogs::iterator it = mNpcDialogs.find(npcId); - if (it != mNpcDialogs.end()) + const NpcDialogs::iterator it = NpcDialog::mNpcDialogs.find(npcId); + if (it != NpcDialog::mNpcDialogs.end()) { NpcDialog *const dialog = (*it).second; if (dialog) dialog->close(); if (dialog == mDialog) mDialog = nullptr; - mNpcDialogs.erase(it); + NpcDialog::mNpcDialogs.erase(it); } } @@ -205,10 +205,10 @@ int NpcHandler::getNpc(Net::MessageIn &msg, const bool haveLength) const int npcId = msg.readInt32(); - const NpcDialogs::const_iterator diag = mNpcDialogs.find(npcId); + const NpcDialogs::const_iterator diag = NpcDialog::mNpcDialogs.find(npcId); mDialog = nullptr; - if (diag == mNpcDialogs.end()) + if (diag == NpcDialog::mNpcDialogs.end()) { // Empty dialogs don't help if (msg.getId() == SMSG_NPC_CLOSE) @@ -227,7 +227,7 @@ int NpcHandler::getNpc(Net::MessageIn &msg, const bool haveLength) mDialog->saveCamera(); if (player_node) player_node->stopWalking(false); - mNpcDialogs[npcId] = mDialog; + NpcDialog::mNpcDialogs[npcId] = mDialog; } } else diff --git a/src/net/npchandler.h b/src/net/npchandler.h index ae53e8d0e..8ed0c26c6 100644 --- a/src/net/npchandler.h +++ b/src/net/npchandler.h @@ -65,8 +65,6 @@ class NpcHandler const int amount) const = 0; virtual void endShopping(const int beingId) const = 0; - - virtual void clearDialogs() = 0; }; } // namespace Net diff --git a/src/net/tmwa/npchandler.cpp b/src/net/tmwa/npchandler.cpp index 36eca01aa..ddbc6a220 100644 --- a/src/net/tmwa/npchandler.cpp +++ b/src/net/tmwa/npchandler.cpp @@ -129,15 +129,15 @@ void NpcHandler::closeDialog(const int npcId) MessageOut outMsg(CMSG_NPC_CLOSE); outMsg.writeInt32(npcId); - const NpcDialogs::iterator it = mNpcDialogs.find(npcId); - if (it != mNpcDialogs.end()) + const NpcDialogs::iterator it = NpcDialog::mNpcDialogs.find(npcId); + if (it != NpcDialog::mNpcDialogs.end()) { NpcDialog *const dialog = (*it).second; if (dialog) dialog->close(); if (dialog == mDialog) mDialog = nullptr; - mNpcDialogs.erase(it); + NpcDialog::mNpcDialogs.erase(it); } } @@ -214,10 +214,10 @@ int NpcHandler::getNpc(Net::MessageIn &msg, const bool haveLength) const int npcId = msg.readInt32(); - const NpcDialogs::const_iterator diag = mNpcDialogs.find(npcId); + const NpcDialogs::const_iterator diag = NpcDialog::mNpcDialogs.find(npcId); mDialog = nullptr; - if (diag == mNpcDialogs.end()) + if (diag == NpcDialog::mNpcDialogs.end()) { // Empty dialogs don't help if (msg.getId() == SMSG_NPC_CLOSE) @@ -236,7 +236,7 @@ int NpcHandler::getNpc(Net::MessageIn &msg, const bool haveLength) mDialog->saveCamera(); if (player_node) player_node->stopWalking(false); - mNpcDialogs[npcId] = mDialog; + NpcDialog::mNpcDialogs[npcId] = mDialog; } } else -- cgit v1.2.3-70-g09d2