DrawVideoDisplay(state, VIDEO_DISPLAY_SYMBOL_ONLY);
}
-void DrawVideoDisplayPlayState()
+void DrawVideoDisplayCurrentState()
{
int state = 0;
DrawVideoDisplay(VIDEO_STATE_OFF, 0);
- state |= VIDEO_STATE_PLAY_ON;
-
if (tape.pausing)
- {
state |= VIDEO_STATE_PAUSE_ON;
+
+ if (tape.recording)
+ {
+ state |= VIDEO_STATE_REC_ON;
+
+ if (tape.single_step)
+ state |= VIDEO_STATE_1STEP_ON;
}
- else
+ else if (tape.playing)
{
+ state |= VIDEO_STATE_PLAY_ON;
+
if (tape.deactivate_display)
state |= VIDEO_STATE_WARP2_ON;
else if (tape.warp_forward)
if (tape.single_step && toggle_manual)
tape.single_step = FALSE;
- DrawVideoDisplayPlayState();
+ DrawVideoDisplayCurrentState();
if (tape.deactivate_display)
{
TapeDeactivateDisplayOn();
- DrawVideoDisplayPlayState();
+ DrawVideoDisplayCurrentState();
}
static void TapeStopWarpForward()
TapeDeactivateDisplayOff(game_status == GAME_MODE_PLAYING);
- DrawVideoDisplayPlayState();
+ DrawVideoDisplayCurrentState();
}
static void TapeSingleStep()
{
tape.pause_before_end = !tape.pause_before_end;
- DrawVideoDisplayPlayState();
+ DrawVideoDisplayCurrentState();
}
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 */
else
TapeTogglePause(TAPE_TOGGLE_MANUAL);
}
+
break;
case TAPE_CTRL_ID_PLAY:
// 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 */
TapeDeactivateDisplayOff(game_status == GAME_MODE_PLAYING);
}
- DrawVideoDisplayPlayState();
+ DrawVideoDisplayCurrentState();
}
+
break;
default: