summaryrefslogtreecommitdiff
path: root/src/net
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 /src/net
parent4d2e202ee0954f130c8533af3a8dd0fa571e5150 (diff)
downloadplus-a94f1032a7eee07e25664738cb75aca4d90ca2db.tar.gz
plus-a94f1032a7eee07e25664738cb75aca4d90ca2db.tar.bz2
plus-a94f1032a7eee07e25664738cb75aca4d90ca2db.tar.xz
plus-a94f1032a7eee07e25664738cb75aca4d90ca2db.zip
Add support for packets type flag.
For now supported flags for renewal and zero packets.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/eathena/loginrecv.cpp15
1 files changed, 15 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
{