X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fimage.h;h=0bc0b4b3a2255c0fe6566599281cebdf7a728ead;hb=7b47ce7ba0f673f0de5130daf5726104d0b38902;hp=e6259f56386feb597101659f3eb8f1022b3647de;hpb=ff56a43aa3799aa3357f4deca4d6482fc25a6a41;p=rocksndiamonds.git diff --git a/src/libgame/image.h b/src/libgame/image.h index e6259f56..0bc0b4b3 100644 --- a/src/libgame/image.h +++ b/src/libgame/image.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2000 Artsoft Entertainment * +* (c) 1994-2002 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -45,13 +45,25 @@ struct RGBMap typedef struct { + unsigned int type; /* type of image (True-Color etc.) */ struct RGBMap rgb; /* RGB map of image if IRGB type */ unsigned int width; /* width of image in pixels */ unsigned int height; /* height of image in pixels */ unsigned int depth; /* depth of image in bits if IRGB type */ + unsigned int bytes_per_pixel;/* (depth + 7) / 8 */ + unsigned int bytes_per_row; /* width * bytes_per_pixel */ byte *data; /* image data */ } Image; +#define IMAGETYPE_BITMAP 0 /* monochrome bitmap */ +#define IMAGETYPE_RGB 1 /* RGB image with colormap */ +#define IMAGETYPE_TRUECOLOR 2 /* true-color image */ + +#define TRUECOLOR_RED(pixel) (((unsigned long)((pixel) & 0xff0000)) >> 16) +#define TRUECOLOR_GREEN(pixel) (((unsigned long)((pixel) & 0xff00)) >> 8) +#define TRUECOLOR_BLUE(pixel) ( (unsigned long)((pixel) & 0xff)) +#define RGB_TO_TRUECOLOR(r,g,b) ((((unsigned long)((r) & 0xff00)) << 8) | ((g) & 0xff00) | (((unsigned short)(b)) >> 8)) + Image *newImage(unsigned int, unsigned int, unsigned int); void freeImage(Image *); void freeXImage(Image *, XImageInfo *); @@ -59,4 +71,14 @@ int Read_PCX_to_Pixmap(Display *, Window, GC, char *, Pixmap *, Pixmap *); #endif /* TARGET_X11 */ + +struct FileInfo *getCurrentImageList(); +Bitmap *getBitmapFromImageID(int); +char *getTokenFromImageID(int); +char *getImageConfigFilename(); +void InitImageList(struct ConfigInfo *, int, struct ConfigInfo *, + struct ConfigInfo *, struct ConfigInfo *); +void ReloadCustomImages(); +void FreeAllImages(); + #endif /* IMAGE_H */