home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / graphics / gels.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  2.5 KB  |  236 lines

  1. #ifndef GRAPHICS_GELS_H
  2. #define GRAPHICS_GELS_H
  3. /*
  4. ** $Filename: graphics/gels.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 37.0 $
  7. ** $Date: 91/01/07 $
  8. **
  9. ** include file for AMIGA GELS (Graphics Elements)
  10. **
  11. ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15. #ifndef EXEC_TYPES_H
  16. #include <exec/types.h>
  17. #endif
  18.  
  19.  
  20.  
  21. #define SUSERFLAGS 0x00FF 
  22. #define VSPRITE 0x0001 
  23. #define SAVEBACK 0x0002 
  24. #define OVERLAY 0x0004 
  25. #define MUSTDRAW 0x0008 
  26.  
  27. #define BACKSAVED 0x0100 
  28. #define BOBUPDATE 0x0200 
  29. #define GELGONE 0x0400 
  30. #define VSOVERFLOW 0x0800 
  31.  
  32.  
  33.  
  34. #define BUSERFLAGS 0x00FF 
  35. #define SAVEBOB 0x0001 
  36. #define BOBISCOMP 0x0002 
  37.  
  38. #define BWAITING 0x0100 
  39. #define BDRAWN 0x0200 
  40. #define BOBSAWAY 0x0400 
  41. #define BOBNIX 0x0800 
  42. #define SAVEPRESERVE 0x1000 
  43. #define OUTSTEP 0x2000 
  44.  
  45.  
  46. #define ANFRACSIZE 6
  47. #define ANIMHALF 0x0020
  48. #define RINGTRIGGER 0x0001
  49.  
  50.  
  51.  
  52. #ifndef VUserStuff 
  53. #define VUserStuff WORD
  54. #endif
  55.  
  56. #ifndef BUserStuff 
  57. #define BUserStuff WORD
  58. #endif
  59.  
  60. #ifndef AUserStuff 
  61. #define AUserStuff WORD
  62. #endif
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. struct VSprite
  70. {
  71.  
  72.  
  73.  struct VSprite *NextVSprite;
  74.  struct VSprite *PrevVSprite;
  75.  
  76.  
  77.  struct VSprite *DrawPath; 
  78.  struct VSprite *ClearPath; 
  79.  
  80.  
  81.  WORD OldY, OldX; 
  82.  
  83.  
  84.  WORD Flags; 
  85.  
  86.  
  87.  
  88.  
  89.  WORD Y, X; 
  90.  
  91.  WORD Height;
  92.  WORD Width; 
  93.  WORD Depth; 
  94.  
  95.  WORD MeMask; 
  96.  WORD HitMask; 
  97.  
  98.  WORD *ImageData; 
  99.  
  100.  
  101.  WORD *BorderLine; 
  102.  WORD *CollMask; 
  103.  
  104.  
  105.  WORD *SprColors;
  106.  
  107.  struct Bob *VSBob; 
  108.  
  109.  
  110.  BYTE PlanePick;
  111.  BYTE PlaneOnOff;
  112.  
  113.  VUserStuff VUserExt; 
  114. };
  115.  
  116. struct Bob
  117.  
  118. {
  119.  
  120.  
  121.  
  122.  WORD Flags; 
  123.  
  124.  
  125.  WORD *SaveBuffer; 
  126.  
  127.  
  128.  WORD *ImageShadow;
  129.  
  130.  
  131.  struct Bob *Before; 
  132.  struct Bob *After; 
  133.  
  134.  struct VSprite *BobVSprite; 
  135.  
  136.  struct AnimComp *BobComp; 
  137.  
  138.  struct DBufPacket *DBuffer; 
  139.  
  140.  BUserStuff BUserExt; 
  141. };
  142.  
  143. struct AnimComp
  144. {
  145.  
  146.  
  147.  
  148.  WORD Flags; 
  149.  
  150.  
  151.  WORD Timer;
  152.  
  153.  
  154.  
  155.  WORD TimeSet;
  156.  
  157.  
  158.  struct AnimComp *NextComp;
  159.  struct AnimComp *PrevComp;
  160.  
  161.  
  162.  struct AnimComp *NextSeq;
  163.  struct AnimComp *PrevSeq;
  164.  
  165.  WORD (*AnimCRoutine)(); 
  166.  
  167.  WORD YTrans; 
  168.  WORD XTrans; 
  169.  
  170.  struct AnimOb *HeadOb;
  171.  
  172.  struct Bob *AnimBob;
  173. };
  174.  
  175. struct AnimOb
  176. {
  177.  
  178.  struct AnimOb *NextOb, *PrevOb;
  179.  
  180.  
  181.  LONG Clock;
  182.  
  183.  WORD AnOldY, AnOldX; 
  184.  
  185.  
  186.  WORD AnY, AnX; 
  187.  
  188.  
  189.  WORD YVel, XVel; 
  190.  WORD YAccel, XAccel; 
  191.  
  192.  WORD RingYTrans, RingXTrans; 
  193.  
  194.  WORD (*AnimORoutine)(); 
  195.  
  196.  struct AnimComp *HeadComp; 
  197.  
  198.  AUserStuff AUserExt; 
  199. };
  200.  
  201.  
  202. struct DBufPacket
  203. {
  204.  WORD BufY, BufX; 
  205.  struct VSprite *BufPath; 
  206.  
  207.  
  208.  
  209.  WORD *BufBuffer;
  210. };
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217. #define InitAnimate(animKey) {*(animKey) = NULL;}
  218. #define RemBob(b) {(b)->Flags |= BOBSAWAY;}
  219.  
  220.  
  221.  
  222.  
  223. #define B2NORM 0
  224. #define B2SWAP 1
  225. #define B2BOBBER 2
  226.  
  227.  
  228.  
  229.  
  230. struct collTable
  231. {
  232.  int (*collPtrs[16])();
  233. };
  234.  
  235. #endif 
  236.