X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftape.c;h=963ca1e89a6253b7a8f6d25fc9c264612395554c;hp=ff6d10f250c8e48d6e440b0bbbb3eb9690944f9e;hb=33843542519f8ddc28d1ad563124b151cf79425c;hpb=e9a2029050b7d36830d3a6c7e1b21831ba0d2b42 diff --git a/src/tape.c b/src/tape.c index ff6d10f2..963ca1e8 100644 --- a/src/tape.c +++ b/src/tape.c @@ -1311,21 +1311,27 @@ static void HandleTapeButtonsExt(int id) DrawVideoDisplayPlayState(); } else if (tape.recording) + { TapeSingleStep(); + } break; case TAPE_CTRL_ID_STOP: TapeStop(); + break; case TAPE_CTRL_ID_PAUSE: TapeTogglePause(TAPE_TOGGLE_MANUAL); + break; case TAPE_CTRL_ID_RECORD: if (TAPE_IS_STOPPED(tape)) + { TapeStartGameRecording(); + } else if (tape.pausing) { if (tape.playing) /* PLAY -> PAUSE -> RECORD */ @@ -1333,6 +1339,7 @@ static void HandleTapeButtonsExt(int id) else TapeTogglePause(TAPE_TOGGLE_MANUAL); } + break; case TAPE_CTRL_ID_PLAY: @@ -1357,9 +1364,10 @@ static void HandleTapeButtonsExt(int id) // continue playing in normal mode tape.fast_forward = FALSE; tape.warp_forward = FALSE; - tape.pause_before_end = FALSE; tape.deactivate_display = FALSE; + tape.pause_before_end = FALSE; + TapeTogglePause(TAPE_TOGGLE_MANUAL); } else if (!tape.fast_forward) /* PLAY -> FFWD */ @@ -1387,6 +1395,7 @@ static void HandleTapeButtonsExt(int id) DrawVideoDisplayPlayState(); } + break; default: