fixed (un)drawing special editor door when it is not appropriate
[rocksndiamonds.git] / src / game.c
index 1f0270d9051fbd850bbae2b27fd1deb94b8b82d8..0b2d47fd4bb2f618fc1cb208d5e6aa98437e6b04 100644 (file)
@@ -3098,33 +3098,20 @@ void InitGame()
   if (!game.restart_level)
     CloseDoor(DOOR_CLOSE_1);
 
-#if 1
   /* needed if different viewport properties defined for playing */
   ChangeViewportPropertiesIfNeeded();
-#endif
 
   if (level_editor_test_game)
     FadeSkipNextFadeIn();
   else
     FadeSetEnterScreen();
 
-  if (CheckIfRedrawGlobalBorderIsNeeded())
+  if (CheckIfGlobalBorderHasChanged())
     fade_mask = REDRAW_ALL;
 
-#if 0
-  printf("::: %d\n", (fade_mask == REDRAW_ALL ? 1 : 0));
-#endif
-
   FadeOut(fade_mask);
 
-#if 0
-  /* needed if different viewport properties defined for playing */
-  ChangeViewportPropertiesIfNeeded();
-#endif
-
-#if 1
   ClearField();
-#endif
 
   DrawCompleteVideoDisplay();
 
@@ -3967,9 +3954,14 @@ void InitGame()
   {
     UnmapGameButtons();
     UnmapTapeButtons();
+
+    FreeGameButtons();
+    CreateGameButtons();
+
     game_gadget[SOUND_CTRL_ID_MUSIC]->checked = setup.sound_music;
     game_gadget[SOUND_CTRL_ID_LOOPS]->checked = setup.sound_loops;
     game_gadget[SOUND_CTRL_ID_SIMPLE]->checked = setup.sound_simple;
+
     MapGameButtons();
     MapTapeButtons();
 
@@ -4424,7 +4416,7 @@ void GameEnd()
   {
     game_status = GAME_MODE_MAIN;
 
-    DrawAndFadeInMainMenu(REDRAW_FIELD);
+    DrawMainMenu();
 
     return;
   }
@@ -4435,7 +4427,7 @@ void GameEnd()
 
     game_status = GAME_MODE_MAIN;
 
-    DrawAndFadeInMainMenu(REDRAW_FIELD);
+    DrawMainMenu();
 
     return;
   }
@@ -4454,9 +4446,6 @@ void GameEnd()
   {
     game_status = GAME_MODE_SCORES;
 
-    /* needed if different viewport properties defined for scores */
-    ChangeViewportPropertiesIfNeeded();
-
     DrawHallOfFame(hi_pos);
 
     if (raise_level)
@@ -4477,7 +4466,7 @@ void GameEnd()
       TapeErase();
     }
 
-    DrawAndFadeInMainMenu(REDRAW_FIELD);
+    DrawMainMenu();
   }
 }
 
@@ -14489,13 +14478,13 @@ void RequestQuitGameExt(boolean skip_request, boolean quick_quit, char *message)
 
        game_status = GAME_MODE_MAIN;
 
-       DrawAndFadeInMainMenu(REDRAW_FIELD);
+       DrawMainMenu();
       }
       else
       {
        game_status = GAME_MODE_MAIN;
 
-       DrawAndFadeInMainMenu(REDRAW_FIELD);
+       DrawMainMenu();
       }
     }
   }