- sprintf(msgbuf, "Sorry ! You are %s player !",
- color[new_index_nr]);
- Request(msgbuf, REQ_CONFIRM);
+ if (old_client_nr != client_nr_wanted) /* client's nr has changed */
+ Error(ERR_NETWORK_CLIENT, "client %d switches to # %d",
+ old_client_nr, new_client_nr);
+ else if (old_client_nr == first_player.nr) /* local player keeps his nr */
+ Error(ERR_NETWORK_CLIENT, "keeping client # %d", new_client_nr);
+
+ if (old_client_nr != new_client_nr)
+ {
+ /* set relevant player settings and change to new player */
+
+ old_player->connected_network = FALSE;
+ new_player->connected_network = TRUE;
+ }
+
+ player = getNetworkPlayer(old_client_nr);
+ player->nr = new_client_nr;
+
+ if (old_player == local_player) /* local player switched */
+ {
+ local_player = new_player;