@@ -856,13 +856,15 @@ int32 CmdPlayerCtrl(int x, int y, uint32
_local_player = ci->client_playas - 1;
NetworkSend_Command(0, 0, 0, CMD_CHANGE_PRESIDENT_NAME, NULL);
_local_player = player_backup;
_network_game_info.companies_on++;
}
} else if (_network_server) {
} else if (_network_server) { // Creating player failed, defer client to spectator
/* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at server-side
* in network_server.c:838, function DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND) */
NetworkClientInfo *ci = &_network_client_info[pid];
ci->client_playas = OWNER_SPECTATOR;
_network_game_info.spectators_on++;
NetworkUpdateClientInfo(ci->client_index);
#else
@@ -901,6 +903,9 @@ int32 CmdPlayerCtrl(int x, int y, uint32
p->is_active = false;
RemoveAllEngineReplacementForPlayer(p);
#ifdef ENABLE_NETWORK
_network_game_info.companies_on--;
#endif /* ENABLE_NETWORK */
} break;