+ Error(ERR_NETWORK_CLIENT, "you get client # %d", new_client_nr);
+}
+
+static void Handle_OP_NUMBER_WANTED()
+{
+ int client_nr_wanted = buffer[2];
+ int old_client_nr = buffer[0];
+ int new_client_nr = buffer[3];
+ int old_index_nr = old_client_nr - 1;
+ int new_index_nr = new_client_nr - 1;
+ int index_nr_wanted = client_nr_wanted - 1;
+ struct PlayerInfo *old_player = &stored_player[old_index_nr];
+ struct PlayerInfo *new_player = &stored_player[new_index_nr];
+
+ printf("OP_NUMBER_WANTED: %d\n", buffer[0]);
+
+ if (new_client_nr == client_nr_wanted) /* switching succeeded */
+ {
+ struct NetworkClientPlayerInfo *player;
+
+ 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)