home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Falcon 030 Power 2
/
F030_POWER2.iso
/
ST_STE
/
MAGS
/
MAGGIE22.ARJ
/
magg22st.msa
/
GOODIES
/
ST_INTRO.ZIP
/
M21.ST
/
DATA
/
INT_GFX.GFA
(
.txt
)
< prev
next >
Wrap
GFA-BASIC Atari
|
1996-09-11
|
3KB
|
105 lines
' Interference Generator
' For ST intro wash effect
'
'
RESERVE 500000
INPUT "Random factor, like a tractor:";ra%
RANDOMIZE ra%
maxint%=1
x1%=0
y1%=0
x2%=256
y2%=64
div%=8
xs%=x2%-x1%
ys%=y2%-y1%
xsize%=xs%/div%
ysize%=ys%/div%
PRINT xsize%,ysize%
DIM p%(xsize%+1,ysize%+1)
' END
nine%=MALLOC(320*240+2048)
out%=MALLOC(64*64)
old%=XBIOS(2)
' --------------------------------------
phys%=nine%+256*4
HIDEM
' --------------------------------------
VOID XBIOS(5,L:phys%,L:phys%,0)
GOSUB set_points
GOSUB set_colors
GOSUB interference(0,0,256,64)
GOSUB get_z
'
REPEAT
UNTIL MOUSEK
' --------------------------------------
VOID XBIOS(5,L:old%,L:old%,2)
VOID MFREE(nine%)
END
'
PROCEDURE set_points
FOR x%=0 TO xsize%-1
FOR y%=0 TO ysize%-1
p%(x%,y%)=RND*360*1
NEXT y%
p%(x%,ysize%)=p%(x%,0)
NEXT x%
FOR y%=0 TO ysize%-1
p%(xsize%,y%)=p%(0,y%)
NEXT y%
RETURN
'
PROCEDURE interference(mx1%,my1%,mx2%,my2%)
out2%=out%
FOR y%=my1% TO my2%-1
FOR x%=mx1% TO mx2%-1
sx#=x%
sy#=y%
FOR i%=maxint% TO 1 STEP -1
c#=FN height(sx#,sy#)
ADD sx#,i%*8*SINQ(c#)
ADD sy#,i%*8*COSQ(c#)
NEXT i%
q%=FN colour(sx#,sy#)/16
PSET x%,y%,q%
POKE out2%,q%*4
INC out2%
NEXT x%
IF MOUSEK
y%=my2%+100
ENDIF
NEXT y%
RETURN
'
FUNCTION height(xx#,yy#)
xx#=xx# AND (xs%-1)
yy#=yy# AND (ys%-1)
xm1#=xx# MOD div%
ym1#=yy# MOD div%
xm2#=(xx#/div%) MOD xsize%
ym2#=(yy#/div%) MOD ysize%
xm3#=(xm2#+1) MOD xsize%
ym3#=(ym2#+1) MOD ysize%
colq#=p%(xm2#,ym2#)+(p%(xm2#,ym3#)-p%(xm2#,ym2#))*ym1#/div%
colr#=p%(xm3#,ym2#)+(p%(xm3#,ym3#)-p%(xm3#,ym2#))*ym1#/div%
RETURN ((colr#-colq#)*xm1#/div%)+colq#
ENDFUNC
'
FUNCTION colour(xx%,yy%)
p%=((xx%/x2%+yy%/y2%)*2*128) MOD 256
RETURN ABS(128-p%)
ENDFUNC
'
PROCEDURE set_colors
VSYNC
col%=nine%
FOR x%=0 TO 15
VSETCOLOR x%,x%,x%,x%
NEXT x%
RETURN
'
PROCEDURE get_z
BSAVE "d:\source2\m21.st\data\tun2.dat",out%,out2%-out%
RETURN