added playing the first unconfigured music file in the first level
authorHolger Schemel <info@artsoft.org>
Wed, 12 Apr 2023 12:01:48 +0000 (14:01 +0200)
committerHolger Schemel <info@artsoft.org>
Wed, 12 Apr 2023 12:09:48 +0000 (14:09 +0200)
Before, the (unconfigured) music file to be played in the first level
of a level set depended on the number of the first level (with the
result that the first music file was played in level 000, the second
music file was played in level 001 and so on, which probably was not
the intended behaviour when the level set started with level 001).

Now the first music file in the list of unconfigured music files is
played in the first level of a level set, regardless of the number of
that level (which is either 000 or 001 for most level sets).

src/game.c

index 6473b49a8030bf25ebcb47d333cc207d2fbb25b8..a6287f2e0b202b60cc889c4120c326b597bb61fb 100644 (file)
@@ -15241,10 +15241,12 @@ static void StopLevelSoundActionIfLoop(int x, int y, int action)
 
 static int getLevelMusicNr(void)
 {
+  int level_pos = level_nr - leveldir_current->first_level;
+
   if (levelset.music[level_nr] != MUS_UNDEFINED)
     return levelset.music[level_nr];           // from config file
   else
-    return MAP_NOCONF_MUSIC(level_nr);         // from music dir
+    return MAP_NOCONF_MUSIC(level_pos);                // from music dir
 }
 
 static void FadeLevelSounds(void)