X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.c;h=bf24b531d24b9adbdd6679012689ddb3a12f7f51;hb=061f84155f331a4a605e59f985b7ea5313bb9b8b;hp=852b82d77701274131a566cfab4cf807c55eed3b;hpb=12a8fd3a64d6bee5ca5f5b89e4a00b49d78bbd2c;p=rocksndiamonds.git diff --git a/src/tape.c b/src/tape.c index 852b82d7..bf24b531 100644 --- a/src/tape.c +++ b/src/tape.c @@ -596,6 +596,10 @@ void TapeStartRecording(int random_seed) SetDrawDeactivationMask(REDRAW_NONE); audio.sound_deactivated = FALSE; + + // required here to update video display if tape door is closed + if (GetDoorState() & DOOR_CLOSE_2) + OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); } static void TapeStartGameRecording(void) @@ -760,14 +764,17 @@ void TapeTogglePause(boolean toggle_mode) return; } - if (setup.show_snapshot_buttons && - game_status == GAME_MODE_PLAYING && - CheckEngineSnapshotList()) + if (game_status == GAME_MODE_PLAYING) { - if (tape.pausing) - MapUndoRedoButtons(); - else if (!tape.single_step) - UnmapUndoRedoButtons(); + if (setup.show_snapshot_buttons && CheckEngineSnapshotList()) + { + if (tape.pausing) + MapUndoRedoButtons(); + else if (!tape.single_step) + UnmapUndoRedoButtons(); + } + + ModifyPauseButtons(); } } @@ -1244,12 +1251,13 @@ void AutoPlayTape(void) PrintLine("=", 79); Print("Number of levels played: %d\n", num_levels_played); Print("Number of levels solved: %d (%d%%)\n", num_levels_solved, - (num_levels_played ? num_levels_solved * 100 / num_levels_played :0)); + (num_levels_played ? num_levels_solved * 100 / num_levels_played : 0)); PrintLine("-", 79); Print("Summary (for automatic parsing by scripts):\n"); - Print("LEVELDIR '%s', SOLVED %d/%d (%d%%)", - autoplay_leveldir->identifier, num_levels_solved, num_levels_played, - (num_levels_played ? num_levels_solved * 100 / num_levels_played :0)); + Print("LEVELDIR [%s] '%s', SOLVED %d/%d (%d%%)", + (num_levels_played == num_levels_solved ? " OK " : "WARN"), + autoplay_leveldir->identifier, num_levels_solved, num_levels_played, + (num_levels_played ? num_levels_solved * 100 / num_levels_played : 0)); if (num_levels_played != num_levels_solved) { @@ -1405,9 +1413,6 @@ void RedrawTapeButtons(void) if (tape.show_game_buttons) RedrawGameButtonsOnTape(); - - // RedrawGadget() may have set REDRAW_ALL if buttons are defined off-area - redraw_mask &= ~REDRAW_ALL; } void RedrawOrRemapTapeButtons(void)