home *** CD-ROM | disk | FTP | other *** search
- /*************************************/
- /* */
- /* Demo for vector.library V1.6x */
- /* */
- /* Programming by Jürgen Koch */
- /* */
- /* in Sep-1991 */
- /* */
- /*************************************/
-
-
- #include <stdio.h>
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #define BOB_NUM 1 /* Anzahl der verwendeten VBOBs (muß mind. 1 betragen) */
- #include <vector.h>
-
- struct VecBase *VecBase;
-
-
-
- struct NewVScreen MyVScreen=
- {
- 0,0, /* Linke obere Ecke des Screen */
- 320,256, /* Breite und Höhe */
- 3, /* Tiefe */
- 0,0, /* Screentitel- und -randfarben */
- 0, /* Screenmode */
- NULL, /* Zeiger auf Font des Screens; hier Standard-Font */
- "vector.library ©1991 by A.Lippert",
- 0, /* Flags (bisher ungenutzt) */
- 0,0, /* Offset des Vektorfensters im Screen (bisher nicht unterstützt) */
- 320,256, /* Breite und Höhe des Vektorfensters (muß bisher identisch sein mit Breite und Höhe des Screens) */
- 3 /* von Vektoranimation wirklich genutzte Bitplanes */
- };
-
- struct Joy MyJoy=
- {
- 50,-1000,-16000,
- 3,3,3
- };
-
-
- WORD ObjectPoints[]= /* Punkt-Tabelle */
- {
- 8,
- -200,-200, 200,0,
- -200, 200, 200,0,
- 200, 200, 200,0,
- 200,-200, 200,0,
- -200,-200,-200,0,
- -200, 200,-200,0,
- 200, 200,-200,0,
- 200,-200,-200,0
- };
-
- WORD ObjectAreas[]= /* Flächen-Tabelle */
- {
- 6,
- 4,1,0*4,1*4,2*4,3*4,0*4,0,0,0,0,
- 4,2,3*4,2*4,6*4,7*4,3*4,0,0,0,0,
- 4,3,7*4,6*4,5*4,4*4,7*4,0,0,0,0,
- 4,4,0*4,4*4,5*4,1*4,0*4,0,0,0,0,
- 4,5,1*4,5*4,6*4,2*4,1*4,0,0,0,0,
- 4,6,0*4,3*4,7*4,4*4,0*4,0,0,0,0
- };
-
- WORD ObjectMove[]=
- {
- 300, 0,0, 42, 1,1,1, /* Positionierung und Animationspfad */
- 300, 0,0, 0, 1,1,1,
- 300, 0,0,-42, 1,1,1,
- END_1
- };
-
- struct Object MyObject=
- {
- ObjectPoints, /* Zeiger auf zugehörige Punkttabelle */
- ObjectAreas, /* Zeiger auf zugehörige Flächentabelle */
- ObjectMove, /* Zeiger auf zugehörige Bewegungstabelle */
- 0, /* Flags */
- 0,0,-14300, /* Start-Position */
- 0,0,0 /* Start-Rotation */
- };
-
- WORD MyColTab[]= /* Farbtabelle */
- {
- 0, 0, 0, 0, /* Register, Rot,Grün,Blau */
- 1, 12,12,12,
- 2, 11,11,11,
- 3, 10,10,10,
- 4, 9, 9, 9,
- 5, 8, 8, 8,
- 6, 7, 7, 7,
- 7, 6, 6, 6,
- -1
- };
-
- ULONG MyWorld[] = { /* Welt-Struktur */
- 0x00000001L, /* erstes (High-)Wort: Flags ( = 1 für Drahtgitter); zweites Wort: Anzahl der Objekte */
- &MyObject /* Zeiger auf Struktur des ersten Objekts */
- };
-
-
- struct ViewStruct *ViewStruct;
-
-
- main()
- {
- if ((VecBase=(struct VecBase *)OpenLibrary("vector.library",0))==NULL) /* "vector.library" öffnen */
- {
- printf("Unable to open 'vector.library'.\n");
- exit(0);
- }
- if ((ViewStruct=OpenVScreen(&MyVScreen))==NULL) /* "Animationsscreen" öffnen */
- {
- printf("Couldn't open VScreen.\n");
- CloseLibrary(VecBase);
- exit(0);
- }
- SetColors(ViewStruct, &MyColTab); /* Farben setzen */
-
- AutoScaleOn(MyVScreen.ViewModes); /* Entzerrung für höhere Auflösung */
-
- DoAnim(&MyWorld); /* Auf zur Animation!! */
-
- CloseVScreen(); /* Bildschirm schließen */
-
- CloseLibrary(VecBase);
- }
-