X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.c;h=71addab34829a8c1eab0a7152e98c384df1a35e7;hb=714fef0f666caf3561dfa0f7de5522f89e943e73;hp=a8ac4cea12a6d9974f541302ac0f85fb3e782abc;hpb=0d02210d139e2e889d91d80015d54c5186dc347b;p=rocksndiamonds.git diff --git a/src/tape.c b/src/tape.c index a8ac4cea..71addab3 100644 --- a/src/tape.c +++ b/src/tape.c @@ -1066,13 +1066,23 @@ void TapeQuickLoad() void InsertSolutionTape() { - if (!TAPE_IS_EMPTY(tape)) + boolean level_has_tape = (level.game_engine_type == GAME_ENGINE_TYPE_SP && + level.native_sp_level->demo.is_available); + + if (!fileExists(getSolutionTapeFilename(level_nr)) && !level_has_tape) + { + Request("No solution tape for this level!", REQ_CONFIRM); + return; + } + + // if tape recorder already contains a tape, remove it without asking + TapeErase(); LoadSolutionTape(level_nr); if (TAPE_IS_EMPTY(tape)) - Request("No solution tape for this level!", REQ_CONFIRM); + Request("Loading solution tape for this level failed!", REQ_CONFIRM); DrawCompleteVideoDisplay(); }