+ 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);
+
+ if (hasPathSeparator(file_info->basename))
+ Error(ERR_EXIT, "protocol error: invalid filename from network client");
+
+ 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);
+
+ if (hasPathSeparator(tmpl_info->basename))
+ Error(ERR_EXIT, "protocol error: invalid filename from network client");
+
+ 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;
+
+#if 0
+ printf("::: '%s'\n", leveldir_identifier);
+ printf("::: '%d'\n", file_info->nr);
+ printf("::: '%d'\n", file_info->type);
+ printf("::: '%d'\n", file_info->packed);
+ printf("::: '%s'\n", file_info->basename);
+ printf("::: '%s'\n", file_info->filename);
+
+ if (use_custom_template)
+ printf("::: '%s'\n", tmpl_info->filename);
+#endif
+}
+
+static void HandleNetworkingMessage(void)
+{