From c79a9b4ffa2762be199b85a78cd798d4bccc9b1b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 16 Sep 2014 17:45:17 +0300 Subject: Add server feature haveIncompleteChatMessages. --- src/net/ea/chathandler.cpp | 4 +++- src/net/eathena/serverfeatures.cpp | 5 +++++ src/net/eathena/serverfeatures.h | 2 ++ src/net/serverfeatures.h | 2 ++ src/net/tmwa/serverfeatures.cpp | 5 +++++ src/net/tmwa/serverfeatures.h | 2 ++ 6 files changed, 19 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/net/ea/chathandler.cpp b/src/net/ea/chathandler.cpp index 62c6b17f8..c53243dc1 100644 --- a/src/net/ea/chathandler.cpp +++ b/src/net/ea/chathandler.cpp @@ -36,6 +36,8 @@ #include "gui/widgets/tabs/gmtab.h" #include "net/messagein.h" +#include "net/net.h" +#include "net/serverfeatures.h" #include "net/ea/eaprotocol.h" @@ -302,7 +304,7 @@ void ChatHandler::processBeingChat(Net::MessageIn &msg) const std::string sender_name = ((pos == std::string::npos) ? "" : chatMsg.substr(0, pos)); - if (tmwServerVersion > 0) + if (Net::getServerFeatures()->haveIncompleteChatMessages()) { // work around for "new" tmw server sender_name = being->getName(); diff --git a/src/net/eathena/serverfeatures.cpp b/src/net/eathena/serverfeatures.cpp index 1e055191b..2ee68f405 100644 --- a/src/net/eathena/serverfeatures.cpp +++ b/src/net/eathena/serverfeatures.cpp @@ -72,4 +72,9 @@ bool ServerFeatures::haveNativeGuilds() const return true; } +bool ServerFeatures::haveIncompleteChatMessages() const +{ + return false; +} + } // namespace EAthena diff --git a/src/net/eathena/serverfeatures.h b/src/net/eathena/serverfeatures.h index 6ca4df652..3aa99e40d 100644 --- a/src/net/eathena/serverfeatures.h +++ b/src/net/eathena/serverfeatures.h @@ -49,6 +49,8 @@ class ServerFeatures final : public Net::ServerFeatures bool haveBrokenPlayerAttackDistance() const override final; bool haveNativeGuilds() const override final; + + bool haveIncompleteChatMessages() const override final; }; } // namespace EAthena diff --git a/src/net/serverfeatures.h b/src/net/serverfeatures.h index b90df0796..8f5acb0c2 100644 --- a/src/net/serverfeatures.h +++ b/src/net/serverfeatures.h @@ -46,6 +46,8 @@ class ServerFeatures notfinal virtual bool haveBrokenPlayerAttackDistance() const = 0; virtual bool haveNativeGuilds() const = 0; + + virtual bool haveIncompleteChatMessages() const = 0; }; } // namespace Net diff --git a/src/net/tmwa/serverfeatures.cpp b/src/net/tmwa/serverfeatures.cpp index 498d19249..31b7a16ed 100644 --- a/src/net/tmwa/serverfeatures.cpp +++ b/src/net/tmwa/serverfeatures.cpp @@ -74,4 +74,9 @@ bool ServerFeatures::haveNativeGuilds() const return tmwServerVersion <= 0; } +bool ServerFeatures::haveIncompleteChatMessages() const +{ + return tmwServerVersion > 0; +} + } // namespace TmwAthena diff --git a/src/net/tmwa/serverfeatures.h b/src/net/tmwa/serverfeatures.h index 3aba539dd..916fbf3db 100644 --- a/src/net/tmwa/serverfeatures.h +++ b/src/net/tmwa/serverfeatures.h @@ -49,6 +49,8 @@ class ServerFeatures final : public Net::ServerFeatures bool haveBrokenPlayerAttackDistance() const override final; bool haveNativeGuilds() const override final; + + bool haveIncompleteChatMessages() const override final; }; } // namespace TmwAthena -- cgit v1.2.3-70-g09d2