players.c
changeset 2879 d270cb37c0ec
parent 2848 cb4b1cc0bf65
child 2913 fca9b500c9f9
--- a/players.c	Tue Jan 24 18:38:06 2006 +0000
+++ b/players.c	Wed Jan 25 18:11:06 2006 +0000
@@ -856,13 +856,15 @@
 					_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 @@
 			p->is_active = false;
 		}
 		RemoveAllEngineReplacementForPlayer(p);
+#ifdef ENABLE_NETWORK
+		_network_game_info.companies_on--;
+#endif /* ENABLE_NETWORK */
 
 	} break;