home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
594b.lha
/
VectorLibrary
/
Assembler
/
vd_me.s
< prev
next >
Wrap
Text File
|
1991-11-09
|
6KB
|
281 lines
; DevPac 2.14 !!
SetVBI = -30
InitVBOBs = -36
OpenVScreen = -42
CloseVScreen = -48
UseJoy = -54
DoAnim = -60
RotateX = -66
RotateY = -72
RotateZ = -78
FreeVBOBs = -84
AutoScaleOn = -90
AutoScaleOff = -96
FreeJoy = -102
SetColors = -108
move.l 4.w,a6
lea vecname(pc),a1
jsr -408(a6) ; vector.library öffnen
move.l d0,vecbase
beq.s end
lea NewVScreen(pc),a1
move.l vecbase(pc),a6
jsr OpenVScreen(a6) ; VScreen öffnen
move.l d0,viewstruc
move.l viewstruc(pc),a0
lea coltab(pc),a1
jsr SetColors(a6) ; Farben setzen
move.w NewVScreen+12(pc),d0
jsr AutoScaleOn(a6) ; Entzerrung für evtl. höhere Auflösungen an
lea anim(pc),a1
jsr SetVBI(a6) ; VBI-Teil einbinden
lea World(pc),a1
jsr DoAnim(a6) ; Animation laufen lassen
jsr CloseVScreen(a6) ; VScreen schließen
move.l 4.w,a6
move.l vecbase(pc),a1
jsr -414(a6) ; vector.library schließen
end:
rts
vecbase dc.l 0
viewstruc dc.l 0
NewVScreen:
dc.w 0,0
dc.w 320,256
dc.w 3
dc.b 0,0
dc.w $00
dc.l 0
dc.l title
dc.w 0
dc.w 0,0
dc.w 320,256
dc.w 3
title: dc.b "vector.library ©1991 by A. Lippert"
even
World:
dc.w 0,1
dc.l object1
object1:
dc.l mepd
dc.l mead
dc.l memv
dc.w 0
dc.w 0,0,-13500
dc.w 0,0,0
mepd: ; Eckpunkt-Tabelle
dc.w 48+7
dc.w 115,-15,-18,0
dc.w 115,15,-18,0
dc.w 94,15,-18,0
dc.w 94,-15,-18,0
dc.w 94,-15,-25,0
dc.w 94,15,-25,0
dc.w -20,-15,-25,0
dc.w -20,15,-25,0
dc.w -193,0,0,0
dc.w -135,0,15,0 ;10
dc.w -26,-7,22,0
dc.w -26,7,22,0
dc.w -14,-15,6,0
dc.w -14,15,6,0
dc.w 11,-7,22,0
dc.w 11,7,22,0
dc.w 11,-15,6,0
dc.w 11,15,6,0
dc.w 23,-7,15,0
dc.w 23,7,15,0 ;20
dc.w 113,-7,15,0
dc.w 113,7,15,0
dc.w 113,-15,0,0
dc.w 113,15,0,0
dc.w -155,0,48,0
dc.w -172,0,48,0
dc.w 60,15,-25,0
dc.w 48,15,-13,0
dc.w 23,15,-13,0
dc.w 48,190,-13,0
dc.w 23,190,-13,0
dc.w 60,-15,-25,0
dc.w 48,-15,-13,0
dc.w 23,-15,-13,0
dc.w 48,-190,-13,0
dc.w 23,-190,-13,0
dc.w 137,0,-5,0
dc.w -145,0,24,0
dc.w -160,62,24,0
dc.w -177,62,24,0 ;40
dc.w -180,13,24,0
dc.w -170,0,24,0
dc.w -160,-62,24,0
dc.w -177,-62,24,0
dc.w -180,-13,24,0
dc.w -155,0,27,0
dc.w -165,0,27,0
dc.w -185,0,35,0
dc.w 113,0,0,0
meprop:
dc.w 113,50,-5,0
dc.w 113,50,5,0
dc.w 113,-29,-5,0
dc.w 113,-21,5,0
dc.w 113,20,-5,0
dc.w 113,20,5,0
mead: ; Flächentabelle
dc.w 54
dc.w 4,1,0*4,1*4,2*4,3*4,0*4,0,0,0,0
dc.w 4,1,4*4,5*4,7*4,6*4,4*4,0,0,0,0
dc.w 3,1,6*4,7*4,8*4,6*4,0,0,0,0,0
dc.w 6,3,1*4,23*4,13*4,7*4,5*4,2*4,1*4,0,0
dc.w 3,3,7*4,13*4,8*4,7*4,0,0,0,0,0
dc.w 3,3,8*4,13*4,11*4,8*4,0,0,0,0,0
dc.w 4,3,0*4,3*4,12*4,22*4,0*4,0,0,0,0
dc.w 3,3,3*4,8*4,12*4,3*4,0,0,0,0,0
dc.w 4,3,3*4,4*4,6*4,8*4,3*4,0,0,0,0
dc.w 4,3,8*4,9*4,10*4,12*4,8*4,0,0,0,0
dc.w 3,4,8*4,11*4,9*4,8*4,0,0,0,0,0
dc.w 3,4,8*4,9*4,10*4,8*4,0,0,0,0,0
dc.w 3,4,9*4,11*4,10*4,9*4,0,0,0,0,0
dc.w 4,6,10*4,11*4,15*4,14*4,10*4,0,0,0,0
dc.w 4,7,14*4,15*4,19*4,18*4,14*4,0,0,0,0
dc.w 4,1,18*4,19*4,21*4,20*4,18*4,0,0,0,0
dc.w 3,6,15*4,17*4,19*4,15*4,0,0,0,0,0
dc.w 3,6,14*4,18*4,16*4,14*4,0,0,0,0,0
dc.w 4,7,11*4,13*4,17*4,15*4,11*4,0,0,0,0
dc.w 4,7,10*4,14*4,16*4,12*4,10*4,0,0,0,0
dc.w 5,4,13*4,23*4,21*4,19*4,17*4,13*4,0,0,0
dc.w 4,4,16*4,18*4,20*4,22*4,16*4,0,0,0,0
dc.w 3,4,12*4,16*4,22*4,12*4,0,0,0,0,0
dc.w 5,3,8*4,9*4,24*4,25*4,47*4,8*4,0,0,0
dc.w 5,3,8*4,47*4,25*4,24*4,9*4,8*4,0,0,0
dc.w 4,1,7*4,26*4,29*4,30*4,7*4,0,0,0,0
dc.w 3,5,26*4,27*4,29*4,26*4,0,0,0,0,0
dc.w 4,3,27*4,28*4,30*4,29*4,27*4,0,0,0,0
dc.w 3,5,7*4,30*4,28*4,7*4,0,0,0,0,0
dc.w 4,1,6*4,35*4,34*4,31*4,6*4,0,0,0,0
dc.w 3,5,31*4,34*4,32*4,31*4,0,0,0,0,0
dc.w 4,3,32*4,34*4,35*4,33*4,32*4,0,0,0,0
dc.w 3,5,6*4,33*4,35*4,6*4,0,0,0,0,0
dc.w 3,1,20*4,21*4,36*4,20*4,0,0,0,0,0
dc.w 3,4,21*4,23*4,36*4,21*4,0,0,0,0,0
dc.w 3,4,1*4,36*4,23*4,1*4,0,0,0,0,0
dc.w 3,1,0*4,36*4,1*4,0*4,0,0,0,0,0
dc.w 3,4,0*4,22*4,36*4,0*4,0,0,0,0,0
dc.w 3,4,20*4,36*4,22*4,20*4,0,0,0,0,0
dc.w 5,1,37*4,41*4,44*4,43*4,42*4,37*4,0,0,0
dc.w 5,1,37*4,38*4,39*4,40*4,41*4,37*4,0,0,0
dc.w 3,5,37*4,45*4,38*4,37*4,0,0,0,0,0
dc.w 4,5,38*4,45*4,46*4,39*4,38*4,0,0,0,0
dc.w 4,5,39*4,46*4,41*4,40*4,39*4,0,0,0,0
dc.w 3,5,37*4,42*4,45*4,37*4,0,0,0,0,0
dc.w 4,5,42*4,43*4,46*4,45*4,42*4,0,0,0,0
dc.w 4,5,41*4,45*4,43*4,44*4,41*4,0,0,0,0
dc.w 4,2,2*4,5*4,4*4,3*4,2*4,0,0,0,0
dc.w 3,1,48*4,50*4,49*4,48*4,0,0,0,0,0
dc.w 3,1,48*4,52*4,51*4,48*4,0,0,0,0,0
dc.w 3,1,48*4,54*4,53*4,48*4,0,0,0,0,0
dc.w 3,1,48*4,49*4,50*4,48*4,0,0,0,0,0
dc.w 3,1,48*4,51*4,52*4,48*4,0,0,0,0,0
dc.w 3,1,48*4,53*4,54*4,48*4,0,0,0,0,0
memv:
dc.w 1, 0,0,0, -90,0,0
dc.w 1, 0,0,0, 0,-90,0
dc.w 150, 0,0,42, 0,0,0
dc.w 150, 0,0,42, 0,1,0
dc.w 400, 0,0,0, 0,1,0
dc.w 300, 0,0,0, 0,1,1
dc.w 300, 0,0,-42, 1,1,0
dc.w -1
coltab:
dc.w 0,0,0,0
dc.w 1,7,7,7
dc.w 2,2,2,2
dc.w 3,5,5,5
dc.w 4,6,6,6
dc.w 5,4,4,4
dc.w 6,0,7,9
dc.w 7,0,8,10
dc.w -1
anim: ; Hier erfolgt die Rotation des Propellers im VBI
movem.l d2-d6/a2/a6,-(a7)
move.l vecbase(pc),a6
lea meprop(pc),a2
move.w animcnt(pc),d6
moveq #110,d0
moveq #50,d1
moveq #5,d2
moveq #0,d3
moveq #0,d4
moveq #0,d5
jsr RotateX(a6)
movem.w d0-d2,(a2)
moveq #0,d3
moveq #0,d4
moveq #0,d5
move.w #120,d6
jsr RotateX(a6)
movem.w d0-d2,16(a2)
moveq #0,d3
moveq #0,d4
moveq #0,d5
move.w #120,d6
jsr RotateX(a6)
movem.w d0-d2,32(a2)
move.w animcnt,d6
moveq #116,d0
moveq #50,d1
moveq #-5,d2
moveq #0,d3
moveq #0,d4
moveq #0,d5
jsr RotateX(a6)
movem.w d0-d2,8(a2)
move.w #120,d6
moveq #0,d3
moveq #0,d4
moveq #0,d5
jsr RotateX(a6)
movem.w d0-d2,24(a2)
move.w #120,d6
moveq #0,d3
moveq #0,d4
moveq #0,d5
jsr RotateX(a6)
movem.w d0-d2,40(a2)
subq.w #4,animcnt
tst.w animcnt
bge.s .ok
add.w #360,animcnt
.ok:
movem.l (a7)+,d2-d6/a2/a6
rts
animcnt dc.w 0
vecname dc.b "vector.library",0
gfxname dc.b "graphics.library",0