X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=6600dfdfc044fbc01116792c2bcbb35cf37350d1;hb=b583d4fa28df35b6974bd075d3de65a841454556;hp=910a7e95ef1d18a725549daad837bbf26a3c9ded;hpb=c38b8938950533926b72af227c38513fe665a8f6;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 910a7e95..6600dfdf 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -1439,7 +1439,7 @@ struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list, } if (list_pos != num_file_list_entries - 1) - Error(ERR_EXIT, "inconsistant config list information -- please fix"); + Error(ERR_EXIT, "inconsistant config list information (%d != %d) -- please fix", list_pos, num_file_list_entries - 1); return file_list; } @@ -1550,7 +1550,13 @@ static void replaceArtworkListEntry(struct ArtworkListInfo *artwork_info, if (filename == NULL) { - Error(ERR_WARN, "cannot find artwork file '%s'", basename); + int error_mode = ERR_WARN; + + /* we can get away without sounds and music, but not without graphics */ + if (*listnode == NULL && artwork_info->type == ARTWORK_TYPE_GRAPHICS) + error_mode = ERR_EXIT; + + Error(error_mode, "cannot find artwork file '%s'", basename); return; } @@ -1597,6 +1603,17 @@ static void replaceArtworkListEntry(struct ArtworkListInfo *artwork_info, addNodeToList(&artwork_info->content_list, (*listnode)->source_filename, *listnode); } + else + { + int error_mode = ERR_WARN; + + /* we can get away without sounds and music, but not without graphics */ + if (artwork_info->type == ARTWORK_TYPE_GRAPHICS) + error_mode = ERR_EXIT; + + Error(error_mode, "cannot load artwork file '%s'", basename); + return; + } } static void LoadCustomArtwork(struct ArtworkListInfo *artwork_info,