X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fimage.c;h=c4d3080805ec3f685b1494a0010b35e990869fbb;hb=ee0895b12e544444db37febb1242bcc8a72d6ad8;hp=3ec55f390ff6b313d64ac5f8f269904ac269745d;hpb=68a47a5b92e7c62a8c8a06391e4f9b8d53eeb82f;p=rocksndiamonds.git diff --git a/src/libgame/image.c b/src/libgame/image.c index 3ec55f39..c4d30808 100644 --- a/src/libgame/image.c +++ b/src/libgame/image.c @@ -14,6 +14,7 @@ #include "image.h" #include "pcx.h" #include "misc.h" +#include "setup.h" /* ========================================================================= */ @@ -37,8 +38,8 @@ Image *newImage(unsigned int width, unsigned int height, unsigned int depth) depth = 8; #endif - image = checked_malloc(sizeof(Image)); - image->data = checked_malloc(width * height * bytes_per_pixel); + image = checked_calloc(sizeof(Image)); + image->data = checked_calloc(width * height * bytes_per_pixel); image->width = width; image->height = height; image->depth = depth; @@ -700,6 +701,25 @@ struct FileInfo *getCurrentImageList() return image_info->file_list; } +Bitmap *getBitmapFromImageID(int graphic) +{ + ImageInfo **img_info = (ImageInfo **)image_info->artwork_list; + + return (img_info[graphic] != NULL ? img_info[graphic]->bitmap : NULL); +} + +char *getTokenFromImageID(int graphic) +{ + struct FileInfo *file_list = (struct FileInfo *)image_info->file_list; + + return file_list[graphic].token; +} + +char *getImageConfigFilename() +{ + return getCustomArtworkConfigFilename(image_info->type); +} + void InitImageList(struct ConfigInfo *config_list, struct ConfigInfo *config_suffix_list, int num_file_list_entries) @@ -719,6 +739,7 @@ void InitImageList(struct ConfigInfo *config_list, getFileListFromConfigList(config_list, config_suffix_list, num_file_list_entries); image_info->suffix_list = config_suffix_list; + image_info->custom_setup_list = NULL; image_info->artwork_list = checked_calloc(num_file_list_entries * sizeof(ImageInfo *)); @@ -735,6 +756,7 @@ void ReloadCustomImages() printf("DEBUG: reloading images '%s' ...\n", artwork.gfx_current_identifier); #endif + LoadArtworkConfig(image_info); ReloadCustomArtworkList(image_info); }