added music files to repository
[rocksndiamonds.git] / src / game.c
index 0fa3035d4fce292bfa48d717d8e0a2ae697397da..57c7b87326383a566c1e09974e3d4d1aafa928e8 100644 (file)
@@ -2575,7 +2575,7 @@ void DisplayGameControlValues()
 
 void UpdateAndDisplayGameControlValues()
 {
-  if (tape.warp_forward)
+  if (tape.deactivate_display)
     return;
 
   UpdateGameControlValues();
@@ -3909,6 +3909,14 @@ void InitGame()
 
   FadeIn(REDRAW_FIELD);
 
+#if 1
+  // full screen redraw is required at this point in the following cases:
+  // - special editor door undrawn when game was started from level editor
+  // - drawing area (playfield) was changed and has to be removed completely
+  redraw_mask = REDRAW_ALL;
+  BackToFront();
+#endif
+
   if (!game.restart_level)
   {
     /* copy default game door content to main double buffer */
@@ -10824,6 +10832,9 @@ static void CheckLevelTime()
       DrawVideoDisplay(VIDEO_STATE_TIME_ON, TapeTime);
   }
 
+  if (tape.recording || tape.playing)
+    DrawVideoDisplay(VIDEO_STATE_FRAME_ON, FrameCounter);
+
   UpdateAndDisplayGameControlValues();
 }
 
@@ -14689,7 +14700,7 @@ boolean CheckEngineSnapshot()
 static struct
 {
   int graphic;
-  struct Rect *pos;
+  struct XY *pos;
   int gadget_id;
   char *infotext;
 } gamebutton_info[NUM_GAME_BUTTONS] =
@@ -14735,7 +14746,7 @@ void CreateGameButtons()
   for (i = 0; i < NUM_GAME_BUTTONS; i++)
   {
     struct GraphicInfo *gfx = &graphic_info[gamebutton_info[i].graphic];
-    struct Rect *pos = gamebutton_info[i].pos;
+    struct XY *pos = gamebutton_info[i].pos;
     struct GadgetInfo *gi;
     int button_type;
     boolean checked;