summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-06-13 00:43:25 +0300
committerAndrei Karas <akaras@inbox.ru>2013-06-13 00:43:25 +0300
commit9233c3936657f6dc4ca9c73d84ea8c045b3fc09d (patch)
treea7def2f0e6c8fcdaefd6f0f330da7e7eb6c9c0b0 /src/net
parentd3af59b8eedae98a49367e2ac37f2ab1b79c0557 (diff)
downloadmv-9233c3936657f6dc4ca9c73d84ea8c045b3fc09d.tar.gz
mv-9233c3936657f6dc4ca9c73d84ea8c045b3fc09d.tar.bz2
mv-9233c3936657f6dc4ca9c73d84ea8c045b3fc09d.tar.xz
mv-9233c3936657f6dc4ca9c73d84ea8c045b3fc09d.zip
move npc dialogs array from netcode.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/ea/npchandler.cpp13
-rw-r--r--src/net/ea/npchandler.h4
-rw-r--r--src/net/ea/playerhandler.cpp5
-rw-r--r--src/net/eathena/npchandler.cpp12
-rw-r--r--src/net/npchandler.h2
-rw-r--r--src/net/tmwa/npchandler.cpp12
6 files changed, 14 insertions, 34 deletions
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<int, NpcDialog*> 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