replaced stop/play buttons in game panel with save/load buttons
[rocksndiamonds.git] / src / tape.c
index f6f75061d9464e978d05506cdee064b4bf09fb4a..efc8bcb4c26eca3fdf8189470d00319dbdb0dc02 100644 (file)
@@ -739,10 +739,21 @@ void TapeTogglePause(boolean toggle_manual)
 
       TapeAppendRecording();
 
-      if (!CheckEngineSnapshot())
-       SaveEngineSnapshot();
+      if (!CheckEngineSnapshotSingle())
+       SaveEngineSnapshotSingle();
+
+      // restart step/move snapshots after quick loading tape
+      SaveEngineSnapshotToListInitial();
     }
   }
+
+  if (CheckEngineSnapshotList())
+  {
+    if (tape.pausing)
+      MapUndoRedoButtons();
+    else if (!tape.single_step)
+      UnmapUndoRedoButtons();
+  }
 }
 
 void TapeStartPlaying()
@@ -1002,7 +1013,7 @@ void TapeQuickSave()
   }
 
   if (SaveTapeChecked(tape.level_nr))
-    SaveEngineSnapshot();
+    SaveEngineSnapshotSingle();
 }
 
 void TapeQuickLoad()
@@ -1027,11 +1038,11 @@ void TapeQuickLoad()
   if (game_status != GAME_MODE_PLAYING && game_status != GAME_MODE_MAIN)
     return;
 
-  if (CheckEngineSnapshot())
+  if (CheckEngineSnapshotSingle())
   {
     TapeStartGamePlaying();
 
-    LoadEngineSnapshot();
+    LoadEngineSnapshotSingle();
 
     DrawCompleteVideoDisplay();
 
@@ -1041,6 +1052,9 @@ void TapeQuickLoad()
     TapeStopWarpForward();
     TapeAppendRecording();
 
+    // restart step/move snapshots after quick loading tape
+    SaveEngineSnapshotToListInitial();
+
     if (FrameCounter > 0)
       return;
   }