X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftape.c;fp=src%2Ftape.c;h=cd07263f007f2e4842c1395e13a5c17f6d6adecf;hp=5033507342b4f8029d893737555ce8ccf5972cab;hb=d0c35d05e88d7c3761c074135af990fc14302ace;hpb=f3d82fe46ab00cacbe18b74d51fcbbfc8fa489dd diff --git a/src/tape.c b/src/tape.c index 50335073..cd07263f 100644 --- a/src/tape.c +++ b/src/tape.c @@ -1402,7 +1402,10 @@ static boolean PlayScoreTape_WaitForDownload(void) boolean PlayScoreTape(int entry_nr) { struct ScoreEntry *entry = &scores.entry[entry_nr]; - char *tape_filename = getScoreTapeFilename(entry->tape_basename, level_nr); + char *tape_filename = + (entry->id == -1 ? + getScoreTapeFilename(entry->tape_basename, level_nr) : + getScoreCacheTapeFilename(entry->tape_basename, level_nr)); boolean download_tape = (!fileExists(tape_filename)); if (download_tape && entry->id == -1) @@ -1439,7 +1442,10 @@ boolean PlayScoreTape(int entry_nr) // if tape recorder already contains a tape, remove it without asking TapeErase(); - LoadScoreTape(entry->tape_basename, level_nr); + if (entry->id == -1) + LoadScoreTape(entry->tape_basename, level_nr); + else + LoadScoreCacheTape(entry->tape_basename, level_nr); if (TAPE_IS_EMPTY(tape)) {