summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-18 18:12:33 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-18 18:12:33 +0300
commit5f8e616fee9bbf1634ac9e8deb86770c074ce887 (patch)
tree375118c118a748cd4cbc5088c668f0bbd5bf051b
parent26487f01c0f6367e6405c277b3b23b6351981b75 (diff)
downloadmanaplus-5f8e616fee9bbf1634ac9e8deb86770c074ce887.tar.gz
manaplus-5f8e616fee9bbf1634ac9e8deb86770c074ce887.tar.bz2
manaplus-5f8e616fee9bbf1634ac9e8deb86770c074ce887.tar.xz
manaplus-5f8e616fee9bbf1634ac9e8deb86770c074ce887.zip
eathena: add partial support for packet SMSG_BIND_ITEM 0x02d3.
-rw-r--r--src/net/eathena/inventoryhandler.cpp12
-rw-r--r--src/net/eathena/inventoryhandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 16 insertions, 1 deletions
diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp
index 62283dd4a..9de9d2141 100644
--- a/src/net/eathena/inventoryhandler.cpp
+++ b/src/net/eathena/inventoryhandler.cpp
@@ -116,6 +116,7 @@ InventoryHandler::InventoryHandler() :
SMSG_ITEM_DAMAGED,
SMSG_PLAYER_FAVORITE_ITEM,
SMSG_PLAYER_CART_ADD_ERROR,
+ SMSG_BIND_ITEM,
0
};
handledMessages = _messages;
@@ -288,6 +289,10 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
processCartAddError(msg);
break;
+ case SMSG_BIND_ITEM:
+ processBindItem(msg);
+ break;
+
default:
break;
}
@@ -1120,4 +1125,11 @@ void InventoryHandler::processCartAddError(Net::MessageIn &msg)
msg.readUInt8("flag");
}
+void InventoryHandler::processBindItem(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+
+ msg.readInt16("item index");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h
index a902350da..6497c2e9b 100644
--- a/src/net/eathena/inventoryhandler.h
+++ b/src/net/eathena/inventoryhandler.h
@@ -139,6 +139,8 @@ class InventoryHandler final : public MessageHandler,
static void processCartAddError(Net::MessageIn &msg);
+ static void processBindItem(Net::MessageIn &msg);
+
static Ea::InventoryItems mCartItems;
};
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index f3adeab80..2447f702d 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -99,7 +99,7 @@ int16_t packet_lengths[] =
0, -1, -1, 107, 6, -1, 0, 7, 22, 191, 0, 8, 0, 0, 0, 0,
// #0x02C0
0, -1, 0, 0, 0, 30, 30, 0, 0, 3, 0, 65, 4, 71, 10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 0, -1, 32, 6, 36,
+ 0, 0, 0, 4, 0, 0, 0, 0, 0, 10, 3, 0, -1, 32, 6, 36,
0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 8,
10, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
//0 1 2 3 4 5 6 7 8 9 a b c d e f
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 0f3e2b8a4..5f3c2f69e 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -173,6 +173,7 @@
#define SMSG_BOSS_MAP_INFO 0x0293
#define SMSG_ITEM_DAMAGED 0x02bb
#define SMSG_AUTOSHADOW_SPELL_LIST 0x0442
+#define SMSG_BIND_ITEM 0x02d3
#define SMSG_PLAYER_STATUS_CHANGE 0x0229
#define SMSG_PLAYER_STATUS_CHANGE2 0x028a