summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-09-26 20:00:11 +0300
committerAndrei Karas <akaras@inbox.ru>2018-09-26 20:00:11 +0300
commite3163de9297e06ed4e9bfa4cbaaca0c757222b81 (patch)
tree390e345ff3854c0d74ffd5ffdf7d0e545ba8be32
parent392c3d08286a3f19a02258e61c6b240b32fd4f46 (diff)
downloadplus-e3163de9297e06ed4e9bfa4cbaaca0c757222b81.tar.gz
plus-e3163de9297e06ed4e9bfa4cbaaca0c757222b81.tar.bz2
plus-e3163de9297e06ed4e9bfa4cbaaca0c757222b81.tar.xz
plus-e3163de9297e06ed4e9bfa4cbaaca0c757222b81.zip
Add packet SMSG_INVENTORY_START 0x0b08.
-rw-r--r--src/net/eathena/inventoryrecv.cpp22
-rw-r--r--src/net/eathena/inventoryrecv.h3
-rw-r--r--src/net/eathena/packetsin.inc26
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);