pico-8 cartridge // http://www.pico-8.com version 14 __lua__ plt={5,4,3,11} cama1=0.1 cama2=0.1 va1=0 va2=0 wix=24 wiz=24 hei=32 function _init() init_palettes() init_waves() waves={} data={} for l=0,hei do local lay={} for y=0,wiz-1 do local lin={} if l==0 then for x=0,wix-1 do lin[x]=plt[flr(rnd(2))+1] end end lay[y]=lin end data[l]=lay end lnn=880+flr(rnd(10)) step=0 stepref=hei end t=0 function _update() t+=0.01 wave_t+=1 if btn(0) then va1-=0.003 end if btn(1) then va1+=0.003 end if btn(2) then va2+=0.001 end if btn(3) then va2-=0.001 end if btnp(4) then _init() end cama1+=va1 cama2+=va2 if not btn(5) then va1*=0.9 va2*=0.9 if abs(va1)<0.0003 then va1=0 end if abs(va2)<0.0003 then va2=0 end end if cama2<0 then cama2,va2=0,0 elseif cama2>0.23 then cama2,va2=0.23,0 end step+=1 if step=wix or y+j<0 or y+j>=wiz then k+=0 else local c=blay[y+j][x+i] if c then k+=1 cs[c]+=1 end end end end mx=-1 for i=1,#plt do m=plt[i] omx=mx mx=max(mx,cs[m]) if mx>omx then ci=i end end ci=flr(ci+rnd(2)/1-1)%#plt+1 if k>=5 then lay[y][x]=plt[ci] end end end function fill_build_holes() for l=0,hei-2 do local lay=data[l] local alay=data[l+1] for y=0,wiz-1 do local lin=lay[y] local alin=alay[y] for x=0,wix-1 do if lin[x] then local c=alin[x] if c then lin[x]=c end end end end end end function add_water() local c=1 for i=1,4 do local lay=data[i] for y=0,wiz-1 do local lin=lay[y] for x=0,wix-1 do if i<4 and x>0 and x0 and ys.l then del(waves,s) else s.x+=0.3 s.y-=0.3 s.w=1-(abs(s.t-s.l*0.5)/(s.l*0.5)) end end function draw_bg() local fz=3.8*cos(cama2) local fzy=-sin(cama2) local hor=80-fzy*128 local anc=116-fzy*40-4.4*fz fillp() if hor<0 then --cls(12) hor=-1 else fillp(0b0000111100001111) rectfill(0,0,127,hor-71,1+1*16) rectfill(0,hor-72,127,hor-69,1+2*16) rectfill(0,hor-68,127,hor-57,2+2*16) rectfill(0,hor-56,127,hor-49,2+14*16) rectfill(0,hor-48,127,hor-1,14+14*16) rectfill(0,hor-2,127,hor-2,15+15*16) local sunx=64-angle_diff(cama1,0)*1024 circfill(sunx,hor,32,10+14*16) fillp() circfill(sunx,hor,24,10) rectfill(0,hor,127,hor,7) -- rectfill(0,hor+1,127,127,12) end fillp(0b0101111101011111) local fzy=-sin(cama2*0.9+0.02) local cols={[0]=12+12*16,[1]=7+12*16} local step=wave_data[-flr(wave_t/2)%32] for y=hor+1,127,2 do local lin=step[flr((y-anc)/fzy)+128] if lin then local x=0 local c=lin[0] for nx in all(lin) do rectfill(x,y,nx-1,y+1,cols[c]) x=nx c=(c+1)%2 end else camera() rectfill(0,y,127,y+1,12+12*16) end end -- clip(0,hor+1,128,128-hor) -- fillp(0b0101111101011111) -- -- local fzy=-sin(cama2*0.8+0.01) -- -- cols={[0]=12+12*16,[1]=7+12*16} -- -- color(7+12*16) -- for i=0,99 do -- local x=rnd(128) -- local y=rnd(128-hor)+hor -- -- local d=dist(x-64,(y-anc)/fzy) -- if d%64<16 then -- rectfill(x-2,y-2,x+2,y+2) -- end -- end -- local fx=cos(cama1) -- local fy=sin(cama1) -- -- for k,s in pairs(waves) do -- local w=s.w*2 -- local x=64+s.x*fx+s.y*fy -- local y=anc+fzy*(-s.x*fy+s.y*fx) -- -- for i=-16,16,2 do -- local w=w*(20-abs(i))/20 -- -- local xx=x+i*w*(fx+fy) -- local yy=y+i*w*fzy*(-fy+fx) -- -- rectfill(xx-w,yy-fzy*w,xx+w,yy+fzy*w,7+12*16) -- end -- end clip() end function draw_voxels() local fx=3.8*cos(cama1) local fy=3.8*sin(cama1) local fz=3.8*cos(cama2) local fzy=-sin(cama2) local startx,endx,stepx if cama1%1>=0.5 then startx=wix-1 endx=0 stepx=-1 else startx=0 endx=wix-1 stepx=1 end local starty,endy,stepy if cama1%1>=0.25 and cama1%1<0.75 then starty=wiz-1 endy=0 stepy=-1 else starty=0 endy=wiz-1 stepy=1 end local a=flr(cama1*4)%4 local aa=a*0.25+0.125-cama1 local xa=-3*sin(aa-0.25)+0.5 local xb=-3*sin(aa)+0.5 local xc=-3*sin(aa+0.25)+0.5 local plta=pltdat[a] local pltb=pltdat[(a+1)%4] local xd,cirb if abs(xa-xb)>abs(xb-xc) then xd=0.5*(xb+xc) cirb=abs(xb-xc)*0.5 pltc=plta pltd=pltb else xd=0.5*(xa+xb) cirb=abs(xa-xb)*0.5 pltc=pltb pltd=plta end anc=116-fzy*40 filpa=0b0101111101011111 filpb=0b0101101001011010 fillp(filpa) for l=5,hei-1 do local ly=anc-l*fz local lx=64 local x,y=lx,ly local lay=data[l] local alay=data[l+1] for sy=starty,endy,stepy do local lin=lay[sy] local alin=alay[sy] for sx=startx,endx,stepx do local c=lin[sx] if c then local xx=(sx-wix*0.5+0.5)*fx+(sy-wiz*0.5+0.5)*fy local yy=fzy*((sx-wix*0.5+0.5)*(-fy)+(sy-wiz*0.5+0.5)*fx) xx+=x yy+=y if c==12 then if (dist(sx,sy,wix*0.5,wiz*0.5)*0.2-t)%1<0.2 then rectfill(xx-2,yy-2,xx+1,yy-2+fzy*3,7+12*16) end elseif c==11 or c==3 then circfill(xx,yy-1,2,pltc[c]) circfill(xx+xd,yy-1,cirb,pltd[c]) if not alin[sx] then fillp(filpb) circfill(xx,yy-3+fzy*1.5,fzy*1.8,pltlit[c]) fillp(filpa) end else rectfill(xx+xa,yy-2,xx+xb,yy+1,plta[c]) rectfill(xx+xb,yy-2,xx+xc,yy+1,pltb[c]) if not alin[sx] then rectfill(xx+xa,yy-2,xx+xc,yy-2+fzy*3,pltlit[c]) end end end end end end end function draw_voxelsb() local fx=3.8*cos(cama1) local fy=3.8*sin(cama1) local fz=3.8*cos(cama2) local fzy=-sin(cama2) local anc=116-fzy*40 fillp(0b0101101001011010) fillp(0b0101111101011111) local ws,hs={},{} for i=0,15 do local n=cos(t*2+i/16) ws[i]=3+n hs[i]=fzy*3+n end for y,ar in pairs(base) do for i,x in pairs(ar) do local xx=64+(x-wix*0.5+0.5)*fx+(y-wiz*0.5+0.5)*fy local yy=anc-4.4*fz+fzy*((x-wix*0.5+0.5)*(-fy)+(y-wiz*0.5+0.5)*fx) local k=(x+y)%16 local w,h=ws[k],hs[k] rectfill(xx-w,yy-h,xx+w,yy+h,7+12*16) --circfill(xx,yy,3,7+12*16) end end local startx,endx,stepx if cama1%1>=0.5 then startx=wix-1 endx=0 stepx=-1 else startx=0 endx=wix-1 stepx=1 end local starty,endy,stepy if cama1%1>=0.25 and cama1%1<0.75 then starty=wiz-1 endy=0 stepy=-1 else starty=0 endy=wiz-1 stepy=1 end local a=flr(cama1*4)%4 local aa=a*0.25+0.125-cama1 local xa=-3*sin(aa-0.25)+0.5 local xb=-3*sin(aa)+0.5 local xc=-3*sin(aa+0.25)+0.5 local plta=pltdat[a] local pltb=pltdat[(a+1)%4] local xd,cirb if abs(xa-xb)>abs(xb-xc) then xd=0.5*(xb+xc) cirb=abs(xb-xc)*0.5 pltc=plta pltd=pltb else xd=0.5*(xa+xb) cirb=abs(xa-xb)*0.5 pltc=pltb pltd=plta end filpa=0b0101111101011111 filpb=0b0101101001011010 fillp(filpa) for sy=starty,endy,stepy do local lin=data[sy] local hlin=heights[sy] local hmlin=hmaps[sy] for sx=startx,endx,stepx do local clm=lin[sx] local h=hlin[sx] local hclm=hmlin[sx] for i=1,h do local l=hclm[i] local c=clm[l] if c then local xx=64+(sx-wix*0.5+0.5)*fx+(sy-wiz*0.5+0.5)*fy local yy=anc-l*fz+fzy*((sx-wix*0.5+0.5)*(-fy)+(sy-wiz*0.5+0.5)*fx) if c==12 then if (dist(sx,sy,wix*0.5,wiz*0.5)*0.2-t)%1<0.2 then rectfill(xx-2,yy-2,xx+1,yy-2+fzy*3,7+12*16) end elseif c==11 or c==3 then circfill(xx,yy-1,2,pltc[c]) circfill(xx+xd,yy-1,cirb,pltd[c]) if not clm[l+1] then fillp(filpb) circfill(xx,yy-3+fzy*1.5,fzy*1.8,pltlit[c]) fillp(filpa) end else rectfill(xx+xa,yy-2,xx+xb,yy+1,plta[c]) rectfill(xx+xb,yy-2,xx+xc,yy+1,pltb[c]) if not clm[l+1] then rectfill(xx+xa,yy-2,xx+xc,yy-2+fzy*3,pltlit[c]) end end end end end end end function draw_time() local ho=stat(93) local mi=stat(94) local se=stat(95) local mho=ho%12 if mho==0 then mho=12 end local x=0 -- spr(15,1,1) x+=8 local s if mho>=10 then s=flr(mho/10) spr(s,x,0) x+=7 end s=mho%10 spr(s,x,0) x+=6 if se%2<1 then spr(14,x,0) end x+=6 s=flr(mi/10) spr(s,x,0)x+=7 s=mi%10 spr(s,x,0)x+=8 if ho<12 then spr(10,x,2) x+=7 spr(12,x,2,2,1) else spr(11,x,2) x+=7 spr(12,x,2,2,1) end -- print(ho..":"..mi,0,0,7) pal() --spr(0,0,0,1,1) -- sspr(0,0,8,8) end function draw_text(blah,x,y,al,c1,c2,c3,notwave) local c1=c1 or 0 local c2=c2 or 7 local c3=c3 or 6 local al=al or 1 if al==1 then x-=#blah*2 elseif al==2 then x-=#blah*4 end x+=1 y-=2 if not notwave then for i=1,#blah do local b=sub(blah,i,i) local yy=y+2*cos(t*4+x/50) print(b,x-1,yy+2,c3) print(b,x,yy+2,c3) print(b,x+1,yy+2,c3) print(b,x-1,yy,c2) print(b,x-1,yy-1,c2) print(b,x,yy-1,c2) print(b,x+1,yy-1,c2) print(b,x+1,yy,c2) print(b,x+1,yy+1,c2) print(b,x,yy+1,c2) print(b,x-1,yy+1,c2) print(b,x,yy,c1) x+=4 end else print(blah,x-1,y+2,c3) print(blah,x,y+2,c3) print(blah,x+1,y+2,c3) print(blah,x-1,y,c2) print(blah,x-1,y-1,c2) print(blah,x,y-1,c2) print(blah,x+1,y-1,c2) print(blah,x+1,y,c2) print(blah,x+1,y+1,c2) print(blah,x,y+1,c2) print(blah,x-1,y+1,c2) print(blah,x,y,c1) end end function create_wave() add(waves,{ x=rnd(256)-128+16, y=rnd(256)-128+16, w=0, t=0, l=1+rnd(1) }) end function init_waves() wave_data={} local kw=8 fillp() for t=0,31 do cls(0) for i=3,-1,-1 do local v=t%32+i*32 local r=v local w=kw if r<0 then w=kw+r elseif r>126-kw*2 then w=kw-(r-(126-kw*2))*0.5 end circfill(127,127,r+w,1) fillp() circfill(127,127,r,0) end local step={} for y=0,127 do local lin={} local lchange=0 local curc=pget(0,y) lin[0]=curc for x=64,127 do if pget(x,y)~=curc then add(lin,x-64) curc=(curc+1)%2 end end for x=127,64,-1 do if pget(x,y)~=curc then add(lin,128-(x-64)) curc=(curc+1)%2 end end --local k=#lin --for i=k,1,-1 do -- add(lin,127-lin[k]) --end add(lin,256) step[y]=lin end for y=0,127 do step[128+y]=step[127-y] end wave_data[t]=step end wave_t=0 end function init_palettes() lit={[0]=1,12,14,11,9,13,7,7,14,10,7,7,7,6,7,7} drk={[0]=0,0,1,1,2,1,13,6,2,4,9,3,1,1,2,5} nrm={[0]=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} local pltsa={[0]=drk,nrm,nrm,nrm} local pltsb={[0]=drk,nrm,lit,nrm} pltdat={} for i=0,3 do local plt={} for c=0,15 do plt[c]=pltsa[i][c]*16+pltsb[i][c] end pltdat[i]=plt end pltlit={} for c=0,15 do pltlit[c]=lit[c]+c*16 end end function copy_array(ar) local n={} for i,v in pairs(ar) do if type(v)=="table" then n[i]=copy_array(v) else n[i]=v end end return n end function angle_diff(a1,a2) local a=a2-a1 return (a+0.5)%1-0.5 end function dist(xa,ya,xb,yb) if xb then xa=xb-xa ya=yb-ya end return sqrt(sqrdist(xa,ya)) end function sqrdist(x,y) return sqr(x)+sqr(y) end function sqr(a) return a*a end function round(a) return flr(a+0.5) end function ceil(a) return flr(a+0x.ffff) end __gfx__ 00000000000000000000000000000000000000000000000000000000000000000000000000000000007777700077770007777777000000000000000000000000 00777700000770000077770000777700000777000777777000777700077777700077770000777700077dd770077dd770077d77d7700000000007700000007700 077dd77000777000077dd770077dd77000777700077dddd0077ddd00077dd770077dd770077dd770077007700770077007707707700000000007700000007700 0770077000d770000dd007700dd77770077d770007777700077777000dd007700d7777d00770077007707770077007700770770770000000000dd00000077700 0770077000077000007777d0000dd770077077000dddd770077dd770000077d0077dd7700d7777700d777d70077777d007707707700000000000000000777d00 0770077000077000077ddd000770077007777770077007700770077000077d000770077000ddd77000ddd0d0077ddd000dd0dd0dd0000000000770000077d000 0d7777d000777700077777700d7777d00ddd77d00d7777d00d7777d0000770000d7777d0007777d0000000000770000000000000000000000007700000770000 00dddd0000dddd000dddddd000dddd000000dd0000dddd0000dddd00000dd00000dddd0000dddd00000000000dd000000000000000000000000dd00000dd0000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000100000001000000000000000000000001000000010000000000000000000000000000 00000000000000000000000000010000000010000000000000000000000d0000001d1000000000000000000000020000000c0000000000000000000000000000 000000000000000000000000001d10000100000000100000000000000016100001d6d1000001000000010000001e100000161000000000000000000000000000 0007000000060000000d000001d7d1000000000000000000000100001d676d101d676d10001e1000001c100012e7e2101c676c10000000000000000000000000 000000000000000000000000001d10000001000000000000000000000016100001d6d1000001000000010000001e100000161000000000000000000000000000 00000000000000000000000000010000000000000000100000000000000d0000001d1000000000000000000000020000000c0000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000100000001000000000000000000000001000000010000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __gff__ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __map__ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __sfx__ 000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __music__ 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344 00 41424344