From d792bfdd47f922b18b320444249db68255e1728a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 17 May 2016 21:09:08 +0300 Subject: Impliment packets CMSG_PLAYER_CHANGE_DIR and CMSG_MAP_PING for all packet versions. --- src/net/eathena/gamehandler.cpp | 95 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) (limited to 'src/net/eathena/gamehandler.cpp') diff --git a/src/net/eathena/gamehandler.cpp b/src/net/eathena/gamehandler.cpp index 6327cb794..067e5ff38 100644 --- a/src/net/eathena/gamehandler.cpp +++ b/src/net/eathena/gamehandler.cpp @@ -40,6 +40,7 @@ #include "debug.h" extern Net::GameHandler *gameHandler; +extern int packetVersion; namespace EAthena { @@ -116,6 +117,100 @@ void GameHandler::quit() const void GameHandler::ping(const int tick) const { createOutPacket(CMSG_MAP_PING); + if (packetVersion >= 20101124) + { + // nothing here + } + else if (packetVersion >= 20080827) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20070212) + { + outMsg.writeInt16(0, "unknown"); + } + else if (packetVersion >= 20070108) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20050719) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20050718) + { + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20050628) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20050509) + { + outMsg.writeInt16(0, "unknown"); + } + else if (packetVersion >= 20050110) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20041129) + { + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20041025) + { + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20041005) + { + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20040920) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20040906) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20040809) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + outMsg.writeInt8(0, "unknown"); + } + else if (packetVersion >= 20040726) + { + outMsg.writeInt16(0, "unknown"); + outMsg.writeInt16(0, "unknown"); + } outMsg.writeInt32(tick, "tick"); } -- cgit v1.2.3-60-g2f50