changed sound handling to only expire loop sounds during gameplay
[rocksndiamonds.git] / src / game.c
index 2aa3b3458e28d98d216dded012f8ab491bb23e69..29303a7e2f75eb069f2d18bb80d21beae9f9b3a3 100644 (file)
@@ -3097,11 +3097,11 @@ void InitGame()
   // required here to update video display before fading (FIX THIS)
   DrawMaskedBorder(REDRAW_DOOR_2);
 
-  SetGameStatus(GAME_MODE_PLAYING);
-
   if (!game.restart_level)
     CloseDoor(DOOR_CLOSE_1);
 
+  SetGameStatus(GAME_MODE_PLAYING);
+
   /* needed if different viewport properties defined for playing */
   ChangeViewportPropertiesIfNeeded();
 
@@ -3113,12 +3113,14 @@ void InitGame()
   if (CheckIfGlobalBorderHasChanged())
     fade_mask = REDRAW_ALL;
 
-  FadeOut(fade_mask);
+  ExpireSoundLoops(TRUE);
 
-  OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+  FadeOut(fade_mask);
 
   ClearField();
 
+  OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+
   DrawCompleteVideoDisplay();
 
   InitGameEngine();