X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=d096d3bb5ec12162b1e7d7a4c0fcd5b4d1d3226f;hb=bc8503fee1600305a9e915da07d5f2c29d9890b6;hp=65708d2409bcd94ee0fad82907cee07c8349388f;hpb=2c4f8dc7bc7d04f5e23a6ad9f3e7594bf902ba56;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 65708d24..d096d3bb 100644 --- a/src/screens.c +++ b/src/screens.c @@ -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(); } }