added saving tape basename for each high score entry
[rocksndiamonds.git] / src / game.c
index 1b32c1ecfe4c3caf25dbb1fe808717ea859f936c..2002126623cb737ffc4f103eb36e8d72435e043b 100644 (file)
@@ -4971,6 +4971,9 @@ void GameEnd(void)
       CloseDoor(DOOR_CLOSE_1);
 
     SaveTapeChecked_LevelSolved(tape.level_nr);                // ask to save tape
+
+    // set unique basename for score tape (also saved in high score table)
+    strcpy(tape.score_tape_basename, getScoreTapeBasename(setup.player_name));
   }
 
   // if no tape is to be saved, close both doors simultaneously
@@ -5094,6 +5097,7 @@ int NewHiScore(int level_nr)
 
       put_into_list:
 
+      strcpy(entry->tape_basename, tape.score_tape_basename);
       strncpy(entry->name, setup.player_name, MAX_PLAYER_NAME_LEN);
       entry->name[MAX_PLAYER_NAME_LEN] = '\0';
       entry->score = game.score_final;
@@ -5107,8 +5111,11 @@ int NewHiScore(int level_nr)
       break;   // player already there with a higher score
   }
 
-  if (position >= 0) 
+  if (position >= 0)
+  {
+    SaveScoreTape(level_nr);
     SaveScore(level_nr);
+  }
 
   return position;
 }