home *** CD-ROM | disk | FTP | other *** search
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
- #ifndef INTUITION_INTUITION_H
- #include <intuition/intuition.h>
- #endif
-
- #define VBOB -1
- #define VLIN 0
- #define END_1 -1
- #define END_2 -2
- #define LAB -3
- #define DBF -4
-
-
- struct NewVScreen
- {
- WORD LeftEdge,TopEdge,Width,Height;
- WORD Depth;
- BYTE DetailPen,BlockPen;
- WORD ViewModes;
- struct TextAttr *Font;
- char *DefaultTitle;
- WORD vw_Flags;
- WORD vw_LeftEdge,vw_TopEdge,vw_Width,vw_Height;
- WORD vw_Depth;
- };
-
- struct Joy
- {
- WORD Mov_Z,Border_Front,Border_Back;
- WORD Rot_X,Rot_Y,Rot_Z;
- };
-
- struct Object
- {
- WORD *Point_Data;
- WORD *Area_Data;
- WORD *Move_Table;
- WORD Flags;
- WORD Pos_X,Pos_Y,Pos_Z;
- WORD Rot_X,Rot_Y,Rot_Z;
- };
-
- struct ViewStruct
- {
- struct Screen *VScreen;
- struct ViewPort *VViewPort;
- struct RastPort *VRastPort;
- };
-
- struct BOB {
- WORD Width, Height;
- char *Gfx_Data, *Msk_Data;
- };
-
- struct BOBList {
- WORD Number;
- struct BOB BOBs[BOB_NUM];
- };
-
- struct VecBase {
- LONG pad;
- };
-
-
- /* #pragma-Befehl bereitet Aztec-C 3.6 und früher Schwierigkeiten!! */
-
- #ifdef LATTICE
- #pragma libcall VecBase SetVBI 1e 901
- #pragma libcall VecBase InitVBOBs 24 a98004
- #pragma libcall VecBase OpenVScreen 2a 901
- #pragma libcall VecBase CloseVScreen 30 0
- #pragma libcall VecBase UseJoy 36 9002
- #pragma libcall VecBase DoAnim 3c 901
- #pragma libcall VecBase RotateX 42 654321007
- #pragma libcall VecBase RotateY 48 654321007
- #pragma libcall VecBase RotateZ 4e 654321007
- #pragma libcall VecBase FreeVBOBs 54 0
- #pragma libcall VecBase AutoScaleOn 5a 001
- #pragma libcall VecBase AutoScaleOff 60 0
- #pragma libcall VecBase FreeJoy 66 0
- #pragma libcall VecBase SetColors 6c 9802
-
- #ifndef NO_PROTOS
- long SetVBI (char *);
- long InitVBOBs (long, char *, struct BOBList *, long *);
- struct ViewStruct *OpenVScreen (struct NewVScreen *);
- long CloseVScreen (void);
- long UseJoy (long, struct Joy *);
- long DoAnim (long *);
- long RotateX (long, long, long, long, long, long, long);
- long RotateY (long, long, long, long, long, long, long);
- long RotateZ (long, long, long, long, long, long, long);
- long FreeVBOBs (void);
- long AutoScaleOn (long);
- long AutoScaleOff (void);
- long FreeJoy (void);
- long SetColors (struct ViewStruct*, short *);
- #endif
- #endif
-
- #ifdef AZTEC_C
- #pragma amicall(VecBase, 0x1e, SetVBI(a1))
- #pragma amicall(VecBase, 0x24, InitVBOBs(d0,a0,a1,a2))
- #pragma amicall(VecBase, 0x2a, OpenVScreen(a1))
- #pragma amicall(VecBase, 0x30, CloseVScreen())
- #pragma amicall(VecBase, 0x36, UseJoy(d0,a1))
- #pragma amicall(VecBase, 0x3c, DoAnim(a1))
- #pragma amicall(VecBase, 0x42, RotateX(d0,d1,d2,d3,d4,d5,d6))
- #pragma amicall(VecBase, 0x48, RotateY(d0,d1,d2,d3,d4,d5,d6))
- #pragma amicall(VecBase, 0x4e, RotateZ(d0,d1,d2,d3,d4,d5,d6))
- #pragma amicall(VecBase, 0x54, FreeVBOBs())
- #pragma amicall(VecBase, 0x5a, AutoScaleOn(d0))
- #pragma amicall(VecBase, 0x60, AutoScaleOff())
- #pragma amicall(VecBase, 0x66, FreeJoy())
- #pragma amicall(VecBase, 0x6c, SetColors(a0,a1))
- #endif
-