X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=2002126623cb737ffc4f103eb36e8d72435e043b;hb=881bd7909d3a28c07c0bed2185e60a437b407e7c;hp=1b32c1ecfe4c3caf25dbb1fe808717ea859f936c;hpb=c241a28eeb51bbb04799737005f2d21d98e983ef;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 1b32c1ec..20021266 100644 --- a/src/game.c +++ b/src/game.c @@ -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; }