added (and set) identifier and level number to global levelset structure
authorHolger Schemel <info@artsoft.org>
Thu, 30 Aug 2018 19:46:11 +0000 (21:46 +0200)
committerHolger Schemel <info@artsoft.org>
Thu, 30 Aug 2018 19:49:31 +0000 (21:49 +0200)
src/init.c
src/libgame/system.h
src/network.c
src/screens.c
src/tools.c
src/tools.h

index ad660e3..6db427f 100644 (file)
@@ -5489,6 +5489,8 @@ static void InitLevelInfo()
     if (leveldir_current == NULL)
       leveldir_current = getFirstValidTreeInfoEntry(leveldir_first);
   }
+
+  SetLevelSetInfo(leveldir_current->identifier, level_nr);
 }
 
 static void InitLevelArtworkInfo()
index 76169ef..29a9801 100644 (file)
@@ -1569,6 +1569,9 @@ struct MouseActionInfo
 struct LevelSetInfo
 {
   int music[MAX_LEVELS];
+
+  char *identifier;
+  int level_nr;
 };
 
 struct LevelStats
index 5748097..bf12567 100644 (file)
@@ -694,6 +694,8 @@ static void Handle_OP_START_PLAYING()
     level_nr = new_level_nr;
   }
 
+  SetLevelSetInfo(new_leveldir_identifier, new_level_nr);
+
   /* needed if level set of network game changed graphics, sounds or music */
   ReloadCustomArtwork(0);
 
index 337bd56..4ee8179 100644 (file)
@@ -1591,6 +1591,8 @@ 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);
 
index db2e193..e6f09e1 100644 (file)
@@ -9391,6 +9391,13 @@ void ResetFontStatus()
   SetFontStatus(-1);
 }
 
+void SetLevelSetInfo(char *identifier, int level_nr)
+{
+  setString(&levelset.identifier, identifier);
+
+  levelset.level_nr = level_nr;
+}
+
 boolean CheckIfPlayfieldViewportHasChanged()
 {
   // if game status has not changed, playfield viewport has not changed either
index a5e348a..b67f23b 100644 (file)
@@ -278,6 +278,8 @@ void SetGameStatus(int);
 void SetFontStatus(int);
 void ResetFontStatus();
 
+void SetLevelSetInfo(char *, int);
+
 void ToggleFullscreenOrChangeWindowScalingIfNeeded();
 void ChangeViewportPropertiesIfNeeded();