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/tmwa/loginhandler.cpp | 2 ++ src/net/tmwa/loginrecv.cpp | 2 ++ src/net/tmwa/updateprotocol.cpp | 3 +++ 3 files changed, 7 insertions(+) (limited to 'src/net/tmwa') diff --git a/src/net/tmwa/loginhandler.cpp b/src/net/tmwa/loginhandler.cpp index 0aa086831..b097d9040 100644 --- a/src/net/tmwa/loginhandler.cpp +++ b/src/net/tmwa/loginhandler.cpp @@ -33,6 +33,7 @@ #include "debug.h" extern unsigned int tmwServerVersion; +extern int itemIdLen; namespace TmwAthena { @@ -137,6 +138,7 @@ void LoginHandler::ping() const void LoginHandler::updatePacketVersion() const { + itemIdLen = 2; } } // namespace TmwAthena diff --git a/src/net/tmwa/loginrecv.cpp b/src/net/tmwa/loginrecv.cpp index 67e6b21e8..91d11b05e 100644 --- a/src/net/tmwa/loginrecv.cpp +++ b/src/net/tmwa/loginrecv.cpp @@ -41,6 +41,7 @@ #include "debug.h" extern int packetVersion; +extern int itemIdLen; namespace TmwAthena { @@ -55,6 +56,7 @@ enum ServerFlags void LoginRecv::processServerVersion(Net::MessageIn &msg) { packetVersion = 0; + itemIdLen = 2; const uint8_t b1 = msg.readUInt8("b1"); // -1 const uint8_t b2 = msg.readUInt8("b2"); const uint8_t b3 = msg.readUInt8("b3"); diff --git a/src/net/tmwa/updateprotocol.cpp b/src/net/tmwa/updateprotocol.cpp index 78aa2031b..0726bed6c 100644 --- a/src/net/tmwa/updateprotocol.cpp +++ b/src/net/tmwa/updateprotocol.cpp @@ -25,11 +25,14 @@ #include "debug.h" +extern int itemIdLen; + namespace TmwAthena { void updateProtocol() { + itemIdLen = 2; #define PACKETS_UPDATE #include "net/protocoloutupdate.h" #include "net/tmwa/packetsout.inc" -- cgit v1.2.3-60-g2f50