home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Computing 66
/
ac066b.adf
/
AMOS.DMS
/
AMOS.adf
/
amos_3d_demos
/
Star_Waring.AMOS
/
Star_Waring.amosSourceCode
Wrap
AMOS Source Code
|
1991-07-30
|
2KB
|
105 lines
'
' Super polygon demo
'
' By Richard Lewis
'
' (c) Copyright Europress / VooDoo Software 1991
'
'
Extension_4_04D6 ":AMOS_3D_demos/objects"
MX_STARS=6
Dim STARNUM(MX_STARS)
Dim VX(MX_STARS)
Dim VY(MX_STARS)
Dim VZ(MX_STARS)
Screen Open 1,512+320,100,8,Lowres
Load Iff ":AMOS_3D_demos/scrollpic.iff",1
Hide On
Screen Hide 1
Screen 0
Screen Display 0,,,320,140
RemScreen Display 1,,160,320,100
Extension_4_0054 150
Extension_4_0016 "polygons"
RemTd Object 1,"polygons",0,0,1200,0,0,0
Get Palette 1
Flash Off
Flash 8,"(f10,1)(f30,1)(f50,1)(f70,1)(f90,1)(fb0,1)(fe0,1)(ff0,1)"
Flash 9,"(f80,1)(f90,1)(fa0,1)(fb0,1)(fc0,1)(fd0,1)(fe0,1)(ff0,1)"
Curs Off
Paper 7
Ink 0
Double Buffer
Autoback 0
X Mouse=300
NSTARS=0
Repeat
Extension_4_053C
STARS
DX=X Mouse-300
X Mouse=300
DB=DB+DX*20
If DB>0
DB=DB*0.9
If DB<0 : DB=0 : End If
Else
If DB<0
DB=DB*0.9
If DB>0 : DB=0 : End If
End If
End If
Extension_4_018C 0,0,DB,0
BVIEW= Extension_4_01D0(0)
BACKX=BVIEW/128
Extension_4_0318
Extension_4_049E 1,BACKX,0,320,100 To 0,50
Screen Swap
Wait Vbl
Until False
Procedure STARS
Shared NSTARS,STARNUM(),MX_STARS,KEYDOWN,VX(),VY(),VZ()
Rem
N=1
While N<=MX_STARS
If STARNUM(N)=1
If Extension_4_007E(0,N)>20000
DESTROYSTAR[N]
Else
Extension_4_00D4 N,VX(N),VY(N),VZ(N)
Extension_4_018C N,0,1551,2000
End If
End If
Inc N
Wend
If Mouse Key=1
If KEYDOWN=0 : NEWSTAR : KEYDOWN=1 : End If
Else
KEYDOWN=0
End If
End Proc
Procedure NEWSTAR
Shared NSTARS,STARNUM(),MX_STARS,N,BVIEW,VX(),VY(),VZ()
N=1
NEW=0
While N<=MX_STARS
If STARNUM(N)=0 : If NEW=0 : NEW=N : End If : End If
Inc N
Wend
If NEW>0
VX(NEW)= Extension_4_03BA(0,0,0,400)
VY(NEW)= Extension_4_03C8
VZ(NEW)= Extension_4_03E8
Rem We've found a gap !
Extension_4_0036 NEW,"polygons",2*VX(NEW),2*VY(NEW),2*VZ(NEW),Rnd(16000),BVIEW,0
STARNUM(NEW)=1
Inc NSTARS
End If
End Proc
Rem
Procedure DESTROYSTAR[N]
Shared NSTARS,STARNUM()
Rem
Extension_4_0090 N
STARNUM(N)=0
Dec NSTARS
End Proc