Source:NetHack 3.4.3/include/load img.h

From NetHackWiki
Revision as of 19:18, 31 January 2011 by Paxedbot (talk | contribs) (moved Source:Load img.h to Source:NetHack 3.4.3/include/load img.h: Moving src to subdirs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Below is the full text to include/load_img.h from NetHack 3.4.3. To link to a particular line, write [[load_img.h#line123]], for example.

/* ------------------------------------------- */
#define XIMG      0x58494D47

/* Header of GEM Image Files   */
typedef struct IMG_HEADER{
short version;  /* Img file format version (1) */
short length;   /* Header length in words  (8) */
short planes;   /* Number of bit-planes    (1) */
short pat_len;  /* length of Patterns      (2) */
short pix_w;    /* Pixel width in 1/1000 mmm  (372)    */
short pix_h;    /* Pixel height in 1/1000 mmm (372)    */
short img_w;    /* Pixels per line (=(x+7)/8 Bytes)    */
short img_h;    /* Total number of lines               */
long  magic;    /* Contains "XIMG" if standard color   */
short paltype;  /* palette type (0=RGB (short each)) */
short *palette;	/* palette etc.                        */
char *addr;     /* Address for the depacked bit-planes */
} IMG_header;

/* ------------------------------------------- */
/* error codes */
#define ERR_HEADER      1
#define ERR_ALLOC       2
#define ERR_FILE        3
#define ERR_DEPACK      4
#define ERR_COLOR       5

/* saves the current colorpalette with col colors in palette */
void get_colors(int handle, short *palette, int col);

/* sets col colors from palette */
void img_set_colors(int handle,short *palette, int col);

/* converts MFDB  of size from standard to deviceformat (0 if succeded, else error). */
int convert(MFDB *, long );

/* transforms image in VDI-Device format */
int transform_img(MFDB *);

/* Loads & depacks IMG (0 if succeded, else error). */
/* Bitplanes are one after another in address IMG_HEADER.addr. */
int depack_img(char *, IMG_header *);

/* Halves IMG in Device-format, dest memory has to be allocated*/
int half_img(MFDB *,MFDB *);