revert between 56095 -> 55830 in arch
[AROS.git] / compiler / include / graphics / gels.h
blobc1a4297480e66b28124c78916b29acb97092ca60
1 #ifndef GRAPHICS_GELS_H
2 #define GRAPHICS_GELS_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: gels structures
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 #include <exec/types.h>
14 #endif
16 /* VSprite flags */
17 /* VSprite flags set by user: */
18 #define VSPRITE 0x0001
19 #define SAVEBACK 0x0002
20 #define OVERLAY 0x0004
21 #define MUSTDRAW 0x0008
22 #define SUSERFLAGS 0x00FF
24 /* VSprite flags set by system: */
25 #define BACKSAVED 0x0100
26 #define BOBUPDATE 0x0200
27 #define GELGONE 0x0400
28 #define VSOVERFLOW 0x0800
30 /* Bob flags */
31 /* user flag bits */
32 #define SAVEBOB 0x0001
33 #define BOBISCOMP 0x0002
34 #define BUSERFLAGS 0x00FF
36 /* system flag bits */
37 #define BWAITING 0x0100
38 #define BDRAWN 0x0200
39 #define BOBSAWAY 0x0400
40 #define BOBNIX 0x0800
41 #define SAVEPRESERVE 0x1000
42 #define OUTSTEP 0x2000
44 /* defines for animation procedures */
45 #define ANFRACSIZE 6
46 #define RINGTRIGGER 0x0001
47 #define ANIMHALF 0x0020
50 /* UserStuff definitions */
51 #ifndef VUserStuff
52 #define VUserStuff WORD
53 #endif
55 #ifndef BUserStuff
56 #define BUserStuff WORD
57 #endif
59 #ifndef AUserStuff
60 #define AUserStuff WORD
61 #endif
66 /*********************** GEL STRUCTURES ***********************************/
68 struct VSprite
70 /* SYSTEM VARIABLES */
71 struct VSprite *NextVSprite;
72 struct VSprite *PrevVSprite;
74 struct IntVSprite *IntVSprite;
75 struct VSprite *ClearPath;
77 WORD OldY, OldX;
79 /* COMMON VARIABLES */
80 WORD Flags;
82 /* USER VARIABLES */
83 WORD Y, X;
85 WORD Height;
86 WORD Width;
87 WORD Depth;
89 WORD MeMask;
90 WORD HitMask;
92 WORD *ImageData;
94 WORD *BorderLine;
95 WORD *CollMask;
97 WORD *SprColors;
99 struct Bob *VSBob;
101 BYTE PlanePick;
102 BYTE PlaneOnOff;
104 VUserStuff VUserExt; /* user definable: see note above */
107 struct Bob
108 /* blitter-objects */
110 /* SYSTEM VARIABLES */
112 /* COMMON VARIABLES */
113 WORD Flags;
115 /* USER VARIABLES */
116 WORD *SaveBuffer;
117 WORD *ImageShadow;
118 struct Bob *Before;
119 struct Bob *After;
120 struct VSprite *BobVSprite;
121 struct AnimComp *BobComp;
122 struct DBufPacket *DBuffer;
123 BUserStuff BUserExt;
126 struct AnimComp
128 /* SYSTEM VARIABLES */
130 /* COMMON VARIABLES */
131 WORD Flags;
132 WORD Timer;
134 /* USER VARIABLES */
135 WORD TimeSet;
137 struct AnimComp *NextComp;
138 struct AnimComp *PrevComp;
139 struct AnimComp *NextSeq;
140 struct AnimComp *PrevSeq;
142 WORD (*AnimCRoutine)();
144 WORD YTrans;
145 WORD XTrans;
147 struct AnimOb *HeadOb;
149 struct Bob *AnimBob;
152 struct AnimOb
154 /* SYSTEM VARIABLES */
155 struct AnimOb *NextOb, *PrevOb;
157 LONG Clock;
159 WORD AnOldY, AnOldX;
161 /* COMMON VARIABLES */
162 WORD AnY, AnX;
164 /* USER VARIABLES */
165 WORD YVel, XVel;
166 WORD YAccel, XAccel;
168 WORD RingYTrans, RingXTrans;
170 WORD (*AnimORoutine)();
172 struct AnimComp *HeadComp;
174 AUserStuff AUserExt;
177 struct DBufPacket
179 WORD BufY, BufX;
180 struct VSprite *BufPath;
182 WORD *BufBuffer;
187 /* ************************************************************************ */
189 /* simple GEL functions that can currently exist as a definition.
191 #define InitAnimate(animKey) {*(animKey) = NULL;}
192 #define RemBob(b) {(b)->Flags |= BOBSAWAY;}
195 /* ************************************************************************ */
197 #define B2NORM 0
198 #define B2SWAP 1
199 #define B2BOBBER 2
201 /* ************************************************************************ */
203 /* a structure for the 16 collision procedure addresses */
204 struct collTable
206 int (*collPtrs[16])();
209 /* cxref mixes up with the function pointers in the previous definition */
210 extern int __cxref_bug_gels;
212 #endif /* GRAPHICS_GELS_H */