From f1e11793e780d41f2200fa7344328488d9275dfd Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 18 Mar 2015 12:14:18 +0300 Subject: eathena: add partial support for packet SMSG_CHAR_DELETE2_CANCEL_ACK 0x082c. --- src/net/eathena/charserverhandler.cpp | 12 ++++++++++++ src/net/eathena/charserverhandler.h | 2 ++ src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp index 7b67caa7c..8034d873b 100644 --- a/src/net/eathena/charserverhandler.cpp +++ b/src/net/eathena/charserverhandler.cpp @@ -95,6 +95,7 @@ CharServerHandler::CharServerHandler() : SMSG_CHAR_CAPTCHA_NOT_SUPPORTED, SMSG_CHAR_DELETE2_ACK, SMSG_CHAR_DELETE2_ACCEPT_ACTUAL_ACK, + SMSG_CHAR_DELETE2_CANCEL_ACK, 0 }; handledMessages = _messages; @@ -169,6 +170,10 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg) processCharDelete2AcceptActual(msg); break; + case SMSG_CHAR_DELETE2_CANCEL_ACK: + processCharDelete2CancelAck(msg); + break; + default: break; } @@ -664,4 +669,11 @@ void CharServerHandler::processCharDelete2AcceptActual(Net::MessageIn &msg) msg.readInt32("result"); } +void CharServerHandler::processCharDelete2CancelAck(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readInt32("char id"); + msg.readInt32("result"); +} + } // namespace EAthena diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h index edb6db570..ef1e71851 100644 --- a/src/net/eathena/charserverhandler.h +++ b/src/net/eathena/charserverhandler.h @@ -110,6 +110,8 @@ class CharServerHandler final : public MessageHandler, static void processCharDelete2AcceptActual(Net::MessageIn &msg); + static void processCharDelete2CancelAck(Net::MessageIn &msg); + private: static std::string mNewName; static uint32_t mPinSeed; diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 9d9e0eb34..22dbaf1a8 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -217,7 +217,7 @@ int16_t packet_lengths[] = // #0x0800 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 20, 3, 0, 8, -1, 86, -1, 6, 0, -1, 0, 4, 10, 10, 22, 8, 0, - 0, 0, 0, 0, 6, 0, -1, 3, 14, 0, 10, 0, 0, -1, 0, 0, + 0, 0, 0, 0, 6, 0, -1, 3, 14, 0, 10, 0, 10, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 5, 0, 0, 6, 26, 0, // #0x0840 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index f4947736f..85256de0f 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -53,6 +53,7 @@ #define SMSG_CHAR_DELETE_FAILED 0x0070 #define SMSG_CHAR_DELETE2_ACK 0x0828 #define SMSG_CHAR_DELETE2_ACCEPT_ACTUAL_ACK 0x082a +#define SMSG_CHAR_DELETE2_CANCEL_ACK 0x082c #define SMSG_CHAR_MAP_INFO 0x0071 #define SMSG_CHAR_SWITCH_RESPONSE 0x00b3 -- cgit v1.2.3-70-g09d2