summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-07-27 21:47:43 +0300
committerAndrei Karas <akaras@inbox.ru>2018-07-27 21:47:43 +0300
commit6f539a2dbb38966fdb11da4b8ef0e7b3f4bc68c2 (patch)
tree4150b6a62d4e13a2164e26af572a6b5028512b05
parentf0a0e1eff7be666ec963440de0a1fbcddf1d407e (diff)
downloadmanaplus-6f539a2dbb38966fdb11da4b8ef0e7b3f4bc68c2.tar.gz
manaplus-6f539a2dbb38966fdb11da4b8ef0e7b3f4bc68c2.tar.bz2
manaplus-6f539a2dbb38966fdb11da4b8ef0e7b3f4bc68c2.tar.xz
manaplus-6f539a2dbb38966fdb11da4b8ef0e7b3f4bc68c2.zip
Add support for main/re/zero packet versions in MessageIn class.
-rw-r--r--src/net/messagein.cpp24
-rw-r--r--src/net/messagein.h10
2 files changed, 32 insertions, 2 deletions
diff --git a/src/net/messagein.cpp b/src/net/messagein.cpp
index d5888534e..ff34cd2c5 100644
--- a/src/net/messagein.cpp
+++ b/src/net/messagein.cpp
@@ -43,6 +43,9 @@ PRAGMA48(GCC diagnostic pop)
(CAST_U16(CAST_U8(high))) << 8))
extern int itemIdLen;
+extern int packetVersionMain;
+extern int packetVersionRe;
+extern int packetVersionZero;
namespace Net
{
@@ -474,4 +477,25 @@ unsigned char *MessageIn::readBytes(int length, const char *const dstr)
return buf;
}
+int MessageIn::getVersionMain() const noexcept2
+{
+ if (packetVersionMain >= mVersion)
+ return mVersion;
+ return 0;
+}
+
+int MessageIn::getVersionRe() const noexcept2
+{
+ if (packetVersionRe >= mVersion)
+ return mVersion;
+ return 0;
+}
+
+int MessageIn::getVersionZero() const noexcept2
+{
+ if (packetVersionZero >= mVersion)
+ return mVersion;
+ return 0;
+}
+
} // namespace Net
diff --git a/src/net/messagein.h b/src/net/messagein.h
index 255710349..155e2a6b8 100644
--- a/src/net/messagein.h
+++ b/src/net/messagein.h
@@ -130,9 +130,15 @@ class MessageIn notfinal
static uint8_t fromServerDirection(const uint8_t serverDir)
A_WARN_UNUSED;
- unsigned int getVersion() const noexcept2 A_WARN_UNUSED
+ int getVersion() const noexcept2 A_WARN_UNUSED
{ return mVersion; }
+ int getVersionMain() const noexcept2 A_WARN_UNUSED;
+
+ int getVersionRe() const noexcept2 A_WARN_UNUSED;
+
+ int getVersionZero() const noexcept2 A_WARN_UNUSED;
+
protected:
/**
* Constructor.
@@ -148,7 +154,7 @@ class MessageIn notfinal
* reading it.
*/
unsigned int mPos;
- unsigned int mVersion;
+ int mVersion;
uint16_t mId; /**< The message ID. */
bool mIgnore;
};