diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-03-12 22:14:49 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-03-12 22:14:49 +0300 |
commit | d6c67b73a497d16ac26badd49d6ef3e3a89823db (patch) | |
tree | 911a1fa6c998224be87ea2faaff20cd09f229c87 | |
parent | 042bbddb13934321dd1d44373eb1084732e81bee (diff) | |
download | mv-d6c67b73a497d16ac26badd49d6ef3e3a89823db.tar.gz mv-d6c67b73a497d16ac26badd49d6ef3e3a89823db.tar.bz2 mv-d6c67b73a497d16ac26badd49d6ef3e3a89823db.tar.xz mv-d6c67b73a497d16ac26badd49d6ef3e3a89823db.zip |
eathena: add partial support for packet SMSG_INSTANCE_INFO 0x02cd.
-rw-r--r-- | src/net/eathena/maphandler.cpp | 13 | ||||
-rw-r--r-- | src/net/eathena/maphandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/packets.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
4 files changed, 17 insertions, 1 deletions
diff --git a/src/net/eathena/maphandler.cpp b/src/net/eathena/maphandler.cpp index dfd11c53c..3e65855f3 100644 --- a/src/net/eathena/maphandler.cpp +++ b/src/net/eathena/maphandler.cpp @@ -41,6 +41,7 @@ MapHandler::MapHandler() : { SMSG_INSTANCE_START, SMSG_INSTANCE_CREATE, + SMSG_INSTANCE_INFO, 0 }; handledMessages = _messages; @@ -59,6 +60,10 @@ void MapHandler::handleMessage(Net::MessageIn &msg) processInstanceCreate(msg); break; + case SMSG_INSTANCE_INFO: + processInstanceInfo(msg); + break; + default: break; } @@ -77,4 +82,12 @@ void MapHandler::processInstanceCreate(Net::MessageIn &msg) msg.readInt16("flag"); } +void MapHandler::processInstanceInfo(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readString(61, "instance name"); + msg.readInt32("remaining time"); + msg.readInt32("no players close time"); +} + } // namespace EAthena diff --git a/src/net/eathena/maphandler.h b/src/net/eathena/maphandler.h index 5e60a5527..ddbf45d9a 100644 --- a/src/net/eathena/maphandler.h +++ b/src/net/eathena/maphandler.h @@ -42,6 +42,8 @@ class MapHandler final : public MessageHandler, public Net::MapHandler void processInstanceStart(Net::MessageIn &msg); void processInstanceCreate(Net::MessageIn &msg); + + void processInstanceInfo(Net::MessageIn &msg); }; } // namespace EAthena diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index b3512bf82..46db6fc2f 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -98,7 +98,7 @@ int16_t packet_lengths[] = 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 107, 6, -1, 0, 7, 22, 191, 0, 8, 0, 0, 0, 0, // #0x02C0 - 0, -1, 0, 0, 0, 30, 30, 0, 0, 3, 0, 65, 4, 0, 0, 0, + 0, -1, 0, 0, 0, 30, 30, 0, 0, 3, 0, 65, 4, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 10, 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 847f7b67a..22440e11d 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -416,6 +416,7 @@ #define SMSG_INSTANCE_START 0x02cb #define SMSG_INSTANCE_CREATE 0x02cc +#define SMSG_INSTANCE_INFO 0x02cd /********************************** * Packets from client to server * |