summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-11-30 18:49:42 +0300
committerAndrei Karas <akaras@inbox.ru>2014-11-30 18:49:42 +0300
commitb205c5b9e6614a2821f2a44dc104306a27ade7ba (patch)
tree510b4d126b64b9db4abaedd3f7a708bb9e0e0435
parentfde614c1e6e944b4805e7e6a89689b9d546330ad (diff)
downloadplus-b205c5b9e6614a2821f2a44dc104306a27ade7ba.tar.gz
plus-b205c5b9e6614a2821f2a44dc104306a27ade7ba.tar.bz2
plus-b205c5b9e6614a2821f2a44dc104306a27ade7ba.tar.xz
plus-b205c5b9e6614a2821f2a44dc104306a27ade7ba.zip
eathena: add packet SMSG_NPC_CHANGETITLE 0x0b06.
-rw-r--r--src/net/ea/npchandler.cpp9
-rw-r--r--src/net/ea/npchandler.h2
-rw-r--r--src/net/eathena/npchandler.cpp8
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h2
-rw-r--r--src/net/tmwa/npchandler.cpp9
-rw-r--r--src/net/tmwa/npchandler.h2
7 files changed, 21 insertions, 13 deletions
diff --git a/src/net/ea/npchandler.cpp b/src/net/ea/npchandler.cpp
index a436b6cbe..aa545d7d8 100644
--- a/src/net/ea/npchandler.cpp
+++ b/src/net/ea/npchandler.cpp
@@ -201,4 +201,13 @@ void NpcHandler::processNpcCommand(Net::MessageIn &msg)
}
}
+void NpcHandler::processChangeTitle(Net::MessageIn &msg)
+{
+ npcHandler->getNpc(msg);
+ mRequestLang = false;
+ const std::string str = msg.readString(-1, "title");
+ if (mDialog)
+ mDialog->setCaption(str);
+}
+
} // namespace Ea
diff --git a/src/net/ea/npchandler.h b/src/net/ea/npchandler.h
index d518c6416..51e06e3c7 100644
--- a/src/net/ea/npchandler.h
+++ b/src/net/ea/npchandler.h
@@ -56,6 +56,8 @@ class NpcHandler notfinal : public Net::NpcHandler
static void processNpcCommand(Net::MessageIn &msg);
+ static void processChangeTitle(Net::MessageIn &msg);
+
protected:
NpcHandler();
diff --git a/src/net/eathena/npchandler.cpp b/src/net/eathena/npchandler.cpp
index 0d1e8f4f8..c4fd98dd9 100644
--- a/src/net/eathena/npchandler.cpp
+++ b/src/net/eathena/npchandler.cpp
@@ -55,6 +55,7 @@ NpcHandler::NpcHandler() :
SMSG_NPC_SHOW_PROGRESS_BAR,
SMSG_NPC_CLOSE_TIMEOUT,
SMSG_NPC_COMMAND,
+ SMSG_NPC_CHANGETITLE,
0
};
handledMessages = _messages;
@@ -109,6 +110,10 @@ void NpcHandler::handleMessage(Net::MessageIn &msg)
processNpcCommand(msg);
break;
+ case SMSG_NPC_CHANGETITLE:
+ processChangeTitle(msg);
+ break;
+
default:
break;
}
@@ -261,7 +266,8 @@ void NpcHandler::selectAutoSpell(const int skillId) const
int NpcHandler::getNpc(Net::MessageIn &msg)
{
if (msg.getId() == SMSG_NPC_CHOICE
- || msg.getId() == SMSG_NPC_MESSAGE)
+ || msg.getId() == SMSG_NPC_MESSAGE
+ || msg.getId() == SMSG_NPC_CHANGETITLE)
{
msg.readInt16("len");
}
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index cd1b69f93..1945f4c0d 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -281,7 +281,7 @@ int16_t packet_lengths[] =
//0 1 2 3 4 5 6 7 8 9 a b c d e f
//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// #0x0B00
- 16, -1, 10, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, -1, 10, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 0ac0a1fcc..ccbf2ac19 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -154,6 +154,7 @@
#define SMSG_NPC_INT_INPUT 0x0142 /**< Integer input */
#define SMSG_NPC_STR_INPUT 0x01d4 /**< String input */
#define SMSG_NPC_SHOW_PROGRESS_BAR 0x02f0
+#define SMSG_NPC_CHANGETITLE 0x0b06
#define SMSG_PLAYER_CHAT 0x008e /**< Player talks */
#define SMSG_WHISPER 0x0097 /**< Whisper Recieved */
#define SMSG_WHISPER_RESPONSE 0x09df
@@ -315,6 +316,7 @@
#define SMSG_MAP_MUSIC 0x0b05
+
/**********************************
* Packets from client to server *
**********************************/
diff --git a/src/net/tmwa/npchandler.cpp b/src/net/tmwa/npchandler.cpp
index 647642356..6a67dccc1 100644
--- a/src/net/tmwa/npchandler.cpp
+++ b/src/net/tmwa/npchandler.cpp
@@ -289,13 +289,4 @@ int NpcHandler::getNpc(Net::MessageIn &msg)
return npcId;
}
-void NpcHandler::processChangeTitle(Net::MessageIn &msg)
-{
- npcHandler->getNpc(msg);
- mRequestLang = false;
- const std::string str = msg.readString(-1, "title");
- if (mDialog)
- mDialog->setCaption(str);
-}
-
} // namespace TmwAthena
diff --git a/src/net/tmwa/npchandler.h b/src/net/tmwa/npchandler.h
index f399a98d9..c9a64d73f 100644
--- a/src/net/tmwa/npchandler.h
+++ b/src/net/tmwa/npchandler.h
@@ -69,8 +69,6 @@ class NpcHandler final : public MessageHandler, public Ea::NpcHandler
int getNpc(Net::MessageIn &msg) override final;
- static void processChangeTitle(Net::MessageIn &msg);
-
void produceMix(const int nameId,
const int materialId1,
const int materialId2,