summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-18 12:55:28 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-18 12:55:28 +0300
commiteb351e02c9796a94d70734e54c5eb0f01ff623e7 (patch)
treee7521f43c86236ef1661d22cf3c5ae182df48b16
parent0b5fa147dc1f6a808ef3c645d03bcb9eb0a1b17f (diff)
downloadmanaplus-eb351e02c9796a94d70734e54c5eb0f01ff623e7.tar.gz
manaplus-eb351e02c9796a94d70734e54c5eb0f01ff623e7.tar.bz2
manaplus-eb351e02c9796a94d70734e54c5eb0f01ff623e7.tar.xz
manaplus-eb351e02c9796a94d70734e54c5eb0f01ff623e7.zip
eathena: add partial support for packet SMSG_SCRIPT_MESSAGE 0x08b3.
-rw-r--r--src/net/eathena/chathandler.cpp12
-rw-r--r--src/net/eathena/chathandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 16 insertions, 1 deletions
diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp
index 1748f0c7a..fad5f2c1b 100644
--- a/src/net/eathena/chathandler.cpp
+++ b/src/net/eathena/chathandler.cpp
@@ -90,6 +90,7 @@ ChatHandler::ChatHandler() :
SMSG_CHAT_SILENCE,
SMSG_CHAT_TALKIE_BOX,
SMSG_BATTLE_CHAT_MESSAGE,
+ SMSG_SCRIPT_MESSAGE,
0
};
handledMessages = _messages;
@@ -226,6 +227,10 @@ void ChatHandler::handleMessage(Net::MessageIn &msg)
processBattleChatMessage(msg);
break;
+ case SMSG_SCRIPT_MESSAGE:
+ processScriptMessage(msg);
+ break;
+
default:
break;
}
@@ -926,5 +931,12 @@ void ChatHandler::processBattleChatMessage(Net::MessageIn &msg)
msg.readString(sz, "message");
}
+void ChatHandler::processScriptMessage(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+ const int sz = msg.readInt16("len") - 8;
+ msg.readInt32("being id");
+ msg.readString(sz, "message");
+}
} // namespace EAthena
diff --git a/src/net/eathena/chathandler.h b/src/net/eathena/chathandler.h
index c8e5dd3e6..37ad3ad5e 100644
--- a/src/net/eathena/chathandler.h
+++ b/src/net/eathena/chathandler.h
@@ -153,6 +153,8 @@ class ChatHandler final : public MessageHandler, public Ea::ChatHandler
static void processChatTalkieBox(Net::MessageIn &msg);
static void processBattleChatMessage(Net::MessageIn &msg);
+
+ static void processScriptMessage(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index a349fb33f..31100d73b 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -228,7 +228,7 @@ int16_t packet_lengths[] =
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, 12, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, -1, 0, 0, 0, 0, 0, 12, 10, 0, 0, 0, 0, 0,
// #0x08C0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 394103ca9..2af772dc6 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -307,6 +307,7 @@
#define SMSG_MONSTER_INFO 0x018c
#define SMSG_PLAYER_HP 0x080e
#define SMSG_PVP_INFO 0x0210
+#define SMSG_SCRIPT_MESSAGE 0x08b3
#define SMSG_CHAT_IGNORE_LIST 0x00d4
#define SMSG_CHAT_CREATE_ACK 0x00d6