home *** CD-ROM | disk | FTP | other *** search
AmigaBASIC Source Code | 1991-11-09 | 13.6 KB | 627 lines |
- '***************************************
- '* *
- '* Basic-Demo for vector.library V1.6x *
- '* *
- '* ©1991 by Alexander Lippert *
- '* *
- '* All object-design done by *
- '* Oliver Hahn ©1991 *
- '* *
- '***************************************
-
- LIBRARY "exec.library"
- LIBRARY "vector.library"
-
- DECLARE FUNCTION AllocMem& LIBRARY
- DECLARE FUNCTION FreeMem& LIBRARY
-
- DECLARE FUNCTION SetVBI& LIBRARY
- DECLARE FUNCTION InitVBOBs& LIBRARY
- DECLARE FUNCTION OpenVScreen& LIBRARY
- DECLARE FUNCTION CloseVScreen& LIBRARY
- DECLARE FUNCTION UseJoy& LIBRARY
- DECLARE FUNCTION DoAnim& LIBRARY
- DECLARE FUNCTION FreeVBOBs& LIBRARY
- DECLARE FUNCTION AutoScaleOn& LIBRARY
- DECLARE FUNCTION AutoScaleOff& LIBRARY
- DECLARE FUNCTION FreeJoy& LIBRARY
- DECLARE FUNCTION SetColors& LIBRARY
-
- fmem&=65537 ' Flags fuer FastMem
- cmem&=65539 ' Flags fuer ChipMem
-
- RESTORE NewVScreen ' Zeiger auf NewVScreen
- GOSUB OpenVScreen ' VScreen öffnen
-
- RESTORE ColorTab ' Zeiger auf Farb-Tabelle
- GOSUB SetColors ' Farben setzen
-
- RESTORE BOBList ' Zeiger auf BOBListe
- GOSUB InitVBOBs ' VBOBs initialisieren
-
- res=AutoScaleOn&(PEEKW(nsm&+12)) ' Entzerrung fuer höhrerr Auflösungen
-
- RESTORE JoyStruct ' Zeiger auf Joystick-Struktur
- 'GOSUB UseJoy ' Joystick nicht benutzen
-
- RESTORE PointTab
- GOSUB MakePointTab ' Punkt-Tabelle anlegen
-
- RESTORE AreaTab
- GOSUB MakeAreaTab ' Flächen-Tabelle anlegen
-
- RESTORE MoveTab
- GOSUB MakeMoveTab ' Bewegungs-Tabelle anlegen
-
- RESTORE ObjectStruct
- GOSUB MakeObjectStruct ' Object-Struktur anlegen
-
- RESTORE WorldStruct
- GOSUB MakeWorldStruct ' Welt-Struktur anlegen
-
- res=DoAnim&(world&) ' Animation der Körper
-
-
- res=CloseVScreen& ' Screen schließen
-
- 'res=FreeJoy& ' nur, wenn zuvor
- 'res=FreeMem&(joy&,12&) ' UseJoy& erfolgte
-
- res=FreeVBOBs ' nur, wenn zuvor
- res=FreeMem&(bobs&,bobsize&) ' InitVBOBs& erfolgte
-
- res=FreeMem&(nsm&,34) ' von Strukturen belegten
- res=FreeMem&(coltab&,8*64+2) ' Speicher freigeben
- res=FreeMem&(world&,wdsize&) ' ...
- res=FreeMem&(object&,26)
- res=FreeMem&(movetb&,1000)
- res=FreeMem&(areatb&,arsize&)
- res=FreeMem&(pointtb&,ptsize&)
-
- LIBRARY CLOSE
-
- END
-
-
- NewVScreen:
- ' Offset von links oben
- DATA 0,0
- ' Ausdehnung des Screen
- DATA 320,256
- ' Tiefe des Screen
- DATA 3
- ' Farben der Titel-Leiste
- DATA 0,0
- ' ViewModes (&H8000 HiRes, &H4 Lace)
- DATA 0
- ' Zeiger auf Font und Title
- DATA 0,0
- ' Flags (z.Z. unbelegt)
- DATA 0
- ' Offset der Vektor-Graphik im Screen (z.Z. unbelegt)
- DATA 0,0
- ' Ausdehnung der Vector-Graphik (muß z.Z. Ausdehnung des Screens entsprechen)
- DATA 320,256
- ' Tife der Vektor-Graphik
- DATA 3
-
-
- WorldStruct:
- ' Flags (1 fuer Drahtgitter), Anzahl der Objekte
- DATA 0,1
- ' Zeiger auf Objekte (werden von MakeWorldStruct eingetragen)
- DATA 0
-
-
- ObjectStruct: ' Fuer jedes Objekt eine eigene!
- ' Zeiger auf Punk-Tabelle, Flächen-Tabelle, Bewegungs-Tabelle (werden von MakeObjectStruct eingetragen)
- DATA 0,0,0
- ' Flags (z.Z. unbelegt)
- DATA 0
- ' Start-Position
- DATA 0,0,-13500
- ' Start-Rotation
- DATA 0,0,0
-
-
- MoveTab:
- ' Ticks, movx,movy,movz, rotx,roty,rotz
- DATA 1, 0,0,0, -90,0,0
- DATA 1, 0,0,0, 0,-90,0
- DATA 150, 0,0,42, 0,0,0
- DATA 150, 0,0,42, 0,1,0
- DATA 400, 0,0,0, 0,1,1
- DATA 400, 0,0,0, 0,1,1
- DATA 300, 0,0,-42, 0,1,1
- DATA -1
-
-
- ColorTab:
- ' Register, Rot, Gruen, Blau
- DATA 0, 0,0,0
- DATA 1, 8,6,0
- DATA 2, 7,5,0
- DATA 3, 6,4,0
- DATA 4, 5,3,0
- DATA 5, 11,11,11
- DATA 6, 10,10,10
- DATA 7, 9,9,9
- DATA -1
-
-
- JoyStruct:
- ' Z-Geschwindigkeit, Vordere Grenze, Hintere Grenze
- DATA 20,-300,-16000
- ' Rotations-Geschwindigkeit um x,y,z-Achse
- DATA 1,1,1
-
-
- BOBList:
- ' Anzahl der VBOBs
- DATA 16
- ' Breite in Worten, Höhe, Reserved, Reserved
- DATA 2,31,0,0
- DATA 2,29,0,0
- DATA 2,27,0,0
- DATA 2,25,0,0
- DATA 2,23,0,0
- DATA 2,21,0,0
- DATA 2,19,0,0
- DATA 2,17,0,0
- DATA 1,15,0,0
- DATA 1,13,0,0
- DATA 1,11,0,0
- DATA 1,9,0,0
- DATA 1,7,0,0
- DATA 1,5,0,0
- DATA 1,3,0,0
- DATA 1,1,0,0
-
-
- PointTab: ' Punkt-Tabelle
- ' Anzahl der Punkte eines Objekts
- DATA 75
- ' x,y,z-Koordinate, Eigengröße fuer VBOBs
- DATA -100,4,190,0
- DATA 0,-200,62,0
- DATA 0,-186,16,0
- DATA 0,-158,-12,0
- DATA 0,-108,-25,0
-
- DATA 0,-60,-25,0
- DATA 0,60,-25,0
- DATA 0,108,-25,0
- DATA 0,158,-12,0
- DATA 0,186,16,0
-
- DATA 0,200,62,0
- DATA 34,-108,-4,0
- DATA 42,-60,-10,0
- DATA 42,60,-10,0
- DATA 34,108,-4,0
-
- DATA 12,-176,42,0
- DATA 43,-108,22,0
- DATA 50,-60,22,0
- DATA 50,60,22,0
- DATA 43,108,22,0
-
- DATA 12,176,42,0
- DATA -34,-108,-4,0
- DATA -42,-60,-10,0
- DATA -42,60,-10,0
- DATA -34,108,-4,0
-
- DATA -12,-176,42,0
- DATA -43,-108,22,0
- DATA -50,-60,22,0
- DATA -50,60,22,0
- DATA -43,108,22,0
-
- DATA -12,176,42,0
- DATA 0,-164,5,0
- DATA 3,-3,5,0
- DATA -3,-3,5,0
- DATA 37,-108,5,0
-
- DATA -37,-108,5,0
- DATA 44,-60,5,0
- DATA -44,-60,5,0
- DATA 44,60,5,0
- DATA -44,60,5,0
-
- DATA 37,108,5,0
- DATA -37,108,5,0
- DATA 3,3,5,0
- DATA -3,3,5,0
- DATA 0,164,5,0
-
- DATA 3,-3,124,0
- DATA -3,-3,124,0
- DATA 3,3,124,0
- DATA -3,3,124,0
- DATA 100,4,190,0
-
- DATA -92,25,154,0
- DATA 92,25,154,0
- DATA 0,30,124,0
- DATA -92,17,108,0
- DATA 92,17,108,0
-
- DATA -46,20,78,0
- DATA 46,20,78,0
- DATA -100,-18,50,0
- DATA 100,-18,50,0
- DATA 3,-3,200,0
-
- DATA -3,-3,200,0
- DATA 3,3,200,0
- DATA -3,3,200,0
- DATA 3,-3,78,0
- DATA -3,-3,78,0
-
- DATA 3,3,78,0
- DATA -3,3,78,0
- DATA 0,3,195,0
- DATA 0,-3,195,0
- DATA 90,-42,28,0
-
- DATA 70,-68,14,0
- DATA 60,-88,14,0
- DATA -90,-42,28,0
- DATA -70,-68,14,0
- DATA -60,-88,14,0
-
-
- AreaTab: ' Flächen-Tabelle
- ' Anzahl der Flächen eines Objekts
- DATA 108
- ' Eckenzahl oder Kennung, Farb-Nummer, Eckpunkte (max. 8)
- DATA 3,1,1*4,15*4,2*4,1*4,0,0,0,0,0
- DATA 3,1,2*4,15*4,16*4,2*4,0,0,0,0,0
- DATA 3,1,2*4,16*4,11*4,2*4,0,0,0,0,0
- DATA 3,2,11*4,16*4,17*4,11*4,0,0,0,0,0
- DATA 3,2,11*4,17*4,12*4,11*4,0,0,0,0,0
-
- DATA 4,3,12*4,17*4,18*4,13*4,12*4,0,0,0,0
- DATA 3,2,13*4,18*4,14*4,13*4,0,0,0,0,0
- DATA 3,2,14*4,18*4,19*4,14*4,0,0,0,0,0
- DATA 3,1,9*4,14*4,19*4,9*4,0,0,0,0,0
- DATA 3,1,9*4,19*4,20*4,9*4,0,0,0,0,0
-
- DATA 3,1,9*4,20*4,10*4,9*4,0,0,0,0,0
- DATA 3,2,2*4,4*4,3*4,2*4,0,0,0,0,0
- DATA 3,2,2*4,11*4,4*4,2*4,0,0,0,0,0
- DATA 3,3,4*4,11*4,12*4,4*4,0,0,0,0,0
- DATA 3,3,4*4,12*4,5*4,4*4,0,0,0,0,0
-
- DATA 4,4,5*4,12*4,13*4,6*4,5*4,0,0,0,0
- DATA 3,3,6*4,13*4,7*4,6*4,0,0,0,0,0
- DATA 3,3,7*4,13*4,14*4,7*4,0,0,0,0,0
- DATA 3,2,7*4,14*4,9*4,7*4,0,0,0,0,0
- DATA 3,2,7*4,9*4,8*4,7*4,0,0,0,0,0
-
- DATA 3,1,1*4,2*4,25*4,1*4,0,0,0,0,0
- DATA 3,1,2*4,26*4,25*4,2*4,0,0,0,0,0
- DATA 3,1,2*4,21*4,26*4,2*4,0,0,0,0,0
- DATA 3,2,21*4,27*4,26*4,21*4,0,0,0,0,0
- DATA 3,2,21*4,22*4,27*4,21*4,0,0,0,0,0
-
- DATA 4,3,22*4,23*4,28*4,27*4,22*4,0,0,0,0
- DATA 3,2,23*4,24*4,28*4,23*4,0,0,0,0,0
- DATA 3,2,24*4,29*4,28*4,24*4,0,0,0,0,0
- DATA 3,1,9*4,29*4,24*4,9*4,0,0,0,0,0
- DATA 3,1,9*4,30*4,29*4,9*4,0,0,0,0,0
-
- DATA 3,1,9*4,10*4,30*4,9*4,0,0,0,0,0
- DATA 3,2,2*4,3*4,4*4,2*4,0,0,0,0,0
- DATA 3,2,2*4,4*4,21*4,2*4,0,0,0,0,0
- DATA 3,3,4*4,22*4,21*4,4*4,0,0,0,0,0
- DATA 3,3,4*4,5*4,22*4,4*4,0,0,0,0,0
-
- DATA 4,4,5*4,6*4,23*4,22*4,5*4,0,0,0,0
- DATA 3,3,6*4,7*4,23*4,6*4,0,0,0,0,0
- DATA 3,3,7*4,24*4,23*4,7*4,0,0,0,0,0
- DATA 3,2,7*4,9*4,24*4,7*4,0,0,0,0,0
- DATA 3,2,7*4,8*4,9*4,7*4,0,0,0,0,0
-
- DATA 3,2,1*4,31*4,15*4,1*4,0,0,0,0,0
- DATA 3,2,15*4,31*4,16*4,15*4,0,0,0,0,0
- DATA 3,2,16*4,31*4,34*4,16*4,0,0,0,0,0
- DATA 3,3,16*4,34*4,17*4,16*4,0,0,0,0,0
- DATA 3,3,17*4,34*4,36*4,17*4,0,0,0,0,0
-
- DATA 4,4,17*4,36*4,38*4,18*4,17*4,0,0,0,0
- DATA 3,3,18*4,38*4,40*4,18*4,0,0,0,0,0
- DATA 3,3,18*4,40*4,19*4,18*4,0,0,0,0,0
- DATA 3,2,19*4,40*4,44*4,19*4,0,0,0,0,0
- DATA 3,2,19*4,44*4,20*4,19*4,0,0,0,0,0
-
- DATA 3,2,10*4,20*4,44*4,10*4,0,0,0,0,0
- DATA 3,2,1*4,25*4,31*4,1*4,0,0,0,0,0
- DATA 3,2,25*4,26*4,31*4,25*4,0,0,0,0,0
- DATA 3,2,26*4,35*4,31*4,26*4,0,0,0,0,0
- DATA 3,3,26*4,27*4,35*4,26*4,0,0,0,0,0
-
- DATA 3,3,27*4,37*4,35*4,27*4,0,0,0,0,0
- DATA 4,4,27*4,28*4,39*4,37*4,27*4,0,0,0,0
- DATA 3,3,28*4,41*4,39*4,28*4,0,0,0,0,0
- DATA 3,3,28*4,29*4,41*4,28*4,0,0,0,0,0
- DATA 3,2,29*4,44*4,41*4,29*4,0,0,0,0,0
-
- DATA 3,2,29*4,30*4,44*4,29*4,0,0,0,0,0
- DATA 3,2,10*4,44*4,30*4,10*4,0,0,0,0,0
- DATA 3,1,31*4,35*4,34*4,31*4,0,0,0,0,0
- DATA 4,1,34*4,35*4,37*4,36*4,34*4,0,0,0,0
- DATA 4,1,36*4,37*4,39*4,38*4,36*4,0,0,0,0
-
- DATA 4,1,38*4,39*4,41*4,40*4,38*4,0,0,0,0
- DATA 3,1,40*4,41*4,44*4,40*4,0,0,0,0,0
- DATA 4,3,32*4,63*4,65*4,42*4,32*4,0,0,0,0
- DATA 4,2,32*4,33*4,64*4,63*4,32*4,0,0,0,0
- DATA 4,3,33*4,43*4,66*4,64*4,33*4,0,0,0,0
-
- DATA 4,2,42*4,65*4,66*4,43*4,42*4,0,0,0,0
- DATA 4,3,63*4,45*4,47*4,65*4,63*4,0,0,0,0
- DATA 4,2,63*4,64*4,46*4,45*4,63*4,0,0,0,0
- DATA 4,3,64*4,66*4,48*4,46*4,64*4,0,0,0,0
- DATA 4,2,65*4,47*4,48*4,66*4,65*4,0,0,0,0
-
- DATA 4,4,45*4,46*4,48*4,47*4,45*4,0,0,0,0
- DATA 4,7,0*4,49*4,51*4,50*4,0*4,0,0,0,0
- DATA 3,7,50*4,52*4,53*4,50*4,0,0,0,0,0
- DATA 3,7,50*4,51*4,52*4,50*4,0,0,0,0,0
- DATA 3,7,51*4,54*4,52*4,51*4,0,0,0,0,0
-
- DATA 3,7,52*4,55*4,53*4,52*4,0,0,0,0,0
- DATA 3,7,52*4,56*4,55*4,52*4,0,0,0,0,0
- DATA 3,7,52*4,54*4,56*4,52*4,0,0,0,0,0
- DATA 3,7,53*4,55*4,57*4,53*4,0,0,0,0,0
- DATA 3,7,54*4,58*4,56*4,54*4,0,0,0,0,0
-
- DATA 4,7,0*4,50*4,51*4,49*4,0*4,0,0,0,0
- DATA 3,5,50*4,53*4,52*4,50*4,0,0,0,0,0
- DATA 3,6,50*4,52*4,51*4,50*4,0,0,0,0,0
- DATA 3,6,51*4,52*4,54*4,51*4,0,0,0,0,0
- DATA 3,5,52*4,53*4,55*4,52*4,0,0,0,0,0
-
- DATA 3,5,52*4,55*4,56*4,52*4,0,0,0,0,0
- DATA 3,6,52*4,56*4,54*4,52*4,0,0,0,0,0
- DATA 3,5,53*4,57*4,55*4,53*4,0,0,0,0,0
- DATA 3,6,54*4,56*4,58*4,54*4,0,0,0,0,0
- DATA 4,3,45*4,59*4,61*4,47*4,45*4,0,0,0,0
-
- DATA 4,2,45*4,46*4,60*4,61*4,45*4,0,0,0,0
- DATA 4,3,46*4,48*4,62*4,60*4,46*4,0,0,0,0
- DATA 4,2,47*4,61*4,62*4,48*4,47*4,0,0,0,0
- DATA 0,7,1*4,67*4,0,0,0,0,0,0,0
- DATA 0,7,10*4,68*4,0,0,0,0,0,0,0
-
- DATA 0,7,58*4,69*4,0,0,0,0,0,0,0
- DATA 0,6,69*4,70*4,0,0,0,0,0,0,0
- DATA 0,5,70*4,71*4,0,0,0,0,0,0,0
- DATA 0,6,71*4,16*4,0,0,0,0,0,0,0
- DATA 0,7,57*4,72*4,0,0,0,0,0,0,0
-
- DATA 0,6,72*4,73*4,0,0,0,0,0,0,0
- DATA 0,5,73*4,74*4,0,0,0,0,0,0,0
- DATA 0,6,74*4,26*4,0,0,0,0,0,0,0
-
-
- OpenVScreen:
- nsm&=AllocMem&(34,fmem&)
-
- READ leftedge,topedge,widt,height,depth,detailpen
- READ blockpen,viewmodes,a,a
- READ vwflags,vwleftedge,vwtopedge,vwwidt
- READ vwheight,vwdepth
-
- POKEW nsm&,leftedge ' NewVScreen-Struktur anlegen
- POKEW nsm&+2,topedge
- POKEW nsm&+4,widt
- POKEW nsm&+6,height
- POKEW nsm&+8,depth
- POKE nsm&+10,detailpen
- POKE nsm&+11,blockpen
- POKEW nsm&+12,viewmodes
- POKEL nms&+14,font
- POKEL nsm&+18,SADD("vector.library V1.67 ©91 by A.Lippert"+CHR$(0))
- POKEW nsm&+22,vwflags
- POKEW nsm&+24,vwleftedge
- POKEW nsm&+26,vwtopedge
- POKEW nsm&+28,vwwidt
- POKEW nsm&+30,vwheight
- POKEW nsm&+32,vwdepth
-
- viewstruct&=OpenVScreen&(nsm&) ' Bibliothek aufrufen
-
- RETURN
-
-
- SetColors:
- coltab&=AllocMem&(8*64+2,fmem&) ' fuer max. 64 Farben speicher allokieren
- ct=coltab&
-
- READ reg
-
- WHILE reg<>-1 ' Farb-Tabelle anlegen
- READ r,g,b
- POKEW ct,reg
- POKEW ct+2,r
- POKEW ct+4,g
- POKEW ct+6,b
- READ reg
- ct=ct+8
- WEND
- POKEW ct,-1
-
- res=SetColors&(viewstruct&,coltab&) ' Bibliothek aufrufen
-
- RETURN
-
-
- MakePointTab:
- READ ptnum
- ptsize&=ptnum*8+2
- pointtb&=AllocMem&(ptsize&,fmem&)
-
- pt=pointtb&
-
- POKEW pt,ptnum
- pt=pt+2
-
- FOR i=1 TO ptnum ' Punkt-Tabelle anlegen
- READ x,y,z,ps
- POKEW pt,x
- POKEW pt+2,y
- POKEW pt+4,z
- POKEW pt+6,ps
- pt=pt+8
- NEXT i
-
- RETURN
-
-
- MakeAreaTab:
- READ arnum
- arsize&=arnum*22+2
- areatb&=AllocMem&(arsize&,fmem&)
-
- ar=areatb&
-
- POKEW ar,arnum
- ar=ar+2
-
- FOR i=1 TO arnum ' Flächen-Tabelle anlegen
- READ ptnum,col,pt1$,pt2$,pt3$,pt4$,pt5$,pt6$,pt7$,pt8$,pt9$
- POKEW ar,ptnum
- POKEW ar+2,col
- POKEW ar+4,VAL(pt1$)*4
- POKEW ar+6,VAL(pt2$)*4
- POKEW ar+8,VAL(pt3$)*4
- POKEW ar+10,VAL(pt4$)*4
- POKEW ar+12,VAL(pt5$)*4
- POKEW ar+14,VAL(pt6$)*4
- POKEW ar+16,VAL(pt7$)*4
- POKEW ar+18,VAL(pt8$)*4
- POKEW ar+20,VAL(pt9$)*4
- ar=ar+22
- NEXT i
-
- RETURN
-
-
- MakeMoveTab:
- movetb&=AllocMem&(1000,fmem&) ' 1000 Bytes fr Bewegungs-Tabelle allokieren (mehr als ausreichend)
-
- mv=movetb&
-
- mvtabbeg:
- READ ticks
-
- WHILE ticks => 0 ' Bewegungs-Tabelle anlegen
- POKEW mv,ticks
- READ movx,movy,movz,rotx,roty,rotz
- POKEW mv+2,movx
- POKEW mv+4,movy
- POKEW mv+6,movz
- POKEW mv+8,rotx
- POKEW mv+10,roty
- POKEW mv+12,rotz
- READ ticks
- mv=mv+14
- WEND
-
- IF ticks=-1 OR ticks = -2 THEN POKEW mv,ticks : GOTO mvtabend
-
- IF ticks=-3 THEN POKEW mv,ticks : mv=mv+2 : GOTO mvtabbeg
- IF ticks=-4 THEN POKEW mv,ticks : READ count : POKEW mv+2,count : mv=mv+4 : GOTO mvtabbeg
-
- mvtabend:
- RETURN
-
-
- MakeObjectStruct:
- READ a,a,a
-
- object&=AllocMem&(26,fmem&)
-
- READ flags,posx,posy,posz,rotx,roty,rotz
-
- POKEL object&,pointtb& ' Object-Struktur anlegen
- POKEL object&+4,areatb&
- POKEL object&+8,movetb&
- POKEW object&+12,flags
- POKEW object&+14,posx
- POKEW object&+16,posy
- POKEW object&+18,posz
- POKEW object&+20,rotx
- POKEW object&+22,roty
- POKEW object&+24,rotz
-
- RETURN
-
-
- MakeWorldStruct:
- READ flags
- READ obnum
-
- wdsize&=obnum*4+4
- world&=AllocMem&(wdsize&,fmem&)
-
- wd=world&
-
- POKEW wd,flags ' Welt-Struktur anlegen
- POKEW wd+2,obnum
-
- wd=wd+4
-
- READ a ' Diese Sequenz muß fr jedes
- POKEL wd,object& ' Objekt erfolgen
-
- RETURN
-
-
- UseJoy:
- joy&=AllocMem&(12,fmem&)
- READ movz,borderfront,borderback,rotx,roty,rotz
-
- POKEW joy&,movz ' Joystick-Struktur poken
- POKEW joy&+2,borderfront
- POKEW joy&+4,borderback
- POKEW joy&+6,rotx
- POKEW joy&+8,roty
- POKEW joy&+10,rotz
-
- res=UseJoy&(0,joy&) ' Bibliothek aufrufen
-
- RETURN
-
-
- InitVBOBs:
- READ bobnum
-
- bobsize&=bobnum*12+2
- bobs&=AllocMem&(bobsize&,fmem&)
-
- bb=bobs&
-
- POKEW bb,bobnum
-
- bb=bb+2
-
- FOR i=1 TO bobnum ' BOBListe anlegen
- READ widt,height,a,a
- POKEW bb,widt
- POKEW bb+2,height
- POKEL bb+4,a
- POKEL bb+8,a
- bb=bb+12
- NEXT
-
- ' Im folgenden Bibliotheksaufruf ist der Name des VBOB-Satzes enthalten (Pfad nicht vergessen!)
- nam$="VBOBs:bs1lo3_??.gfx"+CHR$(0)
- res=InitVBOBs&(PEEKW(nsm&+32),SADD(nam$),bobs&,0)
-
- RETURN
-