'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'              Psychedelic sine lines demo.
'     A totally original effect coded by accident by
'                  Shockwave. (c) 2002.
'This came about by accident, if I'd set out to code this
'   I probably couldn't have come up with the idea :o)
'            A total accident and very nice.
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

goto setup

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'                    The Main Loop:
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

label begin
   gosub buffer
   gosub lines
   gosub writer  
goto begin

label lines

for a=1 to dots
 size=a*18
 xw=sintab(a+so)
 yw=costab(a+co)
 xw2=sintab((a+10)+so)
 yw2=costab((a+10)+co)
 setrgb 1,(a+red),(a+grn),(a+blu)/2
 triangle xw-size,yw-size to xw+size,yw-size to xw2-size,yw2-size
 triangle xw2-size,yw2-size to xw2+size,yw2-size to xw+size,yw-size
 triangle xw-size,yw+size to xw+size,yw+size to xw+size,yw2+size
 triangle xw+size,yw2+size to xw2-size,yw2+size to xw-size,yw+size
triangle xw-size,yw+size to xw-size,yw-size to xw2-size,yw2-size
triangle xw2-size,yw2+size to xw2-size,yw2-size to xw-size,yw+size
triangle xw+size,yw+size to xw+size,yw-size to xw2+size,yw2-size
triangle xw2+size,yw2+size to xw2+size,yw2-size to xw+size,yw+size
next a

so=so+1
co=co+1
if so>360 so=so-360
if co>360 co=co-360
return



label writer
tc=tc+1
if tc<20 and ts<15 ts=ts+1
if tc>120 and ts>0 ts=ts-1
if ts=0 then
  p=p+15
  if p>len(s$) p=1
  tc=0
fi
setrgb 1,155,155,155
rect 233,237 to 401,267
text 320,256,mid$(s$,p,ts),"cc"
text 320,480,"-=A SHOCKWAVE DEMO / WWW.PS2-YABASIC.CO.UK=-","cc"
setrgb 1,255,255,255
rect 234,238 to 400,266
text 321,257,mid$(s$,p,ts),"cc"
text 321,481,"-=A SHOCKWAVE DEMO / WWW.PS2-YABASIC.CO.UK=-","cc"
setrgb 1,0,0,0
text 322,258,mid$(s$,p,ts),"cc"
text 322,482,"-=A SHOCKWAVE DEMO / WWW.PS2-YABASIC.CO.UK=-","cc"
return


label buffer
  setdrawbuf dw
  dw=1-dw
  setdispbuf dw
  mm=mm+.1
  eftime=eftime+1
  red=40+30*sin(mm/4)
  grn=40+30*sin(mm/2)
  blu=40+30*sin(mm/3)
    setrgb 1,red,10,10
    setrgb 2,10,grn,20
    setrgb 3,10,20,blu
    gtriangle 0,0 to 640,512 to 0,512
    gtriangle 0,0 to 640,512 to 640,0
return

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'      Set up All major variables etc for the demo.
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

label setup
'---------------------------------------------------------
'This is the message writer text, keep each line 15 chars
'---------------------------------------------------------
       mm=0.0
          p=1
         s$="               "
      s$=s$+"  -=WELCOME=-  " 
      s$=s$+" TO SHOCKWAVES " 
      s$=s$+" FIRST DEMO OF " 
      s$=s$+" THE YEAR 2002 " 
      s$=s$+"ITS ONLY SIMPLE" 
      s$=s$+" BUT IT'S NICE " 
      s$=s$+"NICE SCROLL TOO" 
      s$=s$+"IF YOUD LIKE TO" 
      s$=s$+" LEARN YABASIC " 
      s$=s$+"PAY A VISIT TO:" 
      s$=s$+" YABASIC.CO.UK " 
      s$=s$+" THE BEST SITE " 
      s$=s$+"  FOR YABASIC  " 
      s$=s$+"  ON THE NET!  " 
      s$=s$+"HIYA TO YOU ALL" 
      s$=s$+" YABASIC.CO.UK " 
      s$=s$+"  ESPECIALLY:  " 
      s$=s$+"  PS2YABASIC!  " 
      s$=s$+"    DOCTOR!    " 
      s$=s$+"   XALTHORN!   " 
      s$=s$+"    RAFRYER    " 
      s$=s$+"   SEPHIROTH   " 
      s$=s$+" STATICGERBIL! " 
      s$=s$+" PSI2 MAGAZINE " 
      s$=s$+" OPS2 MAGAZINE " 
      s$=s$+"     GOTHI     " 
      s$=s$+"  MONKEYPANTS  " 
      s$=s$+"  JACOB BUSBY  " 
      s$=s$+"     JINX!     " 
      s$=s$+"   JOMORROW!   " 
      s$=s$+" AND SNAKEDOGG " 
      s$=s$+" SEE YOU LATER " 
      s$=s$+"  IN THE NEXT  "       
      s$=s$+"  INSANE DEMO  " 
      ts=1
   open window 640,512
dim sintab(720)
dim costab(720)
for a=1 to 720
sintab(a)=320+270*sin(a*(pi/180)*2)
costab(a)=256+200*cos(a*(pi/180)*2)
next a
dots=36
cf=255
goto begin



