cleanup of network level function names and parameters
[rocksndiamonds.git] / src / files.c
index bb1ce49770b1e3b4a85995485ecb586cd958b0b6..79c7787936dc2ab8cc8cee8ed272c911a90f73f7 100644 (file)
@@ -1915,6 +1915,9 @@ static void ActivateLevelTemplate()
     /* overwrite all individual level settings from template level settings */
     level = level_template;
 
+    /* restore level file info */
+    level.file_info = level_backup.file_info;
+
     /* restore playfield size */
     level.fieldx = level_backup.fieldx;
     level.fieldy = level_backup.fieldy;
@@ -6617,21 +6620,21 @@ void LoadLevelTemplate(int nr)
   LoadLevelTemplate_LoadAndInit();
 }
 
-static void LoadLevelTemplateFromNetwork(struct LevelFileInfo *lfi_network_template)
+static void LoadNetworkLevelTemplate(struct NetworkLevelInfo *network_level)
 {
-  copyLevelFileInfo(lfi_network_template, &level_template.file_info);
+  copyLevelFileInfo(&network_level->tmpl_info, &level_template.file_info);
 
   LoadLevelTemplate_LoadAndInit();
 }
 
-static void LoadLevel_LoadAndInit(struct LevelFileInfo *lfi_network_template)
+static void LoadLevel_LoadAndInit(struct NetworkLevelInfo *network_level)
 {
   LoadLevelFromFileInfo(&level, &level.file_info, FALSE);
 
   if (level.use_custom_template)
   {
-    if (lfi_network_template != NULL)
-      LoadLevelTemplateFromNetwork(lfi_network_template);
+    if (network_level != NULL)
+      LoadNetworkLevelTemplate(network_level);
     else
       LoadLevelTemplate(-1);
   }
@@ -6645,6 +6648,8 @@ static void LoadLevel_LoadAndInit(struct LevelFileInfo *lfi_network_template)
 
 void LoadLevel(int nr)
 {
+  SetLevelSetInfo(leveldir_current->identifier, nr);
+
   setLevelFileInfo(&level.file_info, nr);
 
   LoadLevel_LoadAndInit(NULL);
@@ -6657,12 +6662,14 @@ void LoadLevelInfoOnly(int nr)
   LoadLevelFromFileInfo(&level, &level.file_info, TRUE);
 }
 
-void LoadLevelFromNetwork(struct LevelFileInfo *lfi_network_level,
-                         struct LevelFileInfo *lfi_network_template)
+void LoadNetworkLevel(struct NetworkLevelInfo *network_level)
 {
-  copyLevelFileInfo(lfi_network_level, &level.file_info);
+  SetLevelSetInfo(network_level->leveldir_identifier,
+                 network_level->file_info.nr);
+
+  copyLevelFileInfo(&network_level->file_info, &level.file_info);
 
-  LoadLevel_LoadAndInit(lfi_network_template);
+  LoadLevel_LoadAndInit(network_level);
 }
 
 static int SaveLevel_VERS(FILE *file, struct LevelInfo *level)
@@ -8281,7 +8288,8 @@ void SaveScore(int nr)
   char *filename = getScoreFilename(nr);
   FILE *file;
 
-  InitScoreDirectory(leveldir_current->subdir);
+  /* used instead of "leveldir_current->subdir" (for network games) */
+  InitScoreDirectory(levelset.identifier);
 
   if (!(file = fopen(filename, MODE_WRITE)))
   {