summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-16 17:45:17 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-16 17:45:17 +0300
commitc79a9b4ffa2762be199b85a78cd798d4bccc9b1b (patch)
tree6af5203fb1462ac1cb10a0c081021f89a12863bd
parent72cc15bc148acc2484a2be3b6e7da322735aca95 (diff)
downloadplus-c79a9b4ffa2762be199b85a78cd798d4bccc9b1b.tar.gz
plus-c79a9b4ffa2762be199b85a78cd798d4bccc9b1b.tar.bz2
plus-c79a9b4ffa2762be199b85a78cd798d4bccc9b1b.tar.xz
plus-c79a9b4ffa2762be199b85a78cd798d4bccc9b1b.zip
Add server feature haveIncompleteChatMessages.
-rw-r--r--src/net/ea/chathandler.cpp4
-rw-r--r--src/net/eathena/serverfeatures.cpp5
-rw-r--r--src/net/eathena/serverfeatures.h2
-rw-r--r--src/net/serverfeatures.h2
-rw-r--r--src/net/tmwa/serverfeatures.cpp5
-rw-r--r--src/net/tmwa/serverfeatures.h2
6 files changed, 19 insertions, 1 deletions
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