/*
** $VER: kiss_files.h 1.1 (7.01.99)
**
** Definitions for reading and writing kiss files.
**
** PUBLIC DOMAIN
*/

struct Kiss_FileHeader
{
  ULONG id;
  UBYTE mark;
};

struct Kiss_PaletteFileHeader
{
  ULONG id;              /* should be KISS_ID */
  UBYTE mark;            /* should be FILEMARK_PALETTE */
  UBYTE bitspercolor;
  UWORD reserved01;      /* reserved for future usage */
  UWORD colors;
  UWORD groups;
  UBYTE reserved02[20];  /* reserved for future usage */
};

/* Header of a .cel file that holds a image */
struct Kiss_CelFileHeader
{
  ULONG id;              /* should be KISS_ID */
  UBYTE mark;            /* should be FILEMARK_CEL */
  UBYTE bitsperpixel;
  UWORD reserved01;      /* reserved for future usage */
  UWORD width;
  UWORD height;
  WORD xoffset;
  WORD yoffset;
  UBYTE reserved02[16];  /* reserved for future usage */
};

/*
** If a file doesn't have a KISS_ID at the beginning its header looks
** like this.
*/
struct Kiss_CelRawFileHeader
{
  UWORD width;
  UWORD height;
};

#define KISS_ID             0x4B695353   /* This stands for "KiSS" */
#define FILEMARK_PALETTE    0x10
#define FILEMARK_CEL        0x20
#define FILEMARK_CHERRYCEL  0x21

