From 2c08eba0c8abd2eb3c09b1a916a5f6693c6ae7c0 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 12 Mar 2015 17:55:17 +0300 Subject: eathena: add partial support for packet SMSG_MAIL_RETURN 0x0274. --- src/net/eathena/mailhandler.cpp | 13 +++++++++++++ src/net/eathena/mailhandler.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/mailhandler.cpp b/src/net/eathena/mailhandler.cpp index 44234cb04..cf4a0c290 100644 --- a/src/net/eathena/mailhandler.cpp +++ b/src/net/eathena/mailhandler.cpp @@ -47,6 +47,7 @@ MailHandler::MailHandler() : SMSG_MAIL_NEW_MAIL, SMSG_MAIL_SET_ATTACHMENT_ACK, SMSG_MAIL_DELETE_MAIL_ACK, + SMSG_MAIL_RETURN, 0 }; handledMessages = _messages; @@ -89,6 +90,10 @@ void MailHandler::handleMessage(Net::MessageIn &msg) processDeleteAck(msg); break; + case SMSG_MAIL_RETURN: + processMailReturn(msg); + break; + default: break; } @@ -194,6 +199,14 @@ void MailHandler::processDeleteAck(Net::MessageIn &msg) msg.readInt16("fail flag"); } +void MailHandler::processMailReturn(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + + msg.readInt32("message id"); + msg.readInt16("fail flag"); +} + void MailHandler::refresh() { createOutPacket(CMSG_MAIL_REFRESH_INBOX); diff --git a/src/net/eathena/mailhandler.h b/src/net/eathena/mailhandler.h index 0630b1988..92ecc9eef 100644 --- a/src/net/eathena/mailhandler.h +++ b/src/net/eathena/mailhandler.h @@ -72,6 +72,8 @@ class MailHandler final : public MessageHandler, public Net::MailHandler static void processSetAttachmentAck(Net::MessageIn &msg); static void processDeleteAck(Net::MessageIn &msg); + + static void processMailReturn(Net::MessageIn &msg); }; } // namespace EAthena diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 1f3804e7e..980bd1e7a 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -91,7 +91,7 @@ int16_t packet_lengths[] = -1, 0, -1, 0, 0, 3, 0, 0, 0, 3, 70, 0, 0, 0, 0, 0, 3, 0, -1, 3, 0, 5, 5, 8, 0, 0, -1, 0, 0, 4, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // #0x0280 0, 0, 0, 6, 14, 0, 0, -1, 0, 12, 18, 0, 0, 0, 4, 0, 4, 4, 0, 0, 0, 0, 0, 0, 8, 6, 0, 80, 0, -1, 0, 0, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 44517b6f6..bb8b8bfa0 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -315,6 +315,7 @@ #define SMSG_MAIL_SET_ATTACHMENT_ACK 0x0255 #define SMSG_MAIL_DELETE_MAIL_ACK 0x0257 #define SMSG_MAIL_OPEN_WINDOW 0x0260 +#define SMSG_MAIL_RETURN 0x0274 #define SMSG_FAMILY_ASK_FOR_CHILD 0x01f6 #define SMSG_FAMILY_CALL_PARTNER 0x01e6 -- cgit v1.2.3-70-g09d2