+ int player_nr = getNetworkBuffer8BitInteger(read_buffer);
+ char *leveldir_identifier;
+ char *network_level_dir;
+ struct LevelFileInfo *file_info = &network_level.file_info;
+ struct LevelFileInfo *tmpl_info = &network_level.tmpl_info;
+ boolean use_custom_template;
+
+ setString(&network_level.leveldir_identifier, NULL);
+ setString(&network_level.file_info.basename, NULL);
+ setString(&network_level.file_info.filename, NULL);
+ setString(&network_level.tmpl_info.basename, NULL);
+ setString(&network_level.tmpl_info.filename, NULL);
+
+ printf("OP_LEVEL_FILE: %d\n", player_nr);
+
+ leveldir_identifier = getStringCopy(getNetworkBufferString(read_buffer));
+ network_level_dir = getNetworkLevelDir(leveldir_identifier);
+
+ file_info->nr = getNetworkBuffer16BitInteger(read_buffer);
+ file_info->type = getNetworkBuffer8BitInteger(read_buffer);
+ file_info->packed = getNetworkBuffer8BitInteger(read_buffer);
+ file_info->basename = getStringCopy(getNetworkBufferString(read_buffer));
+ file_info->filename = getPath2(network_level_dir, file_info->basename);
+
+ InitNetworkLevelDirectory(leveldir_identifier);
+
+ getNetworkBufferFile(read_buffer, file_info->filename);
+
+ use_custom_template = getNetworkBuffer8BitInteger(read_buffer);
+ if (use_custom_template)
+ {
+ *tmpl_info = *file_info;
+
+ tmpl_info->basename = getStringCopy(getNetworkBufferString(read_buffer));
+ tmpl_info->filename = getPath2(network_level_dir, tmpl_info->basename);
+
+ getNetworkBufferFile(read_buffer, tmpl_info->filename);
+ }
+
+ network_level.leveldir_identifier = leveldir_identifier;
+ network_level.use_custom_template = use_custom_template;
+
+ /* the receiving client(s) use(s) the transferred network level files */
+ network_level.use_network_level_files = TRUE;