rnd-20030802-2-src
[rocksndiamonds.git] / src / screens.c
index 65708d2409bcd94ee0fad82907cee07c8349388f..d096d3bb5ec12162b1e7d7a4c0fcd5b4d1d3226f 100644 (file)
@@ -197,6 +197,8 @@ void DrawMainMenu()
   int level_width = font_width * strlen("Level:");
   int i;
 
+  printf("::: CHECK A: '%s'\n", leveldir_current->graphics_path);
+
   UnmapAllGadgets();
   FadeSounds();
 
@@ -222,9 +224,24 @@ void DrawMainMenu()
   /* needed if last screen was the setup screen and fullscreen state changed */
   ToggleFullscreenIfNeeded();
 
+  printf("::: CHECK B.1: '%s'\n", leveldir_current->graphics_path);
+
+#if 1
+  /* leveldir_current may be invalid (level group, parent link) */
+  if (!validLevelSeries(leveldir_current))
+    leveldir_current = getFirstValidTreeInfoEntry(leveldir_last_valid);
+
+  /* store valid level series information */
+  leveldir_last_valid = leveldir_current;
+#endif
+
+  printf("::: CHECK B.2: '%s'\n", leveldir_current->graphics_path);
+
   /* needed if last screen (level choice) changed graphics, sounds or music */
   ReloadCustomArtwork();
 
+  printf("::: CHECK C: '%s'\n", leveldir_current->graphics_path);
+
 #ifdef TARGET_SDL
   SetDrawtoField(DRAW_BACKBUFFER);
 #endif
@@ -232,12 +249,14 @@ void DrawMainMenu()
   /* map gadgets for main menu screen */
   MapTapeButtons();
 
+#if 0
   /* leveldir_current may be invalid (level group, parent link) */
   if (!validLevelSeries(leveldir_current))
     leveldir_current = getFirstValidTreeInfoEntry(leveldir_last_valid);
 
   /* store valid level series information */
   leveldir_last_valid = leveldir_current;
+#endif
 
   /* level_nr may have been set to value over handicap with level editor */
   if (setup.handicap && level_nr > leveldir_current->handicap_level)
@@ -306,6 +325,8 @@ static void gotoTopLevelDir()
   /* move upwards to top level directory */
   while (leveldir_current->node_parent)
   {
+    printf("::: ---> '%s'\n", leveldir_current->graphics_path);
+
     /* write a "path" into level tree for easy navigation to last level */
     if (leveldir_current->node_parent->node_group->cl_first == -1)
     {
@@ -327,7 +348,11 @@ static void gotoTopLevelDir()
     }
 
     leveldir_current = leveldir_current->node_parent;
+
+    printf("::: +++> '%s'\n", leveldir_current->graphics_path);
   }
+
+  printf("::: ===> '%s'\n", leveldir_current->graphics_path);
 }
 
 void HandleMainMenu(int mx, int my, int dx, int dy, int button)
@@ -418,8 +443,12 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
          SaveLevelSetup_LastSeries();
          SaveLevelSetup_SeriesInfo();
 
+         printf("::: CHECK C.1: '%s'\n", leveldir_current->graphics_path);
+
          gotoTopLevelDir();
 
+         printf("::: CHECK C.2: '%s'\n", leveldir_current->graphics_path);
+
          DrawChooseLevel();
        }
       }