added checkbox to player settings in editor if first player solves level
[rocksndiamonds.git] / src / game.c
index 965e42308c307329d1b6b7a7c0e9c3599d455a81..e0f9c8781c8f199311028141fe57aee066ad09b1 100644 (file)
@@ -3573,6 +3573,8 @@ void InitGame()
   game.ball_state = level.ball_state_initial;
   game.ball_content_nr = 0;
 
+  game.explosions_delayed = TRUE;
+
   game.envelope_active = FALSE;
 
   for (i = 0; i < NUM_BELTS; i++)
@@ -3954,6 +3956,9 @@ void InitGame()
     if (stored_player[i].active)
       local_player->players_still_needed++;
 
+  if (level.solved_by_one_player)
+    local_player->players_still_needed = 1;
+
   /* when recording the game, store which players take part in the game */
   if (tape.recording)
   {
@@ -13423,7 +13428,8 @@ void ExitPlayer(struct PlayerInfo *player)
   DrawPlayer(player);  /* needed here only to cleanup last field */
   RemovePlayer(player);
 
-  local_player->players_still_needed--;
+  if (local_player->players_still_needed > 0)
+    local_player->players_still_needed--;
 }
 
 static void setFieldForSnapping(int x, int y, int element, int direction)
@@ -14594,7 +14600,7 @@ static void PlayLevelMusic()
   char *next_music = getMusicInfoEntryFilename(music_nr);
 
   if (!strEqual(curr_music, next_music))
-    PlayMusic(music_nr);
+    PlayMusicLoop(music_nr);
 }
 
 void PlayLevelSound_EM(int xx, int yy, int element_em, int sample)