summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-01-05 19:52:46 +0300
committerAndrei Karas <akaras@inbox.ru>2018-01-05 19:52:46 +0300
commita94f1032a7eee07e25664738cb75aca4d90ca2db (patch)
tree1d9e7340ac4ba51e04b2cd82a5756e7b649562f8
parent4d2e202ee0954f130c8533af3a8dd0fa571e5150 (diff)
downloadmv-a94f1032a7eee07e25664738cb75aca4d90ca2db.tar.gz
mv-a94f1032a7eee07e25664738cb75aca4d90ca2db.tar.bz2
mv-a94f1032a7eee07e25664738cb75aca4d90ca2db.tar.xz
mv-a94f1032a7eee07e25664738cb75aca4d90ca2db.zip
Add support for packets type flag.
For now supported flags for renewal and zero packets.
-rw-r--r--src/net/eathena/loginrecv.cpp15
-rw-r--r--src/progs/dyecmd/client.cpp4
-rw-r--r--src/progs/manaplus/client.cpp4
3 files changed, 23 insertions, 0 deletions
diff --git a/src/net/eathena/loginrecv.cpp b/src/net/eathena/loginrecv.cpp
index 138881315..502e2d247 100644
--- a/src/net/eathena/loginrecv.cpp
+++ b/src/net/eathena/loginrecv.cpp
@@ -45,6 +45,10 @@
#include "debug.h"
extern int packetVersion;
+extern int packetsType;
+extern bool packets_main;
+extern bool packets_re;
+extern bool packets_zero;
extern int evolPacketOffset;
namespace EAthena
@@ -172,6 +176,17 @@ void LoginRecv::processServerVersion(Net::MessageIn &msg)
{
evolPacketOffset = msg.readInt16("evol packet offset");
}
+ if (serverVersion >= 20 && len >= 20)
+ {
+ packetsType = msg.readInt16("server packets type");
+ packets_re = (packetsType & 1) ? true : false;
+ packets_zero = (packetsType & 2) ? true : false;
+ if (packets_re == false &&
+ packets_zero == false)
+ {
+ packets_main = true;
+ }
+ }
}
else
{
diff --git a/src/progs/dyecmd/client.cpp b/src/progs/dyecmd/client.cpp
index d4e93eb7f..27109753d 100644
--- a/src/progs/dyecmd/client.cpp
+++ b/src/progs/dyecmd/client.cpp
@@ -118,6 +118,10 @@ volatile bool runCounters;
bool isSafeMode = false;
int serverVersion = 0;
int packetVersion = 0;
+int packetsType = 0;
+bool packets_main = true;
+bool packets_re = false;
+bool packets_zero = false;
unsigned int tmwServerVersion = 0;
time_t start_time;
unsigned int mLastHost = 0;
diff --git a/src/progs/manaplus/client.cpp b/src/progs/manaplus/client.cpp
index b03a16ef6..5946f01d5 100644
--- a/src/progs/manaplus/client.cpp
+++ b/src/progs/manaplus/client.cpp
@@ -189,6 +189,10 @@ volatile bool runCounters;
bool isSafeMode = false;
int serverVersion = 0;
int packetVersion = 0;
+int packetsType = 0;
+bool packets_main = true;
+bool packets_re = false;
+bool packets_zero = false;
unsigned int tmwServerVersion = 0;
time_t start_time;
unsigned int mLastHost = 0;