home *** CD-ROM | disk | FTP | other *** search
/ Dream 57 / Amiga_Dream_57.iso / Amiga / Programmation / c / QuakeC / qtools0.2-src.lha / src / libqtools / mip.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-07-13  |  1.7 KB  |  70 lines

  1. #ifndef    MIP_H
  2. #define    MIP_H
  3. /*
  4.  * ============================================================================
  5.  * structures
  6.  * ============================================================================
  7.  */
  8. struct mipheader {
  9.   int numtex;
  10.   int offset[0];
  11. };
  12.  
  13. enum mipmapoffset {
  14.   MIPMAP_0 = 0,
  15.   MIPMAP_1 = 1,
  16.   MIPMAP_2 = 2,
  17.   MIPMAP_3 = 3
  18. } __packed;
  19.  
  20. #define    MIPMAP_MAX    4
  21.  
  22. #define NAMELEN_MIP    16
  23. struct mipmap {
  24.   char name[16];
  25.   int width, height;
  26.   int offsets[MIPMAP_MAX];
  27. };
  28.  
  29. #define ANIM_MIPMAP    '+'
  30. #define WARP_MIPMAP    '*'
  31. #define    WARP_SHIFT    6
  32. #define WARP_X        (1 << WARP_SHIFT)
  33. #define WARP_Y        (1 << WARP_SHIFT)
  34. #define    WARP_MASK    ((1 << WARP_SHIFT) - 1)
  35. #define SKY_MIPMAP    "sky"
  36. #define SKY_X        256
  37. #define SKY_Y        128
  38.  
  39. #define NAMELEN_WAL    32
  40. struct wal {
  41.   char name[32];
  42.   int width, height;
  43.   enum mipmapoffset offsets[MIPMAP_MAX];
  44.   char animname[32];
  45.   int flags, contents, value;
  46. };
  47.  
  48. #define    MIP_MULT(x)    ((x)+(x/(2*2))+(x/(4*4))+(x/(8*8)))
  49.  
  50. /*
  51.  * ============================================================================
  52.  * globals
  53.  * ============================================================================
  54.  */
  55.  
  56. /*
  57.  * ============================================================================
  58.  * prototypes
  59.  * ============================================================================
  60.  */
  61.  
  62. struct palpic *GetMipMap(HANDLE file, enum mipmapoffset MipLevel);
  63. struct palpic *ParseMipMap(struct mipmap *MipMap, enum mipmapoffset MipLevel);
  64. bool PutMipMap(HANDLE file, struct palpic *Picture);
  65. bool PutMipMap0(HANDLE file, struct palpic *Picture);
  66. bool PasteMipMap(struct mipmap *MipMap, struct palpic *Picture);
  67. bool PasteMipMap0(struct mipmap *MipMap, struct palpic *Picture);
  68.  
  69. #endif
  70.