X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsetup.c;h=69e25fa99c6f8de4cd613f77f3aba83682eb0524;hb=7b3e068e43bcfeb38ce390d5d1c3b1a13c81cb55;hp=e60c8424f5409b67334bc5894912ae4390877212;hpb=e9871b147cf45a7d69895e8ecf0357b4075390ae;p=rocksndiamonds.git diff --git a/src/libgame/setup.c b/src/libgame/setup.c index e60c8424..69e25fa9 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -315,6 +315,9 @@ static char *getSetupArtworkDir(TreeInfo *ti) { static char *artwork_dir = NULL; + if (ti == NULL) + return NULL; + checked_free(artwork_dir); artwork_dir = getPath2(ti->basepath, ti->fullpath); @@ -614,7 +617,7 @@ char *getCustomImageFilename(char *basename) if (!gfx.override_level_graphics) { /* 1st try: look for special artwork in current level series directory */ - filename = getPath3(getCurrentLevelDir(), GRAPHICS_DIRECTORY, basename); + filename = getImg3(getCurrentLevelDir(), GRAPHICS_DIRECTORY, basename); if (fileExists(filename)) return filename; @@ -624,7 +627,7 @@ char *getCustomImageFilename(char *basename) if (getLevelArtworkSet(ARTWORK_TYPE_GRAPHICS) != NULL) { /* 2nd try: look for special artwork configured in level series config */ - filename = getPath2(getLevelArtworkDir(ARTWORK_TYPE_GRAPHICS), basename); + filename = getImg2(getLevelArtworkDir(ARTWORK_TYPE_GRAPHICS), basename); if (fileExists(filename)) return filename; @@ -638,7 +641,7 @@ char *getCustomImageFilename(char *basename) if (!skip_setup_artwork) { /* 3rd try: look for special artwork in configured artwork directory */ - filename = getPath2(getSetupArtworkDir(artwork.gfx_current), basename); + filename = getImg2(getSetupArtworkDir(artwork.gfx_current), basename); if (fileExists(filename)) return filename; @@ -646,14 +649,14 @@ char *getCustomImageFilename(char *basename) } /* 4th try: look for default artwork in new default artwork directory */ - filename = getPath2(getDefaultGraphicsDir(GFX_DEFAULT_SUBDIR), basename); + filename = getImg2(getDefaultGraphicsDir(GFX_DEFAULT_SUBDIR), basename); if (fileExists(filename)) return filename; free(filename); /* 5th try: look for default artwork in old default artwork directory */ - filename = getPath2(options.graphics_directory, basename); + filename = getImg2(options.graphics_directory, basename); if (fileExists(filename)) return filename; @@ -665,7 +668,7 @@ char *getCustomImageFilename(char *basename) /* 6th try: look for fallback artwork in old default artwork directory */ /* (needed to prevent errors when trying to access unused artwork files) */ - filename = getPath2(options.graphics_directory, GFX_FALLBACK_FILENAME); + filename = getImg2(options.graphics_directory, GFX_FALLBACK_FILENAME); if (fileExists(filename)) return filename; #endif @@ -3026,9 +3029,7 @@ static boolean LoadArtworkInfoFromArtworkConf(TreeInfo **node_first, { while ((dir_entry = readDirectory(dir)) != NULL) { - char *entry_name = dir_entry->basename; - - if (FileIsArtworkType(entry_name, type)) + if (FileIsArtworkType(dir_entry->filename, type)) { valid_file_found = TRUE;