MILKDROP_PRESET_VERSION=201
PSVERSION=3
PSVERSION_WARP=3
PSVERSION_COMP=3
[preset00]
fRating=2.0
fGammaAdj=1.0
fDecay=1.0
fVideoEchoZoom=1.0
fVideoEchoAlpha=0.5
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.004
fWaveScale=0.010
fWaveSmoothing=0.0
fWaveParam=-0.440
fModWaveAlphaStart=1.0
fModWaveAlphaEnd=1.0
fWarpAnimSpeed=0.010
fWarpScale=100.0
fZoomExponent=0.92170
fShader=0.0
zoom=0.99010
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.01000
sx=1.0
sy=1.0
wave_r=1.0
wave_g=1.0
wave_b=1.0
wave_x=0.5
wave_y=0.040
ob_size=0.0
ob_r=0.0
ob_g=1.0
ob_b=0.0
ob_a=0.0
ib_size=0.0
ib_r=0.0
ib_g=0.0
ib_b=0.0
ib_a=1.0
nMotionVectorsX=64.0
nMotionVectorsY=48.0
mv_dx=0.0
mv_dy=0.0
mv_l=0.0
mv_r=1.0
mv_g=1.0
mv_b=0.0
mv_a=0.0
b1n=0.0
b2n=0.0
b3n=0.0
b1x=1.0
b2x=1.0
b3x=1.0
b1ed=0.250
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.0
wavecode_0_r=1.0
wavecode_0_g=1.0
wavecode_0_b=1.0
wavecode_0_a=0.0
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.0
wavecode_1_r=1.0
wavecode_1_g=1.0
wavecode_1_b=1.0
wavecode_1_a=1.0
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.0
wavecode_2_smoothing=0.6
wavecode_2_r=0.0
wavecode_2_g=0.4
wavecode_2_b=1.0
wavecode_2_a=0.3
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.0
wavecode_3_r=0.0
wavecode_3_g=0.0
wavecode_3_b=1.0
wavecode_3_a=1.0
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_x=0.5
shapecode_0_y=0.5
shapecode_0_rad=0.02015
shapecode_0_ang=0.0
shapecode_0_tex_ang=0.12566
shapecode_0_tex_zoom=1.51878
shapecode_0_r=0.0
shapecode_0_g=0.0
shapecode_0_b=0.0
shapecode_0_a=0.1
shapecode_0_r2=0.0
shapecode_0_g2=0.0
shapecode_0_b2=0.0
shapecode_0_a2=0.0
shapecode_0_border_r=1.0
shapecode_0_border_g=1.0
shapecode_0_border_b=1.0
shapecode_0_border_a=0.0
shapecode_1_enabled=0
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=1
shapecode_1_textured=0
shapecode_1_x=1.0
shapecode_1_y=0.5
shapecode_1_rad=0.39872
shapecode_1_ang=0.0
shapecode_1_tex_ang=0.12566
shapecode_1_tex_zoom=1.51878
shapecode_1_r=1.0
shapecode_1_g=1.0
shapecode_1_b=1.0
shapecode_1_a=1.0
shapecode_1_r2=1.0
shapecode_1_g2=1.0
shapecode_1_b2=1.0
shapecode_1_a2=1.0
shapecode_1_border_r=1.0
shapecode_1_border_g=1.0
shapecode_1_border_b=1.0
shapecode_1_border_a=0.0
shapecode_2_enabled=0
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=1
shapecode_2_textured=0
shapecode_2_x=1.0
shapecode_2_y=0.5
shapecode_2_rad=3.00540
shapecode_2_ang=0.0
shapecode_2_tex_ang=0.12566
shapecode_2_tex_zoom=1.51878
shapecode_2_r=0.0
shapecode_2_g=1.0
shapecode_2_b=0.0
shapecode_2_a=1.0
shapecode_2_r2=0.0
shapecode_2_g2=0.0
shapecode_2_b2=0.0
shapecode_2_a2=1.0
shapecode_2_border_r=1.0
shapecode_2_border_g=1.0
shapecode_2_border_b=1.0
shapecode_2_border_a=0.0
shapecode_3_enabled=0
shapecode_3_sides=4
shapecode_3_additive=0
shapecode_3_thickOutline=1
shapecode_3_textured=0
shapecode_3_x=1.0
shapecode_3_y=0.5
shapecode_3_rad=0.39872
shapecode_3_ang=0.0
shapecode_3_tex_ang=0.12566
shapecode_3_tex_zoom=1.51878
shapecode_3_r=1.0
shapecode_3_g=1.0
shapecode_3_b=1.0
shapecode_3_a=1.0
shapecode_3_r2=1.0
shapecode_3_g2=1.0
shapecode_3_b2=1.0
shapecode_3_a2=1.0
shapecode_3_border_r=1.0
shapecode_3_border_g=1.0
shapecode_3_border_b=1.0
shapecode_3_border_a=0.0
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)*1.5;
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 = 5;
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=warp = 0;
per_frame_57=zoom = 1.00;
per_frame_58=q6 = atan2(vx4,vy4);
per_frame_59=q5 = sqrt(vx4*vx4 + vy4*vy4);
per_pixel_1=dir = -q6*1 + asin(1)*1;
per_pixel_2=
per_pixel_3=b1 = 0.1; // distance
per_pixel_4=m1 = q5*25;//-0.6 + q5*200; // size
per_pixel_5=t1 = 0.05; // velocity
per_pixel_6=
per_pixel_7=xx = q4;
per_pixel_8=yy = 1-q8;
per_pixel_9=
per_pixel_10=
per_pixel_11=x1 = xx   +cos(dir+1.5708)*b1;
per_pixel_12=y1 = yy -sin(dir+1.5708)*b1;
per_pixel_13=
per_pixel_14=x2 = xx   -cos(dir+1.5708)*b1;
per_pixel_15=y2 = yy +sin(dir+1.5708)*b1;
per_pixel_16=
per_pixel_17=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2;
per_pixel_18=si1 = 1- 1/(1+pow(2,-d1*100));
per_pixel_19=
per_pixel_20=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2;
per_pixel_21=si2 = 1- 1/(1+pow(2,-d2*100));
per_pixel_22=
per_pixel_23=si3 = -pow(q5,3)*00;
per_pixel_24=
per_pixel_25=dx = (si1*sin(y1-y)*m1*d1  - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2;
per_pixel_26=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2;
warp_1=`shader_body
warp_2=`{
warp_3=`    float1 d = 0.005;
warp_4=`    float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x;
warp_5=`    float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x;
warp_6=`    float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x;
warp_7=`    float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x;
warp_8=`    float2 my_uv = uv - float2(dx,dy)*0.005 + float2(dxb,dyb)*0.002;
warp_9=`
warp_10=`
warp_11=`
warp_12=`    float2 v = 0.01;
warp_13=`    ret.x = tex2D( sampler_fc_main, my_uv).x;
warp_14=`
warp_15=`    
warp_16=`    ret.x += (ret.x - GetBlur3(uv).x)*.1;
warp_17=`    ret.x += 0.006;
warp_18=`
warp_19=`    ret.x = lerp( ret.x, lum(ret).x, 0);
warp_20=`
warp_21=`//--------------------------------
warp_22=`
warp_23=`    my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y);
warp_24=`
warp_25=`
warp_26=`
warp_27=`    v = 0.01;
warp_28=`    ret.z = tex2D( sampler_fw_main, my_uv).z;
warp_29=`
warp_30=`    
warp_31=`    ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*120;
warp_32=`    ret.z *= 0.85;
warp_33=`    ret.z += 0.008;
warp_34=`
warp_35=`
warp_36=`
warp_37=`//--------------------------------
warp_38=`
warp_39=`    d = 0.01;
warp_40=`    my_uv = float2(-dy,dx)*0.05;
warp_41=`
warp_42=`    dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y;
warp_43=`    dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y;
warp_44=`    my_uv += uv - float2(dx,dy)*0.03;
warp_45=`
warp_46=`
warp_47=`
warp_48=`    v = 0.01;
warp_49=`    ret.y =tex2D( sampler_fw_main, my_uv).y;
warp_50=`
warp_51=`    
warp_52=`    ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.03;
warp_53=`}
comp_1=`shader_body
comp_2=`{
comp_3=`ret = lerp( float3(0,0,0.3), float3(0.4,0,1),tex2D( sampler_fw_main, uv).y);
comp_4=`ret *= 1-GetBlur1(uv).z*2;
comp_5=`ret += tex2D( sampler_main, uv).z*float3(0.9,0.2,0.8);
comp_6=`ret *= 1-GetBlur1(uv).x*1.6;
comp_7=`ret += lerp( 0, float3(1,0.7,0),tex2D( sampler_fw_main, uv).x)*0.9;
comp_8=`//ret = tex2D( sampler_main, uv);
comp_9=`}
