+ int protocol_version_major = getNetworkBuffer8BitInteger(read_buffer);
+ int protocol_version_minor = getNetworkBuffer8BitInteger(read_buffer);
+
+ Error(ERR_WARN, "protocol version mismatch");
+ Error(ERR_WARN, "server expects %d.%d.x instead of %d.%d.%d",
+ protocol_version_major,
+ protocol_version_minor,
+ PROTOCOL_VERSION_MAJOR,
+ PROTOCOL_VERSION_MINOR,
+ PROTOCOL_VERSION_PATCH);
+
+ sprintf(stop_network_client_message, "Network protocol version mismatch! Server expects version %d.%d.x instead of %d.%d.%d!",
+ protocol_version_major,
+ protocol_version_minor,
+ PROTOCOL_VERSION_MAJOR,
+ PROTOCOL_VERSION_MINOR,
+ PROTOCOL_VERSION_PATCH);
+
+ stop_network_client = TRUE;
+}
+
+static void Handle_OP_YOUR_NUMBER()
+{
+ int old_client_nr = getNetworkBuffer8BitInteger(read_buffer);
+ int new_client_nr = getNetworkBuffer8BitInteger(read_buffer);
+ int new_index_nr = new_client_nr - 1;
+ struct PlayerInfo *old_local_player = local_player;
+ struct PlayerInfo *new_local_player = &stored_player[new_index_nr];
+
+ printf("OP_YOUR_NUMBER: %d\n", old_client_nr);
+ first_player.nr = new_client_nr;
+
+ if (old_local_player != new_local_player)
+ {
+ /* set relevant player settings and change to new player */
+
+ local_player = new_local_player;
+
+ old_local_player->connected_locally = FALSE;
+ new_local_player->connected_locally = TRUE;
+
+ old_local_player->connected_network = FALSE;
+ new_local_player->connected_network = TRUE;
+ }