fixed centered screen position for keyboard/joystick configuration
[rocksndiamonds.git] / src / game.c
index dcae9beb90f84cd5c669b393903b79213dd938fd..6d07ec5489b05a0a8cec073449b8bd2af0e6eed3 100644 (file)
@@ -3305,17 +3305,18 @@ void InitGame()
 
   ExpireSoundLoops(TRUE);
 
-  FadeOut(fade_mask);
+  if (!level_editor_test_game)
+    FadeOut(fade_mask);
 
   /* needed if different viewport properties defined for playing */
   ChangeViewportPropertiesIfNeeded();
 
   ClearField();
 
-  OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
-
   DrawCompleteVideoDisplay();
 
+  OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+
   InitGameEngine();
   InitGameControlValues();
 
@@ -3344,10 +3345,12 @@ void InitGame()
     player->mouse_action.lx = 0;
     player->mouse_action.ly = 0;
     player->mouse_action.button = 0;
+    player->mouse_action.button_hint = 0;
 
     player->effective_mouse_action.lx = 0;
     player->effective_mouse_action.ly = 0;
     player->effective_mouse_action.button = 0;
+    player->effective_mouse_action.button_hint = 0;
 
     player->score = 0;
     player->score_final = 0;
@@ -4183,11 +4186,6 @@ void InitGame()
 
     OpenDoor(DOOR_OPEN_ALL);
 
-    PlaySound(SND_GAME_STARTING);
-
-    if (setup.sound_music)
-      PlayLevelMusic();
-
     KeyboardAutoRepeatOffUnlessAutoplay();
 
 #if DEBUG_INIT_PLAYER
@@ -4233,6 +4231,14 @@ void InitGame()
     InitGameActions_MM();
 
   SaveEngineSnapshotToListInitial();
+
+  if (!game.restart_level)
+  {
+    PlaySound(SND_GAME_STARTING);
+
+    if (setup.sound_music)
+      PlayLevelMusic();
+  }
 }
 
 void UpdateEngineValues(int actual_scroll_x, int actual_scroll_y,