From de90520de303659fe639794544c2e19d462b3907 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 26 Jul 2018 03:02:37 +0300 Subject: Add support for changed item id size in packets. From some packet version hercules support item id fields as int32. --- src/net/messagein.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/net/messagein.cpp') diff --git a/src/net/messagein.cpp b/src/net/messagein.cpp index 5b942a2d0..d5888534e 100644 --- a/src/net/messagein.cpp +++ b/src/net/messagein.cpp @@ -42,6 +42,8 @@ PRAGMA48(GCC diagnostic pop) (CAST_U16((CAST_U8(low)) | \ (CAST_U16(CAST_U8(high))) << 8)) +extern int itemIdLen; + namespace Net { @@ -208,6 +210,13 @@ uint32_t MessageIn::readUInt32(const char *const str) return value; } +int MessageIn::readItemId(const char *const str) +{ + if (itemIdLen == 2) + return readUInt16(str); + return readInt32(str); +} + BeingId MessageIn::readBeingId(const char *const str) { return fromInt(readUInt32(str), BeingId); -- cgit v1.2.3-60-g2f50