home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * IFF.H
- *
- * Chunk:
- * char id[4]
- * long cksize;
- * uchar ckdata[cksize];
- * [0 pad to word boundry]
- *
- * Property = Chunk
- * FORM = Chunk / data = formtype + N-subchunks
- *
- * CAT = Chunk / data = type + list of chunks: FORM LIST or CAT
- * LIST = Chunk / data = type + N-Props + N(FORM LIST CAT)
- * PROP = Chunk / data = formtype + property
- *
- *
- * ILBM = FORM(ILBM): BMHD [CMAP][GRAB][DEST][SPRT][CAMG][CRNG+][BODY]
- *
- */
-
- #include <exec/types.h>
-
-
- #define MAKEID(a,b,c,d) ((a)<<24 | (b)<<16 | (c)<<8 | (d))
-
- #define IFF_FORM MAKEID('F','O','R','M')
- #define IFF_LIST MAKEID('L','I','S','T')
- #define IFF_PROP MAKEID('P','R','O','P')
- #define IFF_CAT MAKEID('C','A','T',' ')
- #define IFF_FILLER MAKEID(' ',' ',' ',' ')
-
- #define TYPE_ILBM MAKEID('I','L','B','M')
- #define TYPE_FTXT MAKEID('F','T','X','T')
-
-
- #define ILBM_BMHD MAKEID('B','M','H','D') /* PROP */
- #define ILBM_CMAP MAKEID('C','M','A','P') /* PROP */
- #define ILBM_GRAB MAKEID('G','R','A','B') /* PROP */
- #define ILBM_DEST MAKEID('D','E','S','T') /* PROP merging */
- #define ILBM_SPRT MAKEID('S','P','R','T') /* PROP body is sprite */
- #define ILBM_CAMG MAKEID('C','A','M','G') /* PROP VP mode */
- #define ILBM_CRNG MAKEID('C','R','N','G') /* PROP color cycling */
- #define ILBM_BODY MAKEID('B','O','D','Y') /* bit mapped body */
-
-
-
- /* STRUCTURES */
-
-
- typedef struct {
- long id;
- long cksize;
- } CHUNK;
-
-
- #define MA_NONE 0 /* masking */
- #define MA_HASMASK 1
- #define MA_HASTRANSCOLOR 2
- #define MA_LASSO 3
-
- #define CP_NONE 0 /* compression */
- #define CP_BYTERUN1 1
-
- typedef struct {
- UWORD w, h;
- WORD x, y;
- UBYTE planes;
- UBYTE masking;
- UBYTE compression;
- UBYTE pad1;
- UWORD transparent_color;
- UBYTE xaspect, yaspect;
- WORD pagewidth, pageheight;
- } X_BMHD;
-
- typedef UBYTE X_CMAP[3]; /* each map entry is 3 bytes */
-
- typedef UWORD X_GRAB[2]; /* grab entry x, y */
-
- typedef struct {
- UBYTE depth;
- UBYTE pad1;
- UWORD p_pick;
- UWORD p_onoff;
- UWORD p_mask;
- } X_DEST;
-
- typedef UWORD X_SPRT; /* precedence */
-
- typedef struct {
- ULONG vpmodes;
- } X_CAMG;
-
- typedef struct {
- WORD pad1;
- WORD rate;
- WORD active;
- UBYTE low, high;
- } X_CRNG;
-
-