X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fimage.h;h=8827257b791d27deb2154737a81b3abf8540e450;hp=0d8dd27a807b7c4fdcdd560de1577afb460783f0;hb=b641818c787e48bbf03ce2a0cd5b542c4c21e523;hpb=2e99b0c26d334eb287486b8933b52b5048c6cc0c diff --git a/src/libgame/image.h b/src/libgame/image.h index 0d8dd27a..8827257b 100644 --- a/src/libgame/image.h +++ b/src/libgame/image.h @@ -1,15 +1,13 @@ -/*********************************************************** -* Artsoft Retro-Game Library * -*----------------------------------------------------------* -* (c) 1994-2006 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* image.h * -***********************************************************/ +// ============================================================================ +// Artsoft Retro-Game Library +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// https://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// image.h +// ============================================================================ #ifndef IMAGE_H #define IMAGE_H @@ -17,23 +15,63 @@ #include "system.h" -int getImageListSize(); +// these bitmap pointers either point to allocated bitmaps or are NULL +#define IMG_BITMAP_32x32 0 +#define IMG_BITMAP_16x16 1 +#define IMG_BITMAP_8x8 2 +#define IMG_BITMAP_4x4 3 +#define IMG_BITMAP_2x2 4 +#define IMG_BITMAP_1x1 5 +#define IMG_BITMAP_CUSTOM 6 + +#define NUM_IMG_BITMAPS 7 + +// this bitmap pointer points to one of the above bitmaps (do not free it) +#define IMG_BITMAP_GAME 7 + +#define NUM_IMG_BITMAP_POINTERS 8 + +// this bitmap pointer points to the bitmap with default image size +#define IMG_BITMAP_STANDARD IMG_BITMAP_32x32 + + +#define GET_BITMAP_ID_FROM_TILESIZE(x) ((x) == 1 ? IMG_BITMAP_1x1 : \ + (x) == 2 ? IMG_BITMAP_2x2 : \ + (x) == 4 ? IMG_BITMAP_4x4 : \ + (x) == 8 ? IMG_BITMAP_8x8 : \ + (x) == 16 ? IMG_BITMAP_16x16 : \ + (x) == 32 ? IMG_BITMAP_32x32 : \ + IMG_BITMAP_CUSTOM) + +#define GET_TILESIZE_FROM_BITMAP_ID(x) ((x) == IMG_BITMAP_1x1 ? 1 : \ + (x) == IMG_BITMAP_2x2 ? 2 : \ + (x) == IMG_BITMAP_4x4 ? 4 : \ + (x) == IMG_BITMAP_8x8 ? 8 : \ + (x) == IMG_BITMAP_16x16 ? 16 : \ + (x) == IMG_BITMAP_32x32 ? 32 : \ + 0) + + +int getImageListSize(void); struct FileInfo *getImageListEntryFromImageID(int); -Bitmap *getBitmapFromImageID(int); +Bitmap **getBitmapsFromImageID(int); int getOriginalImageWidthFromImageID(int); int getOriginalImageHeightFromImageID(int); char *getTokenFromImageID(int); +char *getFilenameFromImageID(int); int getImageIDFromToken(char *); -char *getImageConfigFilename(); -int getImageListPropertyMappingSize(); -struct PropertyMapping *getImageListPropertyMapping(); +char *getImageConfigFilename(void); +int getImageListPropertyMappingSize(void); +struct PropertyMapping *getImageListPropertyMapping(void); void InitImageList(struct ConfigInfo *, int, struct ConfigTypeInfo *, char **, char **, char **, char **, char **); -void ReloadCustomImages(); -void CreateImageWithSmallImages(int, int); +void ReloadCustomImages(void); +void CreateImageWithSmallImages(int, int, int); +void CreateImageTextures(int); +void FreeAllImageTextures(void); void ScaleImage(int, int); -void FreeAllImages(); +void FreeAllImages(void); -#endif /* IMAGE_H */ +#endif // IMAGE_H