+static void Handle_OP_PLAYER_DISCONNECTED()
+{
+ struct NetworkClientPlayerInfo *player, *player_disconnected;
+ int player_nr = (int)buffer[0];
+
+ printf("OP_PLAYER_DISCONNECTED: %d\n", player_nr);
+ player_disconnected = getNetworkPlayer(player_nr);
+ Error(ERR_NETWORK_CLIENT, "client %d (%s) disconnected",
+ player_nr, getNetworkPlayerName(buffer[0]));
+
+ for (player=&first_player; player; player=player->next)
+ if (player->next == player_disconnected)
+ player->next = player_disconnected->next;
+ free(player_disconnected);
+}