From e3163de9297e06ed4e9bfa4cbaaca0c757222b81 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 26 Sep 2018 20:00:11 +0300 Subject: Add packet SMSG_INVENTORY_START 0x0b08. --- src/net/eathena/inventoryrecv.cpp | 22 ++++++++++++++++++++++ src/net/eathena/inventoryrecv.h | 3 +++ src/net/eathena/packetsin.inc | 26 +++++++++++++++++++++++++- 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/src/net/eathena/inventoryrecv.cpp b/src/net/eathena/inventoryrecv.cpp index 45593aba1..3f8dbb7b1 100644 --- a/src/net/eathena/inventoryrecv.cpp +++ b/src/net/eathena/inventoryrecv.cpp @@ -1512,4 +1512,26 @@ void InventoryRecv::processOverWeightPercent(Net::MessageIn &msg) settings.overweightPercent = msg.readUInt32("parcent"); } +void InventoryRecv::processInventoryStart1(Net::MessageIn &msg) +{ + UNIMPLEMENTEDPACKET; + msg.readString(24, "storage name"); +} + +void InventoryRecv::processInventoryStart2(Net::MessageIn &msg) +{ + UNIMPLEMENTEDPACKET; + msg.readUInt8("type"); + msg.readString(24, "inventory name"); +} + +void InventoryRecv::processInventoryStart3(Net::MessageIn &msg) +{ + UNIMPLEMENTEDPACKET; + const int nameLen = msg.readInt16("len") - 5; + msg.readUInt8("type"); + if (nameLen > 0) + msg.readString(nameLen, "inventory name"); +} + } // namespace EAthena diff --git a/src/net/eathena/inventoryrecv.h b/src/net/eathena/inventoryrecv.h index 31080935f..81436179e 100644 --- a/src/net/eathena/inventoryrecv.h +++ b/src/net/eathena/inventoryrecv.h @@ -76,6 +76,9 @@ namespace EAthena void processPlayerInventoryUse(Net::MessageIn &msg); void processItemMoveFailed(Net::MessageIn &msg); void processOverWeightPercent(Net::MessageIn &msg); + void processInventoryStart1(Net::MessageIn &msg); + void processInventoryStart2(Net::MessageIn &msg); + void processInventoryStart3(Net::MessageIn &msg); int getSlot(const int eAthenaSlot) A_WARN_UNUSED; } // namespace InventoryRecv diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc index 5699a58ea..c2dab4b15 100644 --- a/src/net/eathena/packetsin.inc +++ b/src/net/eathena/packetsin.inc @@ -1299,12 +1299,36 @@ if (packetVersionRe >= 20180704) packet(SMSG_ITEM_DROPPED, 0x0add, 24, &ItemRecv::processItemDropped, 20180704); } -// 20180801 +// 20180801 re if (packetVersionRe >= 20180801) { packet(SMSG_BEING_VIEW_EQUIPMENT2, 0x0b03, -1, &BeingRecv::processBeingViewEquipment2, 20180801); } +// 20180829 re +if (packetVersionRe >= 20180829) +{ + packet(SMSG_INVENTORY_START1, 0x0b08, 26, &InventoryRecv::processInventoryStart1, 20180829); +} + +// 20180912 re +if (packetVersionRe >= 20180912) +{ + packet(SMSG_INVENTORY_START2, 0x0b08, 27, &InventoryRecv::processInventoryStart2, 20180912); +} + +// 20180919 re +if (packetVersionRe >= 20180919) +{ + packet(SMSG_INVENTORY_START3, 0x0b08, -1, &InventoryRecv::processInventoryStart3, 20180919); +} + +// 20180919 zero +if (packetVersionZero >= 20180919) +{ + packet(SMSG_INVENTORY_START3, 0x0b08, -1, &InventoryRecv::processInventoryStart3, 20180919); +} + // 0 // evol always packets packet(SMSG_SERVER_VERSION_RESPONSE, 0x7531, -1, &LoginRecv::processServerVersion, 0); -- cgit v1.2.3-70-g09d2