From 8f3d15a15e53ddda5930e0a10e17e19d85141ccb Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 12 Mar 2015 23:02:28 +0300 Subject: eathena: add partial support for packet SMSG_INSTANCE_DELETE 0x02ce. --- src/net/eathena/maphandler.cpp | 12 ++++++++++++ src/net/eathena/maphandler.h | 2 ++ src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/net/eathena/maphandler.cpp b/src/net/eathena/maphandler.cpp index 3e65855f3..e265db717 100644 --- a/src/net/eathena/maphandler.cpp +++ b/src/net/eathena/maphandler.cpp @@ -42,6 +42,7 @@ MapHandler::MapHandler() : SMSG_INSTANCE_START, SMSG_INSTANCE_CREATE, SMSG_INSTANCE_INFO, + SMSG_INSTANCE_DELETE, 0 }; handledMessages = _messages; @@ -64,6 +65,10 @@ void MapHandler::handleMessage(Net::MessageIn &msg) processInstanceInfo(msg); break; + case SMSG_INSTANCE_DELETE: + processInstanceDelete(msg); + break; + default: break; } @@ -90,4 +95,11 @@ void MapHandler::processInstanceInfo(Net::MessageIn &msg) msg.readInt32("no players close time"); } +void MapHandler::processInstanceDelete(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readInt32("flag"); + msg.readInt32("unused"); +} + } // namespace EAthena diff --git a/src/net/eathena/maphandler.h b/src/net/eathena/maphandler.h index ddbf45d9a..9b5499bf3 100644 --- a/src/net/eathena/maphandler.h +++ b/src/net/eathena/maphandler.h @@ -44,6 +44,8 @@ class MapHandler final : public MessageHandler, public Net::MapHandler void processInstanceCreate(Net::MessageIn &msg); void processInstanceInfo(Net::MessageIn &msg); + + void processInstanceDelete(Net::MessageIn &msg); }; } // namespace EAthena diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 46db6fc2f..2b78d47b4 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, 71, 0, 0, + 0, -1, 0, 0, 0, 30, 30, 0, 0, 3, 0, 65, 4, 71, 10, 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 22440e11d..4e3c6189d 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -417,6 +417,7 @@ #define SMSG_INSTANCE_START 0x02cb #define SMSG_INSTANCE_CREATE 0x02cc #define SMSG_INSTANCE_INFO 0x02cd +#define SMSG_INSTANCE_DELETE 0x02ce /********************************** * Packets from client to server * -- cgit v1.2.3-70-g09d2