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;
}
if (fileExists(filename))
return filename;
+#if CREATE_SPECIAL_EDITION
+ free(filename);
+
+ /* 6th try: look for fallback artwork in old default artwork directory */
+ filename = getPath2(options.graphics_directory, GFX_FALLBACK_FILENAME);
+ if (fileExists(filename))
+ return filename;
+#endif
+
return NULL; /* cannot find specified artwork file anywhere */
}
if (fileExists(filename))
return filename;
+#if CREATE_SPECIAL_EDITION
+ free(filename);
+
+ /* 6th try: look for fallback artwork in old default artwork directory */
+ filename = getPath2(options.sounds_directory, SND_FALLBACK_FILENAME);
+ if (fileExists(filename))
+ return filename;
+#endif
+
return NULL; /* cannot find specified artwork file anywhere */
}
if (fileExists(filename))
return filename;
+#if CREATE_SPECIAL_EDITION
+ free(filename);
+
+ /* 6th try: look for fallback artwork in old default artwork directory */
+ filename = getPath2(options.music_directory, MUS_FALLBACK_FILENAME);
+ if (fileExists(filename))
+ return filename;
+#endif
+
return NULL; /* cannot find specified artwork file anywhere */
}
void *insert_ptr = NULL;
boolean read_continued_line = FALSE;
FILE *file;
- int line_nr = 0;
- int token_count = 0;
+ int line_nr = 0, token_count = 0, include_count = 0;
#if CHECK_TOKEN_VALUE_SEPARATOR__WARN_IF_MISSING
token_value_separator_warning = FALSE;
free(basepath);
free(basename);
free(filename_include);
+
+ include_count++;
}
else
{
Error(ERR_INFO_LINE, "-");
#endif
- if (token_count == 0)
+ if (token_count == 0 && include_count == 0)
Error(ERR_WARN, "configuration file '%s' is empty", filename);
if (top_recursion_level)
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;
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
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 */
}
#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);