summaryrefslogtreecommitdiff
path: root/src/network/network_client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/network_client.cpp')
-rw-r--r--src/network/network_client.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp
index 810fdad95..dc4e46691 100644
--- a/src/network/network_client.cpp
+++ b/src/network/network_client.cpp
@@ -1029,6 +1029,19 @@ void NetworkClientRequestMove(CompanyID company_id, const char *pass)
SEND_COMMAND(PACKET_CLIENT_MOVE)(company_id, pass);
}
+void NetworkClientsToSpectators(CompanyID cid)
+{
+ /* If our company is changing owner, go to spectators */
+ if (cid == _local_company) SetLocalCompany(COMPANY_SPECTATOR);
+
+ NetworkClientInfo *ci;
+ FOR_ALL_CLIENT_INFOS(ci) {
+ if (ci->client_playas != cid) continue;
+ NetworkTextMessage(NETWORK_ACTION_COMPANY_SPECTATOR, CC_DEFAULT, false, ci->client_name);
+ ci->client_playas = COMPANY_SPECTATOR;
+ }
+}
+
void NetworkUpdateClientName()
{
NetworkClientInfo *ci = NetworkFindClientInfoFromClientID(_network_own_client_id);