rnd-20140311-1-src
[rocksndiamonds.git] / src / screens.c
index 5bcaa1d5abb047a22033ac7e0356575f7da8ab48..c15d68b6466f07be46446ee6ea72f19d0ad31e18 100644 (file)
@@ -1481,6 +1481,11 @@ void DrawMainMenuExt(int fade_mask, boolean do_fading)
   MapTapeButtons();
   MapScreenMenuGadgets(SCREEN_MASK_MAIN);
 
+#if 1
+  /* copy actual game door content to door double buffer for OpenDoor() */
+  BlitBitmap(drawto, bitmap_db_door_2, VX, VY, VXSIZE, VYSIZE, 0, 0);
+#endif
+
 #if 1
   if (fade_mask == REDRAW_ALL)
   {
@@ -1875,6 +1880,10 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
   {
     game_status = GAME_MODE_LEVELNR;
 
+#if 1
+    ChangeViewportPropertiesIfNeeded();
+#endif
+
     DrawChooseLevelNr();
   }
   else if (pos >= MAIN_CONTROL_NAME && pos <= MAIN_CONTROL_QUIT)
@@ -1914,6 +1923,10 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
          gotoTopLevelDir();
 #endif
 
+#if 1
+         ChangeViewportPropertiesIfNeeded();
+#endif
+
          DrawChooseLevelSet();
        }
       }
@@ -1921,6 +1934,10 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
       {
        game_status = GAME_MODE_SCORES;
 
+#if 1
+       ChangeViewportPropertiesIfNeeded();
+#endif
+
        DrawHallOfFame(-1);
       }
       else if (pos == MAIN_CONTROL_EDITOR)
@@ -1947,6 +1964,10 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
        game_status = GAME_MODE_INFO;
        info_mode = INFO_MODE_MAIN;
 
+#if 1
+       ChangeViewportPropertiesIfNeeded();
+#endif
+
        DrawInfoScreen();
       }
       else if (pos == MAIN_CONTROL_GAME)
@@ -1958,6 +1979,10 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
        game_status = GAME_MODE_SETUP;
        setup_mode = SETUP_MODE_MAIN;
 
+#if 1
+       ChangeViewportPropertiesIfNeeded();
+#endif
+
        DrawSetupScreen();
       }
       else if (pos == MAIN_CONTROL_QUIT)