From d6c67b73a497d16ac26badd49d6ef3e3a89823db Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 12 Mar 2015 22:14:49 +0300 Subject: eathena: add partial support for packet SMSG_INSTANCE_INFO 0x02cd. --- src/net/eathena/maphandler.cpp | 13 +++++++++++++ src/net/eathena/maphandler.h | 2 ++ src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + 4 files changed, 17 insertions(+), 1 deletion(-) (limited to 'src') 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 * -- cgit v1.2.3-70-g09d2