home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / zip / program / lynxlib.zoo / picture.h < prev    next >
C/C++ Source or Header  |  1991-01-27  |  2KB  |  58 lines

  1. /* This source file is part of the LynxLib miscellaneous library by
  2. Robert Fischer, and is Copyright 1990 by Robert Fischer.  It costs no
  3. money, and you may not make money off of it, but you may redistribute
  4. it.  It comes with ABSOLUTELY NO WARRANTY.  See the file LYNXLIB.DOC
  5. for more details.
  6. To contact the author:
  7.     Robert Fischer \\80 Killdeer Rd \\Hamden, CT   06517   USA
  8.     (203) 288-9599     fischer-robert@cs.yale.edu                 */
  9.  
  10. #ifndef E_OSBIND_H
  11. #include <e_osbind.h>
  12. #endif
  13.  
  14. #define DOODLE_SIZE 9218    /* Size of a Doodle picture */
  15. #define SCR_SIZE    32000   /* Actual # bytes in a picture */
  16. #define NEO_SIZE    32128   /* Size of a NEO picture */
  17. #define SPU_SIZE    51104L  /* Size of an SPU picture */
  18. #define DEGAS_SIZE  32034   /* Size of a Degas picture */
  19. #define PAL_SIZE    32      /* Size of pallette in bytes */
  20. #define SPEC_PAL_SIZE   19104   /* Size of a Spectrum palette */
  21.  
  22. typedef BYTE pic_array[SCR_SIZE+256];
  23. typedef struct {
  24.     pic_array   p;          /* the actual array */
  25.     char        *p_start;   /* Address of 1st data element in array */
  26.     char        *old_phys;  /* address of old picture */
  27.     char        *old_log;   /* Address of old logbase */
  28.     PALETTE     pal;        /* The color palette */
  29.     PALETTE     old_pal;    /* The old palette */
  30.     int         rez;        /* The resolution */
  31.     int         old_rez;    /* The resolution before picture */
  32. } pic_rec;
  33. typedef enum {
  34.     DEGAS, NEO,     /* Our old DEGAS and NEO file formats */
  35.     SPC, SPU,       /* Spectrum compressed & uncompressed */
  36.     DOODLE,         /* Doodle, from Commodore 64 */
  37.     PLAIN_SCREEN,   /* 32000 bytes of screen data */
  38. #if 0
  39.     SPLAY,          /* The splay compress format */
  40.     COMPRESS,       /* The compress.prg (Ziv-Lempel) compress format */
  41. #endif
  42.     TINY,           /* A Tiny picture (another compression scheme) */
  43.     ERROR
  44. } pic_type;
  45.  
  46.  
  47. /* Typedefs specially made for loading DOODLE pictures */
  48. typedef BYTE COLOR_MAP[1024];   /* Commodore color table */
  49. typedef BYTE BIT_MAP[8192];     /* Commodore bit map */
  50. typedef struct {    /* Structure of a Doodle picture file */
  51.     WORD load_addr; /* Basically garbage on the ST */
  52.     COLOR_MAP c;
  53.     BIT_MAP b;
  54. } DOODLE_PIC;
  55.  
  56. typedef BYTE PLANE_ARRAY[160];
  57.  
  58.