diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-03-10 21:03:04 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-03-10 21:03:04 +0300 |
commit | 38315e4cc40ec0990b1e4f4e6d814fafdd064aae (patch) | |
tree | 3f5fd2d9b5571b7f64b8a0bd32df9638d90749f4 | |
parent | 1bf045651a77b43f870236d7c64e05f47ca1861b (diff) | |
download | mv-38315e4cc40ec0990b1e4f4e6d814fafdd064aae.tar.gz mv-38315e4cc40ec0990b1e4f4e6d814fafdd064aae.tar.bz2 mv-38315e4cc40ec0990b1e4f4e6d814fafdd064aae.tar.xz mv-38315e4cc40ec0990b1e4f4e6d814fafdd064aae.zip |
eathena: add partial support for packet SMSG_CHAT_SETTINGS 0x00df.
-rw-r--r-- | src/net/eathena/chathandler.cpp | 17 | ||||
-rw-r--r-- | src/net/eathena/chathandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp index 611555ba5..dd232305c 100644 --- a/src/net/eathena/chathandler.cpp +++ b/src/net/eathena/chathandler.cpp @@ -81,6 +81,7 @@ ChatHandler::ChatHandler() : SMSG_CHAT_DESTROY, SMSG_CHAT_JOIN_FAILED, SMSG_CHAT_ADD_MEMBER, + SMSG_CHAT_SETTINGS, 0 }; handledMessages = _messages; @@ -181,6 +182,10 @@ void ChatHandler::handleMessage(Net::MessageIn &msg) processChatAddMember(msg); break; + case SMSG_CHAT_SETTINGS: + processChatSettings(msg); + break; + default: break; } @@ -816,4 +821,16 @@ void ChatHandler::processChatAddMember(Net::MessageIn &msg) msg.readString(24, "name"); } +void ChatHandler::processChatSettings(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + const int sz = msg.readInt16("len") - 17; + msg.readInt32("owner id"); + msg.readInt32("chat id"); + msg.readInt16("limit"); + msg.readInt16("users"); + msg.readUInt8("type"); + msg.readString(sz, "title"); +} + } // namespace EAthena diff --git a/src/net/eathena/chathandler.h b/src/net/eathena/chathandler.h index e5ea32ed4..5ca4899f0 100644 --- a/src/net/eathena/chathandler.h +++ b/src/net/eathena/chathandler.h @@ -135,6 +135,8 @@ class ChatHandler final : public MessageHandler, public Ea::ChatHandler static void processChatJoinFailed(Net::MessageIn &msg); static void processChatAddMember(Net::MessageIn &msg); + + static void processChatSettings(Net::MessageIn &msg); }; } // namespace EAthena diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index e6535fda4..a929d9d6b 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -265,6 +265,7 @@ #define SMSG_CHAT_JOIN_ACK 0x00db #define SMSG_CHAT_ADD_MEMBER 0x00dc #define SMSG_CHAT_LEAVE 0x00dd +#define SMSG_CHAT_SETTINGS 0x00df #define SMSG_CHAT_JOIN_CHANNEL 0x0b08 #define SMSG_MAIL_OPEN_WINDOW 0x0260 |