X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsetup.c;h=39165b06574461dbcfc22e8a97e709612c721c61;hb=43d8239a719759a411bc31e0330e5e1cb353c32e;hp=7e621f434192736cce6fe13192d632a79421bb63;hpb=14f10ebaf067872a8a1412476c8923cb2414aee4;p=rocksndiamonds.git diff --git a/src/libgame/setup.c b/src/libgame/setup.c index 7e621f43..39165b06 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -501,16 +501,33 @@ char *getLevelSetInfoFilename() char *getLevelSetTitleMessageFilename(int nr, boolean initial) { static char *filename = NULL; +#if 1 + char *filename_from_artwork; +#endif char basename[32]; sprintf(basename, "%s_%d.txt", (initial ? "titlemessage_initial" : "titlemessage"), nr + 1); - checked_free(filename); - filename = getPath2(getCurrentLevelDir(), basename); +#if 1 + /* 1st try: look for message file in all relevant graphics directories */ + if ((filename_from_artwork = getCustomImageFilename(basename)) != NULL) + return filename_from_artwork; +#endif - if (fileExists(filename)) - return filename; +#if 1 + /* forced custom graphics also override messages in level set directory */ + if (!setup.override_level_graphics) +#endif + { + checked_free(filename); + + /* 2nd try: look for message file in current level set directory */ + filename = getPath2(getCurrentLevelDir(), basename); + + if (fileExists(filename)) + return filename; + } return NULL; } @@ -2920,8 +2937,10 @@ static boolean LoadLevelInfoFromLevelConf(TreeInfo **node_first, char *level_directory, char *directory_name) { +#if 0 static unsigned long progress_delay = 0; unsigned long progress_delay_value = 100; /* (in milliseconds) */ +#endif char *directory_path = getPath2(level_directory, directory_name); char *filename = getPath2(directory_path, LEVELINFO_FILENAME); SetupFileHash *setup_file_hash; @@ -3022,9 +3041,14 @@ static boolean LoadLevelInfoFromLevelConf(TreeInfo **node_first, leveldir_new->last_level : leveldir_new->first_level); #if 1 +#if 1 + DrawInitTextExt(leveldir_new->name, 150, FC_YELLOW, + leveldir_new->level_group); +#else if (leveldir_new->level_group || DelayReached(&progress_delay, progress_delay_value)) DrawInitText(leveldir_new->name, 150, FC_YELLOW); +#endif #else DrawInitText(leveldir_new->name, 150, FC_YELLOW); #endif @@ -3471,8 +3495,10 @@ void LoadArtworkInfo() void LoadArtworkInfoFromLevelInfo(ArtworkDirTree **artwork_node, LevelDirTree *level_node) { +#if 0 static unsigned long progress_delay = 0; unsigned long progress_delay_value = 100; /* (in milliseconds) */ +#endif int type = (*artwork_node)->type; /* recursively check all level directories for artwork sub-directories */ @@ -3518,6 +3544,9 @@ void LoadArtworkInfoFromLevelInfo(ArtworkDirTree **artwork_node, } #if 1 + DrawInitTextExt(level_node->name, 150, FC_YELLOW, + level_node->level_group); +#else if (level_node->level_group || DelayReached(&progress_delay, progress_delay_value)) DrawInitText(level_node->name, 150, FC_YELLOW);