X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flibgame%2Fsetup.c;h=610660765a4c8eefe6d3e996a5b7182c3926bb62;hb=a8816d6e5319f9ec26a45346b08250f61e95c011;hp=b9c9899c4a56d468a0d514b942dfc53398c37e32;hpb=142d88521dfcde187ea315279d79203c00e1b0f3;p=rocksndiamonds.git diff --git a/src/libgame/setup.c b/src/libgame/setup.c index b9c9899c..61066076 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -3447,7 +3447,6 @@ static void LoadLevelInfoFromLevelDir(TreeInfo **node_first, while ((dir_entry = readDirectory(dir)) != NULL) /* loop all entries */ { - struct stat file_status; char *directory_name = dir_entry->basename; char *directory_path = getPath2(level_directory, directory_name); @@ -3470,10 +3469,15 @@ static void LoadLevelInfoFromLevelDir(TreeInfo **node_first, { free(directory_path); +#if 0 + Error(ERR_INFO, "* entry '%s' is not a directory ...", directory_name); +#endif + continue; } #else /* find out if directory entry is itself a directory */ + struct stat file_status; if (stat(directory_path, &file_status) != 0 || /* cannot stat file */ (file_status.st_mode & S_IFMT) != S_IFDIR) /* not a directory */ { @@ -3998,14 +4002,23 @@ void LoadArtworkInfoFromLevelInfo(ArtworkDirTree **artwork_node, void LoadLevelArtworkInfo() { + print_timestamp_init("LoadLevelArtworkInfo"); + DrawInitText("Looking for custom level artwork", 120, FC_GREEN); + print_timestamp_time("DrawTimeText"); + LoadArtworkInfoFromLevelInfo(&artwork.gfx_first, leveldir_first_all); + print_timestamp_time("LoadArtworkInfoFromLevelInfo (gfx)"); LoadArtworkInfoFromLevelInfo(&artwork.snd_first, leveldir_first_all); + print_timestamp_time("LoadArtworkInfoFromLevelInfo (snd)"); LoadArtworkInfoFromLevelInfo(&artwork.mus_first, leveldir_first_all); + print_timestamp_time("LoadArtworkInfoFromLevelInfo (mus)"); SaveArtworkInfoCache(); + print_timestamp_time("SaveArtworkInfoCache"); + /* needed for reloading level artwork not known at ealier stage */ if (!strEqual(artwork.gfx_current_identifier, setup.graphics_set)) @@ -4041,15 +4054,21 @@ void LoadLevelArtworkInfo() artwork.mus_current = getFirstValidTreeInfoEntry(artwork.mus_first); } + print_timestamp_time("getTreeInfoFromIdentifier"); + sortTreeInfo(&artwork.gfx_first); sortTreeInfo(&artwork.snd_first); sortTreeInfo(&artwork.mus_first); + print_timestamp_time("sortTreeInfo"); + #if 0 dumpTreeInfo(artwork.gfx_first, 0); dumpTreeInfo(artwork.snd_first, 0); dumpTreeInfo(artwork.mus_first, 0); #endif + + print_timestamp_done("LoadLevelArtworkInfo"); } static void SaveUserLevelInfo()