fixed setting BD style image color template after changing artwork
authorHolger Schemel <holger.schemel@virtion.de>
Wed, 27 Nov 2024 18:27:28 +0000 (19:27 +0100)
committerHolger Schemel <holger.schemel@virtion.de>
Wed, 27 Nov 2024 16:34:11 +0000 (17:34 +0100)
As each (BD style) level may change the image color template using new
colors for game graphics as defined in the level file for this level,
new custom artwork (with color template definitions) must always be
reloaded before loading the level file (and adjusting the image color
template according to the colors defined in the level file).

src/screens.c

index ed511a594c880289d49d5319960e710af380bae2..11a24ddc3be35a31ff286ac1c18cdec573f89ae4 100644 (file)
@@ -2184,14 +2184,15 @@ void DrawMainMenu(void)
   if (setup.allow_skipping_levels != STATE_TRUE && level_nr > leveldir_current->handicap_level)
     level_nr = leveldir_current->handicap_level;
 
+  // needed if last screen (level choice) changed graphics, sounds or music
+  ReloadCustomArtwork(0);
+
+  // level may use image color template, so reload custom artwork before loading level
   LoadLevel(level_nr);
   LoadScore(level_nr);
 
   SaveLevelSetup_SeriesInfo();
 
-  // needed if last screen (level choice) changed graphics, sounds or music
-  ReloadCustomArtwork(0);
-
   if (CheckTitleScreen(levelset_has_changed))
   {
     SetGameStatus(GAME_MODE_TITLE);