MILKDROP_PRESET_VERSION=201 PSVERSION=3 PSVERSION_WARP=3 PSVERSION_COMP=3 [preset00] fRating=1.000 fGammaAdj=1.980 fDecay=0.500 fVideoEchoZoom=0.952 fVideoEchoAlpha=0.500 nVideoEchoOrientation=3 nWaveMode=5 bAdditiveWaves=1 bWaveDots=0 bWaveThick=0 bModWaveAlphaByVolume=1 bMaximizeWaveColor=0 bTexWrap=1 bDarkenCenter=0 bRedBlueStereo=0 bBrighten=0 bDarken=1 bSolarize=0 bInvert=0 fWaveAlpha=0.001 fWaveScale=1.229 fWaveSmoothing=0.000 fWaveParam=0.200 fModWaveAlphaStart=0.710 fModWaveAlphaEnd=1.300 fWarpAnimSpeed=1.000 fWarpScale=3.138 fZoomExponent=1.60920 fShader=0.000 zoom=0.90700 rot=0.14000 cx=0.530 cy=0.500 dx=0.00000 dy=0.00000 warp=0.23800 sx=1.00990 sy=1.25710 wave_r=0.000 wave_g=0.000 wave_b=0.000 wave_x=0.500 wave_y=0.500 ob_size=0.000 ob_r=0.000 ob_g=0.000 ob_b=0.000 ob_a=0.010 ib_size=0.000 ib_r=0.000 ib_g=0.000 ib_b=0.000 ib_a=0.010 nMotionVectorsX=64.000 nMotionVectorsY=48.000 mv_dx=0.000 mv_dy=0.000 mv_l=1.850 mv_r=0.500 mv_g=0.500 mv_b=0.500 mv_a=0.000 b1n=0.000 b2n=0.000 b3n=0.000 b1x=1.000 b2x=1.000 b3x=1.000 b1ed=0.000 wavecode_0_enabled=0 wavecode_0_samples=512 wavecode_0_sep=0 wavecode_0_bSpectrum=0 wavecode_0_bUseDots=1 wavecode_0_bDrawThick=0 wavecode_0_bAdditive=0 wavecode_0_scaling=0.89152 wavecode_0_smoothing=0.82000 wavecode_0_r=1.000 wavecode_0_g=1.000 wavecode_0_b=1.000 wavecode_0_a=0.600 wave_0_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_0_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_0_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_0_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_0_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_0_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_0_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_0_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_0_init9= wave_0_per_frame1=t1 = time - int (time); wave_0_per_point1= wave_0_per_point2=t_abs = sample*3; wave_0_per_point3=t_rel = sample-time/5; wave_0_per_point4= wave_0_per_point5=ampl = 2*t_abs/2 ; wave_0_per_point6= wave_0_per_point7=k1=sin(time/13); wave_0_per_point8=k2=sin(time/12); wave_0_per_point9=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; wave_0_per_point10=oy = ampl*cos (t_abs*(31+5*k2)); wave_0_per_point11=oz = -1 ; wave_0_per_point12= wave_0_per_point13= wave_0_per_point14=r = sqr(sin(t_rel*3.4)); wave_0_per_point15=g = sqr(sin(t_rel)); wave_0_per_point16=b = sqr (cos(t_rel*1.8)); wave_0_per_point17= wave_0_per_point18=a=0.1*(sin(t_abs*3)) wave_0_per_point19= + 0.6*q3*below (abs(1-t_abs-t1 ),0.3); wave_0_per_point20= wave_0_per_point21=xang = time/9.5; wave_0_per_point22=yang = 0*time/7; wave_0_per_point23=zang = -time/22; wave_0_per_point24=fov = 0.5; wave_0_per_point25= wave_0_per_point26= wave_0_per_point27=// Rotation um x,y,z wave_0_per_point28= wave_0_per_point29=mx = ox*cos(zang) - oy*sin(zang); wave_0_per_point30=my = ox*sin(zang) + oy*cos(zang); wave_0_per_point31= wave_0_per_point32=ox = mx; wave_0_per_point33=oy = my; wave_0_per_point34=mx = ox*cos(yang) + oz*sin(yang); wave_0_per_point35=mz = - ox*sin(yang) + oz*cos(yang); wave_0_per_point36=ox = mx; wave_0_per_point37=oz = mz; wave_0_per_point38=my = oy*cos(xang) - oz*sin(xang); wave_0_per_point39=mz = oy*sin(xang) + oz*cos(xang); wave_0_per_point40=oy = my; wave_0_per_point41=oz = mz; wave_0_per_point42= wave_0_per_point43=oz = oz - 6; wave_0_per_point44=x = ox*fov/oz +0.5; wave_0_per_point45=//x = (x-.5)*0.75 + 0.5; wave_0_per_point46=y = oy*fov/oz + 0.5; wave_0_per_point47= wavecode_1_enabled=0 wavecode_1_samples=512 wavecode_1_sep=0 wavecode_1_bSpectrum=0 wavecode_1_bUseDots=0 wavecode_1_bDrawThick=1 wavecode_1_bAdditive=0 wavecode_1_scaling=0.89152 wavecode_1_smoothing=0.82000 wavecode_1_r=1.000 wavecode_1_g=1.000 wavecode_1_b=1.000 wavecode_1_a=0.100 wave_1_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_1_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_1_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_1_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_1_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_1_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_1_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_1_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_1_init9= wave_1_per_frame1=tm = time*.1; wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); wave_1_per_frame5= wave_1_per_frame6=tic = min(time - tin,1); wave_1_per_frame7=tin = time; wave_1_per_frame8= wave_1_per_frame9=tva = (tic*q1*.5); wave_1_per_frame10=tvb = (tic*q2*.5); wave_1_per_frame11=tvc = (tic*q3*.5); wave_1_per_frame12= wave_1_per_frame13=q1 = tva; wave_1_per_frame14=q2 = tvb; wave_1_per_frame15=q3 = tvc; wave_1_per_frame16= wave_1_per_frame17=sz = .5; wave_1_per_frame18=len = q4; wave_1_per_frame19=t4 = len; wave_1_per_point1=ang = 0; wave_1_per_point2=len = t4; wave_1_per_point3=mad = .6; wave_1_per_point4= wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); wave_1_per_point6=ita = (ita + 1)*above(sample,0); wave_1_per_point7= wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); wave_1_per_point9= wave_1_per_point10=sw = sw - 1; wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); wave_1_per_point12= wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); wave_1_per_point14=a = lev*.1*1.46; wave_1_per_point15= wave_1_per_point16=ar = if(above(sample,0),ar,1); wave_1_per_point17=ar = if(equal(lev,0),ar*-1,ar); wave_1_per_point18=br = if(above(sample,0),br,1); wave_1_per_point19=br = if(equal(lev,1),br*-1,br); wave_1_per_point20=cr = if(above(sample,0),cr,1); wave_1_per_point21=cr = if(equal(lev,2),cr*-1,cr); wave_1_per_point22=dr = if(above(sample,0),dr,1); wave_1_per_point23=dr = if(equal(lev,3),dr*-1,dr); wave_1_per_point24=er = if(above(sample,0),er,1); wave_1_per_point25=er = if(equal(lev,4),er*-1,er); wave_1_per_point26=fr = if(above(sample,0),fr,1); wave_1_per_point27=fr = if(equal(lev,5),fr*-1,fr); wave_1_per_point28=gr = if(above(sample,0),gr,1); wave_1_per_point29=gr = if(equal(lev,6),gr*-1,gr); wave_1_per_point30= wave_1_per_point31=mlev = lev*above(sample,0); wave_1_per_point32= wave_1_per_point33=swi = equal(q4,0)*equal(sample,0); wave_1_per_point34= wave_1_per_point35=ha = if(swi,1-2*int(rand(2)),ha); wave_1_per_point36=hb = if(swi,1-2*int(rand(2)),hb); wave_1_per_point37=hc = if(swi,1-2*int(rand(2)),hc); wave_1_per_point38=hd = if(swi,1-2*int(rand(2)),hd); wave_1_per_point39=he = if(swi,1-2*int(rand(2)),he); wave_1_per_point40=hf = if(swi,1-2*int(rand(2)),hf); wave_1_per_point41=hg = if(swi,1-2*int(rand(2)),hg); wave_1_per_point42= wave_1_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); wave_1_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); wave_1_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); wave_1_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); wave_1_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); wave_1_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); wave_1_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); wave_1_per_point50= wave_1_per_point51=aang = 1.57; wave_1_per_point52=bang = 1.57; wave_1_per_point53=cang = 1.57; wave_1_per_point54=dang = 1.57; wave_1_per_point55=eang = 1.57; wave_1_per_point56=fang = 1.57; wave_1_per_point57=gang = 1.57; wave_1_per_point58= wave_1_per_point59=oz = 0; wave_1_per_point60= wave_1_per_point61=len = len*mad; wave_1_per_point62=ox = above(lev,0)*sin(aang)*len*ar; wave_1_per_point63=oy = above(lev,0)*cos(aang)*len; wave_1_per_point64= wave_1_per_point65=an = (ar*aang + br*bang)*br; wave_1_per_point66=len = len*mad; wave_1_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; wave_1_per_point68=oz = oz + above(lev,1)*cos(an)*len; wave_1_per_point69= wave_1_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; wave_1_per_point71=len = len*mad; wave_1_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; wave_1_per_point73=oz = oz + above(lev,2)*cos(an)*len; wave_1_per_point74= wave_1_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; wave_1_per_point76=len = len*mad; wave_1_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; wave_1_per_point78=oy = oy + above(lev,3)*cos(an)*len; wave_1_per_point79= wave_1_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; wave_1_per_point81=len = len*mad; wave_1_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; wave_1_per_point83=oz = oz + above(lev,4)*cos(an)*len; wave_1_per_point84= wave_1_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; wave_1_per_point86=len = len*mad; wave_1_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; wave_1_per_point88=oz = oz + above(lev,5)*cos(an)*len; wave_1_per_point89= wave_1_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; wave_1_per_point91=len = len*mad; wave_1_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; wave_1_per_point93=ox = ox + above(lev,6)*cos(an)*len; wave_1_per_point94= wave_1_per_point95= wave_1_per_point96=xang = time*1.132; wave_1_per_point97=xang = q5; wave_1_per_point98=yang = time*1.153; wave_1_per_point99=yang = q6; wave_1_per_point100=zang = time*1.110; wave_1_per_point101=zang = q7 + 1.57; wave_1_per_point102=fov = .5; wave_1_per_point103= wave_1_per_point104=mx = ox*cos(zang) - oy*sin(zang); wave_1_per_point105=my = ox*sin(zang) + oy*cos(zang); wave_1_per_point106=ox = mx; wave_1_per_point107=oy = my; wave_1_per_point108=mx = ox*cos(yang) + oz*sin(yang); wave_1_per_point109=mz = - ox*sin(yang) + oz*cos(yang); wave_1_per_point110=ox = mx; wave_1_per_point111=oz = mz; wave_1_per_point112=my = oy*cos(xang) - oz*sin(xang); wave_1_per_point113=mz = oy*sin(xang) + oz*cos(xang); wave_1_per_point114=oy = my; wave_1_per_point115=oz = mz; wave_1_per_point116= wave_1_per_point117=oz = oz - 2; wave_1_per_point118=x = ox*fov/oz + 0.5; wave_1_per_point119=x = (x-.5)*0.75 + 0.5; wave_1_per_point120=y = oy*fov/oz + 0.5; wave_1_per_point121= wavecode_2_enabled=0 wavecode_2_samples=512 wavecode_2_sep=0 wavecode_2_bSpectrum=0 wavecode_2_bUseDots=0 wavecode_2_bDrawThick=1 wavecode_2_bAdditive=0 wavecode_2_scaling=0.89152 wavecode_2_smoothing=0.82000 wavecode_2_r=1.000 wavecode_2_g=1.000 wavecode_2_b=1.000 wavecode_2_a=0.100 wave_2_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_2_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_2_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_2_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_2_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_2_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_2_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_2_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; wave_2_init9= wavecode_3_enabled=0 wavecode_3_samples=512 wavecode_3_sep=0 wavecode_3_bSpectrum=1 wavecode_3_bUseDots=1 wavecode_3_bDrawThick=0 wavecode_3_bAdditive=0 wavecode_3_scaling=1.00000 wavecode_3_smoothing=0.50000 wavecode_3_r=1.000 wavecode_3_g=1.000 wavecode_3_b=1.000 wavecode_3_a=1.000 shapecode_0_enabled=1 shapecode_0_sides=12 shapecode_0_additive=0 shapecode_0_thickOutline=0 shapecode_0_textured=0 shapecode_0_num_inst=92 shapecode_0_x=0.800 shapecode_0_y=0.500 shapecode_0_rad=0.19790 shapecode_0_ang=1.57080 shapecode_0_tex_ang=1.25664 shapecode_0_tex_zoom=3.07268 shapecode_0_r=1.000 shapecode_0_g=1.000 shapecode_0_b=1.000 shapecode_0_a=1.000 shapecode_0_r2=0.000 shapecode_0_g2=0.000 shapecode_0_b2=0.000 shapecode_0_a2=0.000 shapecode_0_border_r=1.000 shapecode_0_border_g=0.000 shapecode_0_border_b=0.000 shapecode_0_border_a=0.000 shape_0_per_frame1=t1 = time - int (time); shape_0_per_frame2=sample = instance/num_inst; shape_0_per_frame3=t_abs = sample*3; shape_0_per_frame4=t_rel = sample-time/5; shape_0_per_frame5= shape_0_per_frame6=ampl = 2*t_abs/2 ; shape_0_per_frame7= shape_0_per_frame8=k1=sin(time/13); shape_0_per_frame9=k2=sin(time/12); shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); shape_0_per_frame12=oz = -1 ; shape_0_per_frame13= shape_0_per_frame14= shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); shape_0_per_frame16=g = sqr(sin(t_rel)); shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); shape_0_per_frame18= shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; shape_0_per_frame20= shape_0_per_frame21=xang = time/9.5; shape_0_per_frame22=yang = 0*time/7; shape_0_per_frame23=zang = -time/22; shape_0_per_frame24=fov = 0.5; shape_0_per_frame25= shape_0_per_frame26= shape_0_per_frame27=// Rotation um x,y,z shape_0_per_frame28= shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); shape_0_per_frame31= shape_0_per_frame32=ox = mx; shape_0_per_frame33=oy = my; shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); shape_0_per_frame36=ox = mx; shape_0_per_frame37=oz = mz; shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); shape_0_per_frame40=oy = my; shape_0_per_frame41=oz = mz; shape_0_per_frame42= shape_0_per_frame43=oz = oz - 6; shape_0_per_frame44=x = ox*fov/oz +0.5; shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; shape_0_per_frame46=y = oy*fov/oz + 0.5; shape_0_per_frame47= shape_0_per_frame48=sides=int(rand(100)); shape_0_per_frame49=ang=int(rand(628))/100; shape_0_per_frame50=a=int(rand(1000))/1000; shape_0_per_frame51=rad=int(rand(1000))/4000; shapecode_1_enabled=1 shapecode_1_sides=32 shapecode_1_additive=1 shapecode_1_thickOutline=1 shapecode_1_textured=0 shapecode_1_num_inst=33 shapecode_1_x=0.500 shapecode_1_y=0.500 shapecode_1_rad=0.10000 shapecode_1_ang=0.00000 shapecode_1_tex_ang=0.00000 shapecode_1_tex_zoom=1.00000 shapecode_1_r=0.000 shapecode_1_g=0.500 shapecode_1_b=0.000 shapecode_1_a=1.000 shapecode_1_r2=0.000 shapecode_1_g2=0.500 shapecode_1_b2=0.000 shapecode_1_a2=0.000 shapecode_1_border_r=1.000 shapecode_1_border_g=1.000 shapecode_1_border_b=1.000 shapecode_1_border_a=0.000 shape_1_per_frame1=trans = rand(int(q30))/15+instance-instance; shape_1_per_frame2=trans2 = rand(int(q30))/15+instance-instance; shape_1_per_frame3=trans3 = rand(int(q30))/15+instance-instance; shape_1_per_frame4=a = trans; shape_1_per_frame5= shape_1_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; shape_1_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; shape_1_per_frame8=rad = .09 + rand(int(q30))/15+instance-instance; shape_1_per_frame9=r=rand(q30)*.1+instance-instance; shape_1_per_frame10=g=rand(q30)*.1+instance-instance; shape_1_per_frame11=b=rand(q30)*.1+instance-instance; shape_1_per_frame12=r2=rand(q30)*.1+instance-instance; shape_1_per_frame13=g2=rand(q30)*.1+instance-instance; shape_1_per_frame14=b2=rand(q30)*.1+instance-instance; shape_1_per_frame15=border_r=rand(q30)*.1+instance-instance; shape_1_per_frame16=border_g=rand(q30)*.1+instance-instance; shape_1_per_frame17=border_b=rand(q30)*.1+instance-instance; shapecode_2_enabled=1 shapecode_2_sides=3 shapecode_2_additive=0 shapecode_2_thickOutline=1 shapecode_2_textured=1 shapecode_2_num_inst=311 shapecode_2_x=0.500 shapecode_2_y=0.500 shapecode_2_rad=0.01000 shapecode_2_ang=0.00000 shapecode_2_tex_ang=0.62832 shapecode_2_tex_zoom=1.00000 shapecode_2_r=0.000 shapecode_2_g=0.000 shapecode_2_b=0.000 shapecode_2_a=1.000 shapecode_2_r2=0.000 shapecode_2_g2=0.000 shapecode_2_b2=0.000 shapecode_2_a2=0.000 shapecode_2_border_r=0.000 shapecode_2_border_g=0.000 shapecode_2_border_b=0.000 shapecode_2_border_a=0.000 shape_2_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); shape_2_per_frame3= shape_2_per_frame4=mx=mx+(.0002*cos(ma)); shape_2_per_frame5=my=my+(.0002*tan(ma)); shape_2_per_frame6= shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); shape_2_per_frame11= shape_2_per_frame12=x=1-mx; shape_2_per_frame13=y=1-my; shape_2_per_frame14= shape_2_per_frame15=ang=(sin(time*.35)+1)*3; shape_2_per_frame16=//a=(above(bass+mid+treb,.8)); shape_2_per_frame17=pi23=4*asin(1)*.333333333; shape_2_per_frame18=t1=bass+mid+treb; shapecode_3_enabled=0 shapecode_3_sides=63 shapecode_3_additive=0 shapecode_3_thickOutline=0 shapecode_3_textured=1 shapecode_3_num_inst=1 shapecode_3_x=0.500 shapecode_3_y=1.000 shapecode_3_rad=0.54822 shapecode_3_ang=0.00000 shapecode_3_tex_ang=0.00000 shapecode_3_tex_zoom=0.49981 shapecode_3_r=1.000 shapecode_3_g=1.000 shapecode_3_b=1.000 shapecode_3_a=1.000 shapecode_3_r2=1.000 shapecode_3_g2=1.000 shapecode_3_b2=1.000 shapecode_3_a2=0.000 shapecode_3_border_r=0.500 shapecode_3_border_g=0.500 shapecode_3_border_b=0.500 shapecode_3_border_a=0.000 per_frame_init_1=// clear buffer per_frame_init_2=i = 0; loop(1024*1024, gmegabuf(i) = 0; i = i+1); per_frame_init_3= per_frame_init_4=count = 50; per_frame_init_5=attributes = 16; per_frame_init_6= per_frame_init_7=minradius = 0.005; per_frame_init_8=maxradius = 0.045; per_frame_init_9=v = 0.005; per_frame_init_10= per_frame_init_11=// randomize initial coordinates per_frame_init_12=index = 0; per_frame_init_13=loop(count, per_frame_init_14= gmegabuf(index*attributes) = rand(1000)/1000; per_frame_init_15= gmegabuf(index*attributes+1) = rand(1000)/1000; per_frame_init_16= gmegabuf(index*attributes+2) = v*(rand(1000)/1000-0.5); per_frame_init_17= gmegabuf(index*attributes+3) = v*(rand(1000)/1000-0.5); per_frame_init_18= gmegabuf(index*attributes+4) = minradius + (maxradius-minradius)*(index+1)/count; per_frame_init_19= gmegabuf(index*attributes+5) = rand(1000)/1000; per_frame_init_20= gmegabuf(index*attributes+6) = rand(1000)/1000; per_frame_init_21= gmegabuf(index*attributes+7) = rand(1000)/1000; per_frame_init_22= gmegabuf(index*attributes+8) = sqr(gmegabuf(index*attributes+4)) ; per_frame_init_23= index = index+1; per_frame_init_24= ); per_frame_init_25= per_frame_init_26=q31 = count; per_frame_init_27=q32 = attributes; per_frame_init_28= per_frame_init_29=// 0, x per_frame_init_30=// 1, y per_frame_init_31=// 2, vx per_frame_init_32=// 3, vy per_frame_init_33=// 4, radius per_frame_init_34=// 5, red per_frame_init_35=// 6, green per_frame_init_36=// 7, blue per_frame_init_37=// 8, mass per_frame_1=chng=sin(time*.5); per_frame_2=cthr=.9999; per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); per_frame_13=monitor=chng; per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; per_frame_16= per_frame_17=monitor=mq1; per_frame_18=vol=bass+treb+mid; per_frame_19=atime=atime+vol; per_frame_20=q11=.4+sin(atime*.006 )*.4; per_frame_21=q12=.4+cos(atime*.00613828348)*.4; per_frame_22=q13=.4+sin(atime*.00598593455)*.4; per_frame_23=monitor=q13; per_frame_24=wave_r = wave_r + 0.4*sin(time*3.14) + (0.2*mid); per_frame_25=wave_b = wave_b + 0.2*sin(time*1.5); per_frame_26=wave_g = wave_g + 0.2*mid; per_frame_27=cx = cx + 0.1*sin(time); per_frame_28= per_frame_29= per_frame_30= per_frame_31= per_frame_32=warp = 0; per_frame_33=zoom = 1; per_frame_34= per_frame_35=gravity = 0.005/fps*0; per_frame_36=dampening = 1; per_frame_37=pi2 = asin(1); per_frame_38= per_frame_39= per_frame_40=nn = 3; // number of nearest neighbors to search, reduce if not needed! per_frame_41= // collision detection is based on nearest neighbors now, so keep it at least at 1. per_frame_42= per_frame_43=check = 2; // how many neighbors will be checked for a possible collision. may not be above nn. per_frame_44= // raise to avoid odd behavior in clusters of touching balls. per_frame_45= per_frame_46=index = 0; index2 = 0; w = (aspecty-aspectx)/2; per_frame_47=loop(count, per_frame_48= // simple physics: adding velocity vectors, applying gravity + bouncing off borders per_frame_49= gmegabuf(index*attributes+1) = gmegabuf(index*attributes+1) + gmegabuf(index*attributes+3); per_frame_50= gmegabuf(index*attributes) = gmegabuf(index*attributes) + gmegabuf(index*attributes+2); per_frame_51= gmegabuf(index*attributes+2) = if( below( gmegabuf(index*attributes), 0-w+gmegabuf(index*attributes+4)), per_frame_52= abs(gmegabuf(index*attributes+2))*dampening, per_frame_53= gmegabuf(index*attributes+2) ); per_frame_54= gmegabuf(index*attributes+2) = if( above( gmegabuf(index*attributes), 1+w-gmegabuf(index*attributes+4)), per_frame_55= -abs(gmegabuf(index*attributes+2))*dampening, per_frame_56= gmegabuf(index*attributes+2) ); per_frame_57= gmegabuf(index*attributes+3) = gmegabuf(index*attributes+3) - gravity; per_frame_58= gmegabuf(index*attributes+3) = if( below( gmegabuf(index*attributes+1), gmegabuf(index*attributes+4)), per_frame_59= abs(gmegabuf(index*attributes+3))*dampening, per_frame_60= gmegabuf(index*attributes+3); ); per_frame_61= gmegabuf(index*attributes+3) = if( above( gmegabuf(index*attributes+1), 1-gmegabuf(index*attributes+4)), per_frame_62= -abs(gmegabuf(index*attributes+3))*dampening, per_frame_63= gmegabuf(index*attributes+3); ); per_frame_64= i = 0; j = 0; // collecting pairs of index and distance to the current object in a local buffer per_frame_65= loop( count, per_frame_66= d = sqrt( sqr(gmegabuf(index*attributes)-gmegabuf(i*attributes)) + sqr(gmegabuf(index*attributes+1)-gmegabuf(i*attributes+1))); per_frame_67= d = if( equal(d,0), 10, d); // leave out comparison with itself (where d == 0, set d to a high value) per_frame_68= d = d - (gmegabuf(index*attributes+4)+gmegabuf(i*attributes+4))*0.5; // subtract radius (surface to surface distance) per_frame_69= megabuf(j) = i; // store index/distance pairs per_frame_70= megabuf(j+1) = d; per_frame_71= j = j+2; per_frame_72= i = i+1; ); per_frame_73= i = 0; // sort that buffer, but only as many cycles as needed for the _nn_ nearest neighbors per_frame_74= loop( nn, per_frame_75= j = i; smallestfind = 10; findindex = -1; per_frame_76= loop( count-j, per_frame_77= distance =megabuf(j*2+1); per_frame_78= smaller = above( smallestfind, distance); per_frame_79= smallestfind = if(smaller, distance, smallestfind); per_frame_80= findindex = if( smaller, j*2, findindex); per_frame_81= j = j + 1; ); per_frame_82= j = megabuf(i*2); d = megabuf(i*2+1); per_frame_83= megabuf(i*2) = megabuf(findindex); per_frame_84= megabuf(i*2+1) = megabuf(findindex+1); per_frame_85= megabuf(findindex) = j; per_frame_86= megabuf(findindex+1) = d; per_frame_87= i = i+1; per_frame_88= ); per_frame_89= i = 0; // storing the indexes of the nearest neighbors in the attributes beginning from 10 per_frame_90= loop( nn, per_frame_91= gmegabuf(index*attributes + 10 + i) = megabuf(i*2); per_frame_92= i = i +1; per_frame_93= ); per_frame_94= i = 0; // collision detection and impulse transmission below per_frame_95= loop( check, per_frame_96= index2 = megabuf(i); per_frame_97= hit = below( sqrt( sqr( gmegabuf(index*attributes) - gmegabuf(index2*attributes)) + per_frame_98= sqr( gmegabuf(index*attributes+1) - gmegabuf(index2*attributes+1))), per_frame_99= gmegabuf(index*attributes + 4) + gmegabuf(index2*attributes + 4) per_frame_100= ) per_frame_101= * per_frame_102= above( sqrt( sqr( gmegabuf(index*attributes) - gmegabuf(index2*attributes))+ per_frame_103= sqr( gmegabuf(index*attributes+1) - gmegabuf(index2*attributes+1))), per_frame_104= sqrt( sqr( gmegabuf(index*attributes+0) - gmegabuf(index2*attributes+0)+ per_frame_105= gmegabuf(index*attributes+2) - gmegabuf(index2*attributes+2))+ per_frame_106= sqr( gmegabuf(index*attributes+1) - gmegabuf(index2*attributes+1)+ per_frame_107= gmegabuf(index*attributes+3) - gmegabuf(index2*attributes+3)) ) ); per_frame_108= ref_ang = atan2( gmegabuf(index2*attributes)-gmegabuf(index*attributes), // calculating the angle of the common tangent per_frame_109= gmegabuf(index2*attributes + 1)-gmegabuf(index*attributes + 1)) + pi2; per_frame_110= v1 = sqrt(sqr( gmegabuf(index*attributes + 2)) + sqr( gmegabuf(index*attributes + 3))); // velocity of object1 per_frame_111= v2 = sqrt(sqr( gmegabuf(index2*attributes + 2)) + sqr( gmegabuf(index2*attributes + 3))); // velocity of object2 per_frame_112= w1 = atan2( gmegabuf(index*attributes + 2), gmegabuf(index*attributes + 3)); // object1 motion angle per_frame_113= w2 = atan2( gmegabuf(index2*attributes + 2), gmegabuf(index2*attributes + 3)); // object2 motion angle per_frame_114= m1 = gmegabuf(index*attributes + 8); m2 = gmegabuf(index2*attributes + 8); per_frame_115= vv1 = ((m1-m2)*v1 + 2*m2*v2)/(m1+m2); vv2 = ((m2-m1)*v2 + 2*m1*v1)/(m1+m2); per_frame_116= gmegabuf( index*attributes + 2) = if( hit,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+pi2)*vv1*cos(w2-ref_ang-pi2), per_frame_117= gmegabuf( index*attributes + 2) ); per_frame_118= gmegabuf( index*attributes + 3) = if( hit, cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+pi2)*vv1*cos(w2-ref_ang-pi2), per_frame_119= gmegabuf( index*attributes + 3) ); per_frame_120= gmegabuf( index2*attributes + 2) = if( hit, sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+pi2)*vv2*cos(w1-ref_ang-pi2), per_frame_121= gmegabuf( index2*attributes + 2) ); per_frame_122= gmegabuf( index2*attributes + 3) = if( hit, cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+pi2)*vv2*cos(w1-ref_ang-pi2), per_frame_123= gmegabuf( index2*attributes + 3) ); per_frame_124= i=i+2; per_frame_125= ); per_frame_126= index = index+1; per_frame_127= ); per_frame_128=q1 = aspectx; per_frame_129=q2 = aspecty; per_frame_130=q30=bass+treb+mid; warp_1=`shader_body warp_2=`{ warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); warp_4=` warp_5=` // diffused version: warp_6=` float ss = 0.3; warp_7=` float3 blur = 0.25*( warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz warp_12=` ); warp_13=` warp_14=` // diffusion: warp_15=` ret = tex2D(sampler_main,uv2);//blur; warp_16=` warp_17=` float F2 = 0.035; warp_18=` float k2 = 0.060; warp_19=` float s = 0.025; warp_20=` float scale = 9; warp_21=` warp_22=` // reaction: warp_23=` float3 z = ret; warp_24=` float uvv = ret.x*ret.y*ret.y; warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; warp_27=` //z.x += s*(16-ret.x*ret.y); warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); warp_29=` z.z -= 0.02; warp_30=` warp_31=` // apply laplacian: warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; warp_33=` warp_34=` ret = z; warp_35=`float4 noise9 = tex3D(sampler_noisevol_hq, warp_36=` ((uv.xyy*q27 warp_37=` )*texsize.xyy*texsize_noisevol_hq.zww warp_38=` ).xyz* warp_39=` float3(1,1,0)*0.05 + warp_40=` time*float3(0,0,1)*q29 warp_41=` ); warp_42=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; warp_43=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; warp_44=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; warp_45=` warp_46=` // add noise: warp_47=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); warp_48=` warp_49=` // darken (decay) over time warp_50=` //ret = (ret - 0.002)*0.99; warp_51=`} comp_1=`float2 gradBlur1( float2 domain, float2 d, float3 filter){ comp_2=` float3 dx = ( 2*GetBlur1(domain + float2(1,0)*d) - 2*GetBlur1(domain-float2(1,0)*d) ); comp_3=` float3 dy = ( 2*GetBlur1(domain + float2(0,1)*d) - 2*GetBlur1(domain-float2(0,1)*d) ); comp_4=` comp_5=` return 0.5*float2(dx.x*filter.x + dx.y*filter.y + dx.z*filter.z, comp_6=` dy.x*filter.x + dy.y*filter.y + dy.z*filter.z)/(filter.x+filter.y+filter.z); comp_7=`} comp_8=` comp_9=`shader_body comp_10=`{ comp_11=`float2 d = texsize.zw*4; comp_12=`float2 grady = gradBlur1(uv, d, float3(0,1,0)); comp_13=`float2 gradx = gradBlur1(uv + grady*d, d, float3(1,0,0)); comp_14=`float2 uv_green = uv-gradx*d*8; comp_15=`ret = (0.7 + (grady.x+grady.y))*GetPixel(uv_green-grady*texsize.zw*8).y; comp_16=`float3 c1 = lerp(0,float3(1,1,1),GetPixel(uv - gradx*d*0).x)*saturate(1-GetPixel(uv).y*2); comp_17=`float4 noise9 = tex3D(sampler_noisevol_hq, comp_18=` ((uv.xyy*q28 comp_19=` )*texsize.xyy*texsize_noisevol_hq.zww comp_20=` ).xyz* comp_21=` float3(1,1,0)*0.05 + comp_22=` time*float3(0,0,1)*q31 comp_23=` ); comp_24=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; comp_25=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; comp_26=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; comp_27=`ret = lerp(ret,float3(1,1.4,2.4), (GetBlur3(saturate(uv_green + grady*texsize.zw*8)).y-1.3*GetPixel(uv_green-grady*texsize.zw*8).y)); comp_28=`ret = lerp(c1,1,ret); comp_29=`ret = lerp(ret,float3(0,0,0),saturate(1*GetPixel(uv+grady*d*4 - gradx*d*16).z)); comp_30=`}