fixed changing viewport properties not before fading out last screen
[rocksndiamonds.git] / src / screens.c
index d5e65265346b811866b2c3202a7aa5b92008f305..1748b1aa9adad2a11c185f7138aeeccd8e553fa6 100644 (file)
@@ -18,7 +18,7 @@
 #include "editor.h"
 #include "files.h"
 #include "tape.h"
-#include "cartoons.h"
+#include "anim.h"
 #include "network.h"
 #include "init.h"
 #include "config.h"
@@ -278,7 +278,10 @@ static struct
 {
   {    STR_SPECIAL_RENDERING_OFF,      "Off (May show artifacts, fast)" },
   {    STR_SPECIAL_RENDERING_BITMAP,   "Bitmap/Texture mode (slower)"   },
+#if DEBUG
+  // this mode may work under certain conditions, but does not work on Windows
   {    STR_SPECIAL_RENDERING_TARGET,   "Target Texture mode (slower)"   },
+#endif
   {    STR_SPECIAL_RENDERING_DOUBLE,   "Double Texture mode (slower)"   },
 
   {    NULL,                            NULL                            },
@@ -1446,9 +1449,6 @@ void DrawMainMenu()
     return;
   }
 
-  /* needed if different viewport properties defined for menues */
-  ChangeViewportPropertiesIfNeeded();
-
   if (redraw_mask & REDRAW_ALL)
     fade_mask = REDRAW_ALL;
 
@@ -1457,7 +1457,10 @@ void DrawMainMenu()
 
   FadeOut(fade_mask);
 
-  SetDrawtoField(DRAW_BACKBUFFER);
+  /* needed if different viewport properties defined for menues */
+  ChangeViewportPropertiesIfNeeded();
+
+  SetDrawtoField(DRAW_TO_BACKBUFFER);
 
   /* level_nr may have been set to value over handicap with level editor */
   if (setup.handicap && level_nr > leveldir_current->handicap_level)
@@ -4131,9 +4134,6 @@ void DrawHallOfFame(int highlight_position)
 {
   int fade_mask = REDRAW_FIELD;
 
-  /* needed if different viewport properties defined for scores */
-  ChangeViewportPropertiesIfNeeded();
-
   if (CheckIfGlobalBorderHasChanged())
     fade_mask = REDRAW_ALL;
 
@@ -4155,6 +4155,9 @@ void DrawHallOfFame(int highlight_position)
 
   FadeOut(fade_mask);
 
+  /* needed if different viewport properties defined for scores */
+  ChangeViewportPropertiesIfNeeded();
+
   PlayMenuSound();
   PlayMenuMusic();