MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=5.000000
fGammaAdj=1.000
fDecay=1.000
fVideoEchoZoom=1.000
fVideoEchoAlpha=0.000
nVideoEchoOrientation=2
nWaveMode=1
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.000
fWaveParam=-0.440
fModWaveAlphaStart=1.000
fModWaveAlphaEnd=1.000
fWarpAnimSpeed=1.000
fWarpScale=1.331
fZoomExponent=1.00000
fShader=0.000
zoom=1.00400
rot=0.00000
cx=0.500
cy=0.500
dx=0.00000
dy=0.00000
warp=0.19788
sx=0.99967
sy=0.99990
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=0.000
ob_b=0.000
ob_a=0.700
ib_size=0.000
ib_r=0.000
ib_g=0.000
ib_b=0.000
ib_a=1.000
nMotionVectorsX=0.000
nMotionVectorsY=0.000
mv_dx=0.000
mv_dy=0.000
mv_l=1.000
mv_r=1.000
mv_g=0.910
mv_b=0.710
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=7.75180
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_frame2=
wave_1_per_frame3=t1 = 0.5;
wave_1_per_frame4=t2 = 0.9;
wave_1_per_point1=d = d*0.85 + (value1)*1;
wave_1_per_point2=
wave_1_per_point3=x = 0.5 + d*sample*(1-sample);
wave_1_per_point4=y = 0.9 - sample*0.8;
wavecode_2_enabled=0
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=1
wavecode_2_bDrawThick=1
wavecode_2_bAdditive=0
wavecode_2_scaling=5.92556
wavecode_2_smoothing=0.00000
wavecode_2_r=1.000
wavecode_2_g=0.000
wavecode_2_b=0.000
wavecode_2_a=0.660
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=
wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy));
wave_2_per_point11=dd = dd*0.95 + (value1);
wave_2_per_point12=ddd = dd*sample*(1-sample)*d;
wave_2_per_point13=
wave_2_per_point14=x = xx + (yy-yyy)*ddd;
wave_2_per_point15=y = yy - (xx-xxx)*ddd;
wavecode_3_enabled=0
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=0
wavecode_3_bDrawThick=1
wavecode_3_bAdditive=0
wavecode_3_scaling=5.92556
wavecode_3_smoothing=0.00000
wavecode_3_r=0.650
wavecode_3_g=0.450
wavecode_3_b=1.000
wavecode_3_a=1.000
wave_3_init1=t2 = 0
wave_3_per_frame1=t1 = q1;
wave_3_per_frame2=t2 = q2;
wave_3_per_frame3=t3 = q3;
wave_3_per_frame4=t4 = q4;
wave_3_per_frame5=t5 = q5;
wave_3_per_frame6=t6 = q6;
wave_3_per_frame7=t7 = q7;
wave_3_per_frame8=t8 = q8;
wave_3_per_point1=sample = 1-sample;
wave_3_per_point2=xxx = xx;
wave_3_per_point3=yyy = yy;
wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2
wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4;
wave_3_per_point6=
wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6
wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8;
wave_3_per_point9=
wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy));
wave_3_per_point11=dd = dd*0.95 + (value1);
wave_3_per_point12=ddd = dd*sample*(1-sample)*d;
wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05;
wave_3_per_point14=x = xx + (yy-yyy)*ddd;
wave_3_per_point15=y = yy - (xx-xxx)*ddd;
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.04043
shapecode_0_ang=0.00000
shapecode_0_tex_ang=0.00000
shapecode_0_tex_zoom=0.73458
shapecode_0_r=0.000
shapecode_0_g=0.000
shapecode_0_b=0.000
shapecode_0_a=0.100
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
shape_0_init1=vx = 0
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.700
shapecode_1_y=0.300
shapecode_1_rad=0.66230
shapecode_1_ang=2.45044
shapecode_1_tex_ang=0.00000
shapecode_1_tex_zoom=0.74934
shapecode_1_r=1.000
shapecode_1_g=0.100
shapecode_1_b=0.100
shapecode_1_a=1.000
shapecode_1_r2=1.000
shapecode_1_g2=0.100
shapecode_1_b2=0.100
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
shape_1_init1=xx = 0.5;
shape_1_init2=yy = 0.4;
shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8));
shape_1_per_frame2=
shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx);
shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy);
shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang);
shape_1_per_frame6=ang =aang*4*asin(1);
shape_1_per_frame7=x = xx;
shape_1_per_frame8=y = yy;
shapecode_2_enabled=0
shapecode_2_sides=100
shapecode_2_additive=1
shapecode_2_thickOutline=1
shapecode_2_textured=1
shapecode_2_num_inst=1
shapecode_2_x=0.430
shapecode_2_y=0.600
shapecode_2_rad=1.16781
shapecode_2_ang=5.96903
shapecode_2_tex_ang=0.00000
shapecode_2_tex_zoom=0.67165
shapecode_2_r=1.000
shapecode_2_g=0.000
shapecode_2_b=0.000
shapecode_2_a=1.000
shapecode_2_r2=1.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
shape_2_init1=xx = 0.5;
shape_2_init2=yy = 0.4;
shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8));
shape_2_per_frame2=
shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx);
shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy);
shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang);
shape_2_per_frame6=ang =aang*4*asin(1);
shape_2_per_frame7=x = xx;
shape_2_per_frame8=y = yy;
shapecode_3_enabled=0
shapecode_3_sides=100
shapecode_3_additive=1
shapecode_3_thickOutline=1
shapecode_3_textured=0
shapecode_3_num_inst=1
shapecode_3_x=0.500
shapecode_3_y=0.750
shapecode_3_rad=0.07059
shapecode_3_ang=0.00000
shapecode_3_tex_ang=0.00000
shapecode_3_tex_zoom=0.73458
shapecode_3_r=1.000
shapecode_3_g=0.500
shapecode_3_b=0.500
shapecode_3_a=1.000
shapecode_3_r2=0.000
shapecode_3_g2=0.000
shapecode_3_b2=0.000
shapecode_3_a2=0.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
shape_3_init1=vx = 0
shape_3_per_frame1=x = q1;
shape_3_per_frame2=y = q5;
per_frame_1=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) );
per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) );
per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) );
per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) );
per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) );
per_frame_6=ob_r = 1- 0.4*abs(q1);
per_frame_7=ob_g = 0.3*abs(q2);
per_frame_8=ob_b = 0.4*abs(q1);
per_frame_9=wave_x = 1-abs(q2)-0.05;
per_frame_10=wave_y = 1-abs(q1)-0.06;
per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) );
per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) );
per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) );
per_pixel_1=du = (x*2-1) - q1;
per_pixel_2=dv = (y*2-1) - q2;
per_pixel_3=dist = sqrt(du*du+dv*dv);
per_pixel_4=ang2 = atan2(du,dv) + time*0.15;
per_pixel_5=mult = -0.2*sin(dist*0.05);
per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx;
per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty;
warp_1=`shader_body
warp_2=`{
warp_3=`    float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with
warp_4=`    float1 d = 0.005;
warp_5=`    float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x;
warp_6=`    float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y;
warp_7=`    float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x;
warp_8=`    float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y;
warp_9=`    float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003;
warp_10=`
warp_11=`
warp_12=`
warp_13=`    float2 v = 0.01;
warp_14=`    ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x;
warp_15=`
warp_16=`    
warp_17=`    ret.x += (ret.x - GetBlur3(uv).x)*.1;
warp_18=`    ret.x += 0.004;
warp_19=`
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=`    ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale);
warp_31=`    ret.z *= 0.8;
warp_32=`    ret.z += 0.004;
warp_33=`
warp_34=`
warp_35=`
warp_36=`//--------------------------------
warp_37=`
warp_38=`    d = 0.01;
warp_39=`    my_uv = float2(-dy,dx)*0.045;
warp_40=`
warp_41=`    dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x;
warp_42=`    dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y;
warp_43=`    my_uv += uv - float2(dx,dy)*0.03;
warp_44=`
warp_45=`
warp_46=`
warp_47=`    v = 0.01;
warp_48=`    ret.y =tex2D( sampler_fw_main, my_uv).y;
warp_49=`
warp_50=`    
warp_51=`    ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01;
warp_52=`//ret = 0;
warp_53=`}
comp_1=`shader_body
comp_2=`{
comp_3=`//uv = uv + 0.02*float2(cos(uv.y*27),sin(uv.x*39));
comp_4=`float2 m = float2(1-q4,q8);
comp_5=`float2 bg_uv = m + (uv-m)*0.992; // subtle 3D shadow drop
comp_6=`float2 mid_uv = m + (uv-m)*0.996;
comp_7=`ret = lerp( float3(0,0,0.2), float3(0.3,0,1),tex2D( sampler_fw_main, bg_uv).y);
comp_8=`ret = lerp(ret, float3(1,1,0), max(GetBlur1(bg_uv).z*1.5,tex2D( sampler_main, mid_uv).z)); // if that isn't a cool glow effect?
comp_9=`ret *= 1-GetBlur1(bg_uv).x*2; // drop shadow
comp_10=`ret = lerp( ret, float3(1,0.1,0.4),tex2D( sampler_fw_main, uv).x);
comp_11=`//ret = tex2D(sampler_main, uv);
comp_12=`}
