return (GetTapeLengthFrames() * GAME_FRAME_DELAY / 1000);
}
-static void TapeStartWarpForward()
+static void TapeStartWarpForward(int mode)
{
- tape.fast_forward = TRUE;
- tape.warp_forward = TRUE;
- tape.deactivate_display = TRUE;
+ tape.fast_forward = (mode & AUTOPLAY_FFWD);
+ tape.warp_forward = (mode & AUTOPLAY_WARP);
+ tape.deactivate_display = (mode & AUTOPLAY_WARP_NO_DISPLAY);
tape.pausing = FALSE;
- TapeDeactivateDisplayOn();
+ if (tape.deactivate_display)
+ TapeDeactivateDisplayOn();
DrawVideoDisplayCurrentState();
}
if (!TAPE_IS_EMPTY(tape))
{
TapeStartGamePlaying();
- TapeStartWarpForward();
+ TapeStartWarpForward(AUTOPLAY_MODE_WARP_NO_DISPLAY);
tape.quick_resume = TRUE;
}
printf("playing tape ... ");
TapeStartGamePlaying();
-
- if (global.autoplay_mode == AUTOPLAY_FFWD)
- tape.fast_forward = TRUE;
-
- if (global.autoplay_mode != AUTOPLAY_PLAY)
- TapeStartWarpForward();
+ TapeStartWarpForward(global.autoplay_mode);
return;
}