-/***********************************************************
-* 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
#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 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