MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=5.000
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.92178
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=0.200
ob_g=0.000
ob_b=0.000
ob_a=0.100
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.02548
shapecode_0_ang=0.00000
shapecode_0_tex_ang=0.12566
shapecode_0_tex_zoom=1.51878
shapecode_0_r=1.000
shapecode_0_g=1.000
shapecode_0_b=0.000
shapecode_0_a=0.180
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=1.000
shapecode_0_border_b=1.000
shapecode_0_border_a=0.000
shapecode_1_enabled=0
shapecode_1_sides=100
shapecode_1_additive=1
shapecode_1_thickOutline=1
shapecode_1_textured=1
shapecode_1_num_inst=1
shapecode_1_x=0.520
shapecode_1_y=0.500
shapecode_1_rad=1.01595
shapecode_1_ang=0.18850
shapecode_1_tex_ang=0.00000
shapecode_1_tex_zoom=0.87865
shapecode_1_r=1.000
shapecode_1_g=0.000
shapecode_1_b=0.000
shapecode_1_a=0.990
shapecode_1_r2=0.000
shapecode_1_g2=0.000
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
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 = 0.2;
per_frame_14=bounce = 0.9;
per_frame_15=dt = 0.0003;
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.00;
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=q6 = atan2(vx4,vy4);
per_frame_66=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.08; // distance
per_pixel_5=m1 = q5*45;//-0.6 + q5*200; // size
per_pixel_6=t1 = 0.5; // 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=`
warp_4=`   uv = uv - float2(0,1)*texsize.zw*0;
warp_5=`
warp_6=`    float2 d2 = texsize.zw*12;
warp_7=`    float1 dx = ( GetBlur2(uv + float2(1,0)*d2 - floor(uv + float2(1,0)*d2)) - GetBlur2(uv-float2(1,0)*d2-floor(uv - float2(1,0)*d2)) ).y;
warp_8=`    float1 dy = ( GetBlur2(uv + float2(0,1)*d2 - floor(uv + float2(0,1)*d2)) - GetBlur2(uv-float2(0,1)*d2-floor(uv - float2(0,1)*d2)) ).y;
warp_9=`    float2 my_uv = uv - float2(dx,dy)*0.08;
warp_10=`
warp_11=`
warp_12=`
warp_13=`    ret.y = tex2D( sampler_fc_main, my_uv - floor(my_uv)).y;
warp_14=`    ret.y += (ret.y - GetBlur1(my_uv - floor(my_uv)).y)*.125 + 0.02;
warp_15=`
warp_16=`    float1 d = 0.01;
warp_17=`    dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*1280*texsize.z;
warp_18=`    dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*1024*texsize.w;
warp_19=`    my_uv = uv + float2(dx,dy)*0.01;
warp_20=`
warp_21=`    ret.x = tex2D( sampler_fw_main, my_uv).x;
warp_22=`
warp_23=`    
warp_24=`    ret.x += (ret.x - GetBlur3(uv).x - 0.02)*.2;
warp_25=`    my_uv = uv - float2(dy,-dx)*0.04;
warp_26=`
warp_27=`    ret.z = tex2D( sampler_fw_main, my_uv).z;
warp_28=`    
warp_29=`    ret.z += (ret.z - GetBlur1(uv).z);
warp_30=`    ret.z *= 0.9*(ret.x + ret.y*0.64 - 1);
warp_31=`    ret.z += 0.02;
warp_32=`
warp_33=`
warp_34=`//ret = 0;
warp_35=`
warp_36=`}
comp_1=`shader_body
comp_2=`{
comp_3=`
comp_4=`    float2 d = texsize.zw*12;
comp_5=`    float1 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ).y;
comp_6=`    float1 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ).y;
comp_7=`    float2 my_uv = uv - float2(dx,dy)*0.08;
comp_8=`ret = tex2D( sampler_fw_main, my_uv);
comp_9=`
comp_10=`
comp_11=`float1 border = GetBlur1(uv).z*2 - 1;
comp_12=`
comp_13=`float1 val = 1-tex2D( sampler_fw_main, my_uv).x*1.5;
comp_14=`float1 bl2 = 1-GetBlur2(my_uv).x;
comp_15=`ret = lerp( 0, float3(1,1,1),1-tex2D( sampler_fw_main, my_uv).x*1.5);
comp_16=`ret = float3(0.4,0,1)*val.x + float3(1,1,1)*bl2.x*2*(1-val.x);
comp_17=`ret += float3(1,0,1)*GetBlur2(uv).z*2;
comp_18=`ret *= 1-GetBlur1(uv).z*2;
comp_19=`ret += float3(0.8,0.2,0)*tex2D(sampler_main, uv).z;
comp_20=`}
