From c9cb40c28e3ea73fb8ac83648f44285a1599791a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 18 Mar 2015 00:21:23 +0300 Subject: eathena: add partial support for packet SMSG_CHAR_CAPTCHA_NOT_SUPPORTED 0x07e9. --- 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(-) (limited to 'src/net/eathena') diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp index b4d3a6382..9d3ed3abc 100644 --- a/src/net/eathena/charserverhandler.cpp +++ b/src/net/eathena/charserverhandler.cpp @@ -92,6 +92,7 @@ CharServerHandler::CharServerHandler() : SMSG_CHAR_CHECK_RENAME, SMSG_CHAR_RENAME, SMSG_CHAR_CHANGE_SLOT, + SMSG_CHAR_CAPTCHA_NOT_SUPPORTED, 0 }; handledMessages = _messages; @@ -154,6 +155,10 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg) processCharChangeSlot(msg); break; + case SMSG_CHAR_CAPTCHA_NOT_SUPPORTED: + processCharCaptchaNotSupported(msg); + break; + default: break; } @@ -627,4 +632,11 @@ void CharServerHandler::processCharDeleteFailed(Net::MessageIn &msg) BLOCK_END("CharServerHandler::processCharDeleteFailed") } +void CharServerHandler::processCharCaptchaNotSupported(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readInt16("5"); + msg.readUInt8("1"); +} + } // namespace EAthena diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h index b93b7f44a..6cd2f8be5 100644 --- a/src/net/eathena/charserverhandler.h +++ b/src/net/eathena/charserverhandler.h @@ -104,6 +104,8 @@ class CharServerHandler final : public MessageHandler, static void processCharDeleteFailed(Net::MessageIn &msg); + static void processCharCaptchaNotSupported(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 29b0e02c1..63566351f 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -210,7 +210,7 @@ int16_t packet_lengths[] = // #0x07C0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 268, 0, 0, 0, 0, 0, 0, - 0, 15, 8, 6, 6, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 8, 6, 6, 0, 8, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 8, 25, 10, 0, 0, 0, //0 1 2 3 4 5 6 7 8 9 a b c d e f //0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index b482c246b..86b9ab57b 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -46,6 +46,7 @@ #define SMSG_CHAR_CHECK_RENAME 0x028e #define SMSG_CHAR_RENAME 0x0290 #define SMSG_CHAR_CHANGE_SLOT 0x08d5 +#define SMSG_CHAR_CAPTCHA_NOT_SUPPORTED 0x07e9 #define SMSG_CHAR_CREATE_FAILED 0x006e #define SMSG_CHAR_DELETE_SUCCEEDED 0x006f -- cgit v1.2.3-70-g09d2