fixed bug with displaying the wrong level number in the game panel
authorHolger Schemel <info@artsoft.org>
Sat, 8 Sep 2018 22:07:47 +0000 (00:07 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 8 Sep 2018 22:17:02 +0000 (00:17 +0200)
When introducing a global levelset identifier and level number (see
commit b7fe72dc), the level number to be displayed on the game panel
was updated in the main menu and for network games, but not when
selecting another level from the main menu or when automatically
playing the next level after solving a level (and skipping the main
menu before starting the next level), which results in displaying the
wrong level number in the game panel in many cases.

This was fixed now by updating the level number when loading the level
from the level file (moving the function to update the level number to
be displayed from the main menu to the function to load the level).

src/files.c
src/screens.c

index 21bede9a7be2fbf873b82a6ee3b2ae10e64d0512..266ef708c43fe0db8c4936612b92bd0f8a3a40a9 100644 (file)
@@ -6648,6 +6648,8 @@ static void LoadLevel_LoadAndInit(struct LevelFileInfo *lfi_network_template)
 
 void LoadLevel(int nr)
 {
+  SetLevelSetInfo(leveldir_current->identifier, nr);
+
   setLevelFileInfo(&level.file_info, nr);
 
   LoadLevel_LoadAndInit(NULL);
index 4ee8179d68dc4a564f6349415908df02d2f802a6..337bd5652fafbfb5934c884626da4f9618646d05 100644 (file)
@@ -1591,8 +1591,6 @@ void DrawMainMenu()
 
   init_last = init;                    /* switch to new busy animation */
 
-  SetLevelSetInfo(leveldir_current->identifier, level_nr);
-
   /* needed if last screen (level choice) changed graphics, sounds or music */
   ReloadCustomArtwork(0);