MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=4.000000
fGammaAdj=1.000
fDecay=1.000
fVideoEchoZoom=1.000
fVideoEchoAlpha=0.500
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.004
fWaveScale=0.010
fWaveSmoothing=0.000
fWaveParam=-0.440
fModWaveAlphaStart=1.000
fModWaveAlphaEnd=1.000
fWarpAnimSpeed=0.010
fWarpScale=100.000
fZoomExponent=0.23118
fShader=0.000
zoom=0.99010
rot=0.00000
cx=0.500
cy=0.500
dx=0.00000
dy=0.00000
warp=0.01000
sx=1.00000
sy=1.00000
wave_r=1.000
wave_g=1.000
wave_b=1.000
wave_x=0.500
wave_y=0.040
ob_size=0.000
ob_r=1.000
ob_g=1.000
ob_b=1.000
ob_a=1.000
ib_size=0.000
ib_r=0.000
ib_g=0.000
ib_b=0.000
ib_a=1.000
nMotionVectorsX=64.000
nMotionVectorsY=48.000
mv_dx=0.000
mv_dy=0.000
mv_l=0.000
mv_r=1.000
mv_g=1.000
mv_b=0.000
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=2.44415
wavecode_0_smoothing=0.00000
wavecode_0_r=1.000
wavecode_0_g=1.000
wavecode_0_b=1.000
wavecode_0_a=0.000
wave_0_init1=t2 = 0;
wave_0_init2=t3 = 0;
wave_0_init3=t4 = 0;
wave_0_init4=cl = 0;
wave_0_per_frame1=t1 = 0;
wave_0_per_frame2=v = 0.01;
wave_0_per_frame3=j = j + (bass)*0.01;
wave_0_per_frame4=j2 = j2 + (mid_att)*0.01;
wave_0_per_frame5=j3 = j3 + (treb_att)*0.01;
wave_0_per_frame6=t2 = j;
wave_0_per_frame7=t3 = j2;
wave_0_per_frame8=t4 = j3;
wave_0_per_frame9=//t5 = 0;
wave_0_per_frame10=k = k*0.99 + 10*mid/fps;
wave_0_per_frame11=t5 = -k;
wave_0_per_frame12=
wave_0_per_frame13=cl1 = cl1 + 0.002;
wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1);
wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1);
wave_0_per_frame16=t8 = cl1;
wave_0_per_frame17=
wave_0_per_frame18=cl2 = cl2 -1*q1;
wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2);
wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2);
wave_0_per_frame21=t7 = cl2;
wave_0_per_frame22=
wave_0_per_frame23=cl3 = cl3 +0.001;
wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3);
wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3);
wave_0_per_frame26=t6 = cl3;
wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000;
wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000;
wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000;
wave_0_per_point4=
wave_0_per_point5=
wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz));
wave_0_per_point7=
wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5;
wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5;
wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5;
wave_0_per_point11=
wave_0_per_point12=v = 0.001;
wave_0_per_point13=
wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1);
wave_0_per_point15=bb = d*d*0.5;
wave_0_per_point16=n= 0.3;
wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n);
wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n);
wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n);
wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n);
wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n);
wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n);
wave_0_per_point23=
wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz;
wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz);
wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz);
wave_0_per_point27=
wave_0_per_point28=zoom = .5*(1/(z+0.5));
wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;;
wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.;
wave_0_per_point31=
wave_0_per_point32=pi3 = 3.1415*2*0.3333;
wave_0_per_point33=t = z*2+t2*1;
wave_0_per_point34=c=3;
wave_0_per_point35=//r = sin(t)*c;
wave_0_per_point36=
wave_0_per_point37=//g = sin(t+pi3)*c;
wave_0_per_point38=
wave_0_per_point39=//b = sin(t-pi3)*c;
wave_0_per_point40=
wave_0_per_point41=
wave_0_per_point42=r = if(above(r,1),1,r);
wave_0_per_point43=r = if(below(r,0),0,r);
wave_0_per_point44=g = if(above(g,1),1,g);
wave_0_per_point45=g = if(below(g,0),0,g);
wave_0_per_point46=b = if(above(b,1),1,b);
wave_0_per_point47=b = if(below(b,0),0,b);
wave_0_per_point48=
wave_0_per_point49=a = 0.4;
wavecode_1_enabled=0
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=0
wavecode_1_bDrawThick=0
wavecode_1_bAdditive=0
wavecode_1_scaling=2.44415
wavecode_1_smoothing=0.00000
wavecode_1_r=1.000
wavecode_1_g=1.000
wavecode_1_b=1.000
wavecode_1_a=1.000
wave_1_init1=t2 = 0;
wave_1_init2=t3 = 0;
wave_1_init3=t4 = 0;
wave_1_init4=cl = 0;
wave_1_per_frame1=t8 = 1;
wave_1_per_point1=t8 = -t8;
wave_1_per_point2=y = sample;
wave_1_per_point3=x = 0.5 + t8*0.005;
wave_1_per_point4=
wave_1_per_point5=pi3 = 3.1415*2*0.3333;
wave_1_per_point6=t = time + sample*2;
wave_1_per_point7=c=2;
wave_1_per_point8=
wave_1_per_point9=r = sin(t)*c;
wave_1_per_point10=g = sin(t+pi3)*c;
wave_1_per_point11=
wave_1_per_point12=b = sin(t-pi3)*c;
wave_1_per_point13=
wave_1_per_point14=
wave_1_per_point15=r = if(above(r,1),1,r);
wave_1_per_point16=r = if(below(r,0),0,r);
wave_1_per_point17=g = if(above(g,1),1,g);
wave_1_per_point18=g = if(below(g,0),0,g);
wave_1_per_point19=b = if(above(b,1),1,b);
wave_1_per_point20=b = if(below(b,0),0,b);
wave_1_per_point21=
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=1
wavecode_2_scaling=100.00000
wavecode_2_smoothing=0.60000
wavecode_2_r=0.000
wavecode_2_g=0.400
wavecode_2_b=1.000
wavecode_2_a=0.300
wave_2_per_frame1=t1 = q1;
wave_2_per_frame2=t2 = q2;
wave_2_per_frame3=t3 = q3;
wave_2_per_frame4=t4 = q4;
wave_2_per_frame5=t5 = q5;
wave_2_per_frame6=t6 = q6;
wave_2_per_frame7=t7 = q7;
wave_2_per_frame8=t8 = q8;
wave_2_per_point1=sample = 1-sample;
wave_2_per_point2=xxx = xx;
wave_2_per_point3=yyy = yy;
wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2
wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4;
wave_2_per_point6=
wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6
wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8;
wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy));
wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d;
wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d;
wavecode_3_enabled=0
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=1
wavecode_3_bDrawThick=0
wavecode_3_bAdditive=0
wavecode_3_scaling=2.44415
wavecode_3_smoothing=0.00000
wavecode_3_r=0.000
wavecode_3_g=0.000
wavecode_3_b=1.000
wavecode_3_a=1.000
wave_3_init1=t2 = 0;
wave_3_init2=t3 = 0;
wave_3_init3=t4 = 0;
wave_3_init4=cl = 0;
wave_3_per_frame1=t8 = 1;
wave_3_per_point1=t8 = -t8;
wave_3_per_point2=y = (1+t8)*0.01;
wave_3_per_point3=x = sample;
shapecode_0_enabled=1
shapecode_0_sides=100
shapecode_0_additive=0
shapecode_0_thickOutline=1
shapecode_0_textured=0
shapecode_0_num_inst=1
shapecode_0_x=0.500
shapecode_0_y=0.500
shapecode_0_rad=0.01806
shapecode_0_ang=0.00000
shapecode_0_tex_ang=0.12566
shapecode_0_tex_zoom=1.51878
shapecode_0_r=0.000
shapecode_0_g=1.000
shapecode_0_b=0.000
shapecode_0_a=0.100
shapecode_0_r2=0.000
shapecode_0_g2=1.000
shapecode_0_b2=0.000
shapecode_0_a2=0.000
shapecode_0_border_r=1.000
shapecode_0_border_g=1.000
shapecode_0_border_b=1.000
shapecode_0_border_a=0.000
shapecode_1_enabled=0
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=1
shapecode_1_textured=0
shapecode_1_num_inst=1
shapecode_1_x=1.000
shapecode_1_y=0.500
shapecode_1_rad=0.39872
shapecode_1_ang=0.00000
shapecode_1_tex_ang=0.12566
shapecode_1_tex_zoom=1.51878
shapecode_1_r=1.000
shapecode_1_g=1.000
shapecode_1_b=1.000
shapecode_1_a=1.000
shapecode_1_r2=1.000
shapecode_1_g2=1.000
shapecode_1_b2=1.000
shapecode_1_a2=1.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
shapecode_2_enabled=0
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=1
shapecode_2_textured=0
shapecode_2_num_inst=1
shapecode_2_x=1.000
shapecode_2_y=0.500
shapecode_2_rad=3.00540
shapecode_2_ang=0.00000
shapecode_2_tex_ang=0.12566
shapecode_2_tex_zoom=1.51878
shapecode_2_r=0.000
shapecode_2_g=1.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=1.000
shapecode_2_border_r=1.000
shapecode_2_border_g=1.000
shapecode_2_border_b=1.000
shapecode_2_border_a=0.000
shapecode_3_enabled=0
shapecode_3_sides=4
shapecode_3_additive=0
shapecode_3_thickOutline=1
shapecode_3_textured=0
shapecode_3_num_inst=1
shapecode_3_x=1.000
shapecode_3_y=0.500
shapecode_3_rad=0.39872
shapecode_3_ang=0.00000
shapecode_3_tex_ang=0.12566
shapecode_3_tex_zoom=1.51878
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=1.000
shapecode_3_border_r=1.000
shapecode_3_border_g=1.000
shapecode_3_border_b=1.000
shapecode_3_border_a=0.000
per_frame_init_1=x1 = 0.9;
per_frame_init_2=y1 = 0.5;
per_frame_init_3=
per_frame_init_4=x2 = 0.5; y2 = 0.5;
per_frame_init_5=x3 = 0.5; y3 = 0.5;
per_frame_init_6=x4 = 0.5; y4 = 0.5;
per_frame_1=decay = 1;
per_frame_2=xx1 = xx1*0.9 + (bass)*0.01;
per_frame_3=xx2 = xx2*0.9 + (treb)*0.01;
per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075;
per_frame_5=
per_frame_6=x1 = 0.5 + xx1-xx2;
per_frame_7=y1 = 0.5 + yy1;
per_frame_8=
per_frame_9=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0;
per_frame_10=
per_frame_11=spring = 18;
per_frame_12=grav = 1;
per_frame_13=resist = 3;
per_frame_14=bounce = 0.9;
per_frame_15=dt = 0.0002;
per_frame_16=
per_frame_17=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring);
per_frame_18=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav);
per_frame_19=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring);
per_frame_20=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav);
per_frame_21=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring);
per_frame_22=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav);
per_frame_23=
per_frame_24=x2 = x2 + vx2;
per_frame_25=y2 = y2 + vy2;
per_frame_26=x3 = x3 + vx3;
per_frame_27=y3 = y3 + vy3;
per_frame_28=x4 = x4 + vx4;
per_frame_29=y4 = y4 + vy4;
per_frame_30=
per_frame_31=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce);
per_frame_32=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce);
per_frame_33=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce);
per_frame_34=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce);
per_frame_35=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce);
per_frame_36=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce);
per_frame_37=
per_frame_38=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce);
per_frame_39=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce);
per_frame_40=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce);
per_frame_41=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce);
per_frame_42=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce);
per_frame_43=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce);
per_frame_44=
per_frame_45=
per_frame_46=q1 = x1;
per_frame_47=q2 = x2;
per_frame_48=q3 = x3;
per_frame_49=q4 = x4;
per_frame_50=
per_frame_51=q5 = y1;
per_frame_52=q6 = y2;
per_frame_53=q7 = y3;
per_frame_54=q8 = y4;
per_frame_55=
per_frame_56=
per_frame_57=zoom = 1;//0.999;
per_frame_58=
per_frame_59=
per_frame_60=
per_frame_61=bb = bb*0.99 + bass*0.02;
per_frame_62=mm = mm*0.99 + mid*0.02;
per_frame_63=tt = tt*0.99 + treb*0.02;
per_frame_64=
per_frame_65=mx = max(max(bb,mm),tt);
per_frame_66=mn = min(min(bb,mm),tt);
per_frame_67=
per_frame_68=ob_r = (bb-mn)/(mx-mn);
per_frame_69=ob_b = (mm-mn)/(mx-mn);
per_frame_70=ob_g = (tt-mn)/(mx-mn);
per_frame_71=q6 = atan2(vx4,vy4);
per_frame_72=q5 = sqrt(vx4*vx4 + vy4*vy4);
per_pixel_1=
per_pixel_2=dir = -q6*1 + asin(1)*1;
per_pixel_3=
per_pixel_4=b1 = 0.1; // distance
per_pixel_5=m1 = q5*25;//-0.6 + q5*200; // size
per_pixel_6=t1 = 0.05; // velocity
per_pixel_7=
per_pixel_8=xx = 0.5 + (q4-0.5)/aspectx;
per_pixel_9=yy = 1-(0.5 + (q8-0.5)/aspecty);
per_pixel_10=
per_pixel_11=
per_pixel_12=x1 = xx   +cos(dir+1.5708)*b1;
per_pixel_13=y1 = yy -sin(dir+1.5708)*b1;
per_pixel_14=
per_pixel_15=x2 = xx   -cos(dir+1.5708)*b1;
per_pixel_16=y2 = yy +sin(dir+1.5708)*b1;
per_pixel_17=
per_pixel_18=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2;
per_pixel_19=si1 = 1- 1/(1+pow(2,-d1*100));
per_pixel_20=
per_pixel_21=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2;
per_pixel_22=si2 = 1- 1/(1+pow(2,-d2*100));
per_pixel_23=
per_pixel_24=si3 = -pow(q5,3)*00;
per_pixel_25=
per_pixel_26=dx = (si1*sin(y1-y)*m1*d1  - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2/aspectx;
per_pixel_27=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2/aspecty;
warp_1=`shader_body
warp_2=`{
warp_3=` //uv += float2(0,1)*0.00 + float2(0.0002,0);
warp_4=`
warp_5=`    float1 d = 0.003;
warp_6=`    float3 dx = ( GetBlur2(uv + float2(d,0) - floor(uv+float2(d,0))) - GetBlur2(uv-float2(d,0) - floor(uv-float2(d,0))) )*1280.0*texsize.z;
warp_7=`    float3 dy = ( GetBlur2(uv + float2(0,d) - floor(uv+float2(0,d))) - GetBlur2(uv-float2(0,d) - floor(uv-float2(0,d))) )*1024.0*texsize.w;
warp_8=`    float2 my_uv = uv + float2(dx.y,dy.y)*0.1;
warp_9=`
warp_10=`
warp_11=`
warp_12=`    ret.y = tex2D( sampler_fw_main, my_uv - floor(my_uv)).y;
warp_13=`
warp_14=`    
warp_15=`    ret.y += (ret.y - GetBlur3(uv).y - 0.18)*.04;
warp_16=`
warp_17=`my_uv = uv - float2(0,1)*0.000+ float2(dy.y,-dx.y)*0.1 - float2(dx.x,dy.x)*0.006 + float2(dx.y,dy.y)*0.05;
warp_18=`ret.x = tex2D( sampler_fw_main, my_uv - floor(my_uv)).x;
warp_19=`ret.x += (ret.x - GetBlur2(uv).x)*.04 + 0.006;
warp_20=`//ret = 0;
warp_21=`
warp_22=`}
comp_1=`shader_body
comp_2=`{
comp_3=`ret = lerp( 0, float3(1, 1, 0), GetBlur2(uv).x*2.5 -  GetBlur1(uv).x*0.9 + tex2D(sampler_main, uv).x*0.75);
comp_4=`ret *= 1- GetBlur1(uv).x*1.75;
comp_5=`ret += float3(0.7,0,0)*tex2D(sampler_main, uv).x + float3(0.25,0.25,0.25)*tex2D(sampler_main, uv).y;
comp_6=`ret *= max(tex2D(sampler_main, uv).y*0.8, GetBlur2(uv).y*0.5);
comp_7=`//ret = tex2D(sampler_main, uv);
comp_8=`}
