fixed trying to quick-save tape when playing game without recording
[rocksndiamonds.git] / src / tape.c
index 240a149263f0116ab9588dd9265dcfca35c91ded..6b3523d419d4cf9b4a2ea8be3d2494409d92ae48 100644 (file)
@@ -994,16 +994,22 @@ byte *TapePlayAction(void)
       TapeStopWarpForward();
       TapeTogglePause(TAPE_TOGGLE_MANUAL);
 
+      if (setup.autorecord_after_replay)
+       TapeAppendRecording();
+
       return NULL;
     }
   }
 
   if (tape.counter >= tape.length)     // end of tape reached
   {
-    if (tape.warp_forward && !tape.auto_play)
+    if (!tape.auto_play)
     {
       TapeStopWarpForward();
       TapeTogglePause(TAPE_TOGGLE_MANUAL);
+
+      if (setup.autorecord_after_replay)
+       TapeAppendRecording();
     }
     else
     {
@@ -1189,6 +1195,13 @@ void TapeQuickSave(void)
   if (game_status != GAME_MODE_PLAYING)
     return;
 
+  if (!tape.recording)
+  {
+    Request("No recording that can be saved!", REQ_CONFIRM);
+
+    return;
+  }
+
   if (tape.recording)
     TapeHaltRecording();       // prepare tape for saving on-the-fly