From 95fdd4dab7a079eb67e98a02a8752631ce05dcab Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 22 Mar 2015 12:26:55 +0300 Subject: eathena: add packet CMSG_CHAR_PING 0x0187. --- src/net/charserverhandler.h | 2 ++ src/net/eathena/charserverhandler.cpp | 6 ++++++ src/net/eathena/charserverhandler.h | 2 ++ src/net/eathena/protocol.h | 1 + src/net/tmwa/charserverhandler.cpp | 4 ++++ src/net/tmwa/charserverhandler.h | 2 ++ 6 files changed, 17 insertions(+) diff --git a/src/net/charserverhandler.h b/src/net/charserverhandler.h index d8c14a4de..30bc1b627 100644 --- a/src/net/charserverhandler.h +++ b/src/net/charserverhandler.h @@ -88,6 +88,8 @@ class CharServerHandler notfinal Net::Character *const character, const bool withColors) const = 0; + virtual void ping() const = 0; + protected: CharServerHandler() { diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp index 79a316420..533f8f633 100644 --- a/src/net/eathena/charserverhandler.cpp +++ b/src/net/eathena/charserverhandler.cpp @@ -707,4 +707,10 @@ void CharServerHandler::processCharCharacters(Net::MessageIn &msg) client->setState(STATE_CHAR_SELECT); } +void CharServerHandler::ping() const +{ + createOutPacket(CMSG_CHAR_PING); + outMsg.writeInt32(0, "unused"); +} + } // namespace EAthena diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h index 6d0cb48a9..2fd4d55f7 100644 --- a/src/net/eathena/charserverhandler.h +++ b/src/net/eathena/charserverhandler.h @@ -89,6 +89,8 @@ class CharServerHandler final : public MessageHandler, Net::Character *const character, const bool) const override final; + void ping() const override final; + protected: static void processPincodeStatus(Net::MessageIn &msg); diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index a8317c988..7ec70ff83 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -480,6 +480,7 @@ #define CMSG_MAP_SERVER_CONNECT 0x089c #define CMSG_MAP_PING 0x035f /**< Send to server with tick */ #define CMSG_LOGIN_PING 0x0200 +#define CMSG_CHAR_PING 0x0187 #define CMSG_MAP_LOADED 0x007d #define CMSG_CLIENT_QUIT 0x018A diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp index 26b24f07a..d819e19e4 100644 --- a/src/net/tmwa/charserverhandler.cpp +++ b/src/net/tmwa/charserverhandler.cpp @@ -538,4 +538,8 @@ void CharServerHandler::processCharDeleteFailed(Net::MessageIn &msg) BLOCK_END("CharServerHandler::processCharDeleteFailed") } +void CharServerHandler::ping() const +{ +} + } // namespace TmwAthena diff --git a/src/net/tmwa/charserverhandler.h b/src/net/tmwa/charserverhandler.h index 28d73110d..c89cac22f 100644 --- a/src/net/tmwa/charserverhandler.h +++ b/src/net/tmwa/charserverhandler.h @@ -90,6 +90,8 @@ class CharServerHandler final : public MessageHandler, Net::Character *const character, const bool withColors) const override final; + void ping() const override final; + protected: static void processCharCreate(Net::MessageIn &msg); -- cgit v1.2.3-70-g09d2