cleanup of tape recorder display activation/deactivation
[rocksndiamonds.git] / src / tape.c
index ff5f6199ef6f5c482e5d75d8cbb32a644a92b71a..24adbca12074afb8ab928d583a0dc8f99e7827e6 100644 (file)
@@ -675,36 +675,26 @@ void TapeTogglePause(boolean toggle_manual)
 
   DrawVideoDisplayPlayState();
 
-  if (tape.warp_forward)
+  if (tape.deactivate_display)
   {
     if (tape.pausing)
-    {
       TapeDeactivateDisplayOff(game_status == GAME_MODE_PLAYING);
-    }
-    else if (tape.deactivate_display)
-    {
-      TapeDeactivateDisplayOn();
-
-      DrawVideoDisplaySymbol(VIDEO_STATE_WARP_ON);
-    }
     else
-    {
-      DrawVideoDisplaySymbol(VIDEO_STATE_WARP2_ON);
-    }
+      TapeDeactivateDisplayOn();
+  }
 
-    if (tape.quick_resume)
-    {
-      tape.quick_resume = FALSE;
+  if (tape.quick_resume)
+  {
+    tape.quick_resume = FALSE;
 
-      TapeStopWarpForward();
-      TapeAppendRecording();
+    TapeStopWarpForward();
+    TapeAppendRecording();
 
-      if (!CheckEngineSnapshotSingle())
-       SaveEngineSnapshotSingle();
+    if (!CheckEngineSnapshotSingle())
+      SaveEngineSnapshotSingle();
 
-      // restart step/move snapshots after quick loading tape
-      SaveEngineSnapshotToListInitial();
-    }
+    // restart step/move snapshots after quick loading tape
+    SaveEngineSnapshotToListInitial();
   }
 
   if (setup.show_snapshot_buttons &&
@@ -785,6 +775,16 @@ byte *TapePlayAction()
     }
   }
 
+  if (tape.counter >= tape.length)     /* end of tape reached */
+  {
+    if (tape.warp_forward && !tape.auto_play)
+      TapeTogglePause(TAPE_TOGGLE_MANUAL);
+    else
+      TapeStop();
+
+    return NULL;
+  }
+
   if (update_video_display && !tape.deactivate_display)
   {
     if (tape.pause_before_end)
@@ -796,16 +796,6 @@ byte *TapePlayAction()
       DrawVideoDisplaySymbol(VIDEO_STATE_WARP2_ON);
   }
 
-  if (tape.counter >= tape.length)     /* end of tape reached */
-  {
-    if (tape.warp_forward && !tape.auto_play)
-      TapeTogglePause(TAPE_TOGGLE_MANUAL);
-    else
-      TapeStop();
-
-    return NULL;
-  }
-
   for (i = 0; i < MAX_PLAYERS; i++)
     action[i] = tape.pos[tape.counter].action[i];