summaryrefslogtreecommitdiff
path: root/src/network/network_client.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-12-22 21:15:02 +0000
committerrubidium <rubidium@openttd.org>2008-12-22 21:15:02 +0000
commit8e8174987230eb298b1b86a225f3c6a175b86751 (patch)
tree6a54ea9e5c67b1b74f443bacaae9ba48deb5a787 /src/network/network_client.cpp
parent648d7072a477bad26c3eaa3d620d3bc6e8d92ce6 (diff)
downloadopenttd-8e8174987230eb298b1b86a225f3c6a175b86751.tar.xz
(svn r14715) -Codechange: move some network code from the main gui file into one of the the network files.
Diffstat (limited to 'src/network/network_client.cpp')
-rw-r--r--src/network/network_client.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp
index d1ff4e078..1ef35508b 100644
--- a/src/network/network_client.cpp
+++ b/src/network/network_client.cpp
@@ -956,4 +956,22 @@ void NetworkClientSetPassword(const char *password)
SEND_COMMAND(PACKET_CLIENT_SET_PASSWORD)(password);
}
+/**
+ * Tell whether the client has team members where he/she can chat to.
+ * @param cio client to check members of.
+ * @return true if there is at least one team member.
+ */
+bool NetworkClientPreferTeamChat(const NetworkClientInfo *cio)
+{
+ /* Only companies actually playing can speak to team. Eg spectators cannot */
+ if (!_settings_client.gui.prefer_teamchat || !IsValidCompanyID(cio->client_playas)) return false;
+
+ const NetworkClientInfo *ci;
+ FOR_ALL_ACTIVE_CLIENT_INFOS(ci) {
+ if (ci->client_playas == cio->client_playas && ci != cio) return true;
+ }
+
+ return false;
+}
+
#endif /* ENABLE_NETWORK */