diff options
author | Andrei Karas <akaras@inbox.ru> | 2018-09-26 20:00:11 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2018-09-26 20:00:11 +0300 |
commit | e3163de9297e06ed4e9bfa4cbaaca0c757222b81 (patch) | |
tree | 390e345ff3854c0d74ffd5ffdf7d0e545ba8be32 | |
parent | 392c3d08286a3f19a02258e61c6b240b32fd4f46 (diff) | |
download | mv-e3163de9297e06ed4e9bfa4cbaaca0c757222b81.tar.gz mv-e3163de9297e06ed4e9bfa4cbaaca0c757222b81.tar.bz2 mv-e3163de9297e06ed4e9bfa4cbaaca0c757222b81.tar.xz mv-e3163de9297e06ed4e9bfa4cbaaca0c757222b81.zip |
Add packet SMSG_INVENTORY_START 0x0b08.
-rw-r--r-- | src/net/eathena/inventoryrecv.cpp | 22 | ||||
-rw-r--r-- | src/net/eathena/inventoryrecv.h | 3 | ||||
-rw-r--r-- | src/net/eathena/packetsin.inc | 26 |
3 files changed, 50 insertions, 1 deletions
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); |