+void DrawVideoDisplayCurrentState()
+{
+ int state = 0;
+
+ DrawVideoDisplay(VIDEO_STATE_OFF, 0);
+
+ 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 if (tape.playing)
+ {
+ state |= VIDEO_STATE_PLAY_ON;
+
+ if (tape.deactivate_display)
+ state |= VIDEO_STATE_WARP2_ON;
+ else if (tape.warp_forward)
+ state |= VIDEO_STATE_WARP_ON;
+ else if (tape.fast_forward)
+ state |= VIDEO_STATE_FFWD_ON;
+
+ if (tape.pause_before_end)
+ state |= VIDEO_STATE_PBEND_ON;
+ }
+
+ // draw labels and symbols separately to prevent labels overlapping symbols
+ DrawVideoDisplayLabel(state);
+ DrawVideoDisplaySymbol(state);
+}
+