X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flibgame%2Fsetup.c;h=69e25fa99c6f8de4cd613f77f3aba83682eb0524;hb=dd923608f42e41f8d77c5190e5ab613bbc7b6d21;hp=b07f2fdf40dd551793167c95d765b2401037a312;hpb=4fb7d637c3bcc3381918636fdd22733ff7bae3ac;p=rocksndiamonds.git diff --git a/src/libgame/setup.c b/src/libgame/setup.c index b07f2fdf..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