From d18d370956e6f58970c7f828b79dbf86525949ea Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 18 Mar 2015 15:30:43 +0300 Subject: eathena: add partial support for packet SMSG_VENDING_OPEN_STATUS 0x0a28. --- src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + src/net/eathena/vendinghandler.cpp | 12 ++++++++++++ src/net/eathena/vendinghandler.h | 2 ++ 4 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src/net') diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index b5d286ee7..ebf630506 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -261,7 +261,7 @@ int16_t packet_lengths[] = // #0x0A00 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // #0x0A40 0, 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 dccaf107c..25d38396e 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -405,6 +405,7 @@ #define SMSG_VENDING_ITEMS_LIST 0x0800 #define SMSG_VENDING_BUY_ACK 0x0135 #define SMSG_VENDING_OPEN 0x0136 +#define SMSG_VENDING_OPEN_STATUS 0x0a28 #define SMSG_VENDING_REPORT 0x0137 #define SMSG_ELEMENTAL_UPDATE_STATUS 0x081e diff --git a/src/net/eathena/vendinghandler.cpp b/src/net/eathena/vendinghandler.cpp index 079dde1e2..27a43200f 100644 --- a/src/net/eathena/vendinghandler.cpp +++ b/src/net/eathena/vendinghandler.cpp @@ -59,6 +59,8 @@ VendingHandler::VendingHandler() : SMSG_VENDING_ITEMS_LIST, SMSG_VENDING_BUY_ACK, SMSG_VENDING_OPEN, + SMSG_VENDING_REPORT, + SMSG_VENDING_OPEN_STATUS, 0 }; handledMessages = _messages; @@ -98,6 +100,10 @@ void VendingHandler::handleMessage(Net::MessageIn &msg) processReport(msg); break; + case SMSG_VENDING_OPEN_STATUS: + processOpenStatus(msg); + break; + default: break; } @@ -198,6 +204,12 @@ void VendingHandler::processReport(Net::MessageIn &msg) msg.readInt16("amount"); } +void VendingHandler::processOpenStatus(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readUInt8("result"); +} + void VendingHandler::close() const { createOutPacket(CMSG_VENDING_CLOSE); diff --git a/src/net/eathena/vendinghandler.h b/src/net/eathena/vendinghandler.h index ba7059071..5fb9a3ef5 100644 --- a/src/net/eathena/vendinghandler.h +++ b/src/net/eathena/vendinghandler.h @@ -71,6 +71,8 @@ class VendingHandler final : public MessageHandler, static void processReport(Net::MessageIn &msg); + static void processOpenStatus(Net::MessageIn &msg); + static BuyDialog *mBuyDialog; }; -- cgit v1.2.3-60-g2f50