MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=0
PSVERSION_COMP=2
[preset00]
fRating=3.0
fGammaAdj=1.0
fDecay=1.0
fVideoEchoZoom=1.0
fVideoEchoAlpha=0.0
nVideoEchoOrientation=3
nWaveMode=1
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=0
bDarkenCenter=1
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.3
fWaveScale=0.881
fWaveSmoothing=0.5
fWaveParam=-1.0
fModWaveAlphaStart=0.750
fModWaveAlphaEnd=0.950
fWarpAnimSpeed=1.0
fWarpScale=2.853
fZoomExponent=3.6
fShader=0.0
zoom=1.02109
rot=-0.16000
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.30900
sx=1.0
sy=1.0
wave_r=0.6
wave_g=0.6
wave_b=0.6
wave_x=0.5
wave_y=0.470
ob_size=0.010
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=0.0
ib_size=0.010
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.0
nMotionVectorsX=12.0
nMotionVectorsY=9.0
mv_dx=0.0
mv_dy=0.0
mv_l=1.750
mv_r=1.0
mv_g=1.0
mv_b=1.0
mv_a=1.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=0
wavecode_0_bDrawThick=0
wavecode_0_bAdditive=0
wavecode_0_scaling=1.0
wavecode_0_smoothing=0.5
wavecode_0_r=1.0
wavecode_0_g=1.0
wavecode_0_b=1.0
wavecode_0_a=1.0
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=1.0
wavecode_1_smoothing=0.5
wavecode_1_r=1.0
wavecode_1_g=1.0
wavecode_1_b=1.0
wavecode_1_a=1.0
wavecode_2_enabled=0
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=0
wavecode_2_bAdditive=0
wavecode_2_scaling=1.0
wavecode_2_smoothing=0.5
wavecode_2_r=1.0
wavecode_2_g=1.0
wavecode_2_b=1.0
wavecode_2_a=1.0
wavecode_3_enabled=0
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=0
wavecode_3_bDrawThick=0
wavecode_3_bAdditive=0
wavecode_3_scaling=1.0
wavecode_3_smoothing=0.5
wavecode_3_r=1.0
wavecode_3_g=1.0
wavecode_3_b=1.0
wavecode_3_a=1.0
shapecode_0_enabled=0
shapecode_0_sides=4
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=0
shapecode_0_x=0.5
shapecode_0_y=0.5
shapecode_0_rad=0.1
shapecode_0_ang=0.0
shapecode_0_tex_ang=0.0
shapecode_0_tex_zoom=1.0
shapecode_0_r=1.0
shapecode_0_g=0.0
shapecode_0_b=0.0
shapecode_0_a=1.0
shapecode_0_r2=0.0
shapecode_0_g2=1.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.1
shapecode_1_enabled=0
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=0
shapecode_1_textured=0
shapecode_1_x=0.5
shapecode_1_y=0.5
shapecode_1_rad=0.1
shapecode_1_ang=0.0
shapecode_1_tex_ang=0.0
shapecode_1_tex_zoom=1.0
shapecode_1_r=1.0
shapecode_1_g=0.0
shapecode_1_b=0.0
shapecode_1_a=1.0
shapecode_1_r2=0.0
shapecode_1_g2=1.0
shapecode_1_b2=0.0
shapecode_1_a2=0.0
shapecode_1_border_r=1.0
shapecode_1_border_g=1.0
shapecode_1_border_b=1.0
shapecode_1_border_a=0.1
shapecode_2_enabled=0
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=0
shapecode_2_textured=0
shapecode_2_x=0.5
shapecode_2_y=0.5
shapecode_2_rad=0.1
shapecode_2_ang=0.0
shapecode_2_tex_ang=0.0
shapecode_2_tex_zoom=1.0
shapecode_2_r=1.0
shapecode_2_g=0.0
shapecode_2_b=0.0
shapecode_2_a=1.0
shapecode_2_r2=0.0
shapecode_2_g2=1.0
shapecode_2_b2=0.0
shapecode_2_a2=0.0
shapecode_2_border_r=1.0
shapecode_2_border_g=1.0
shapecode_2_border_b=1.0
shapecode_2_border_a=0.1
shapecode_3_enabled=0
shapecode_3_sides=4
shapecode_3_additive=0
shapecode_3_thickOutline=0
shapecode_3_textured=0
shapecode_3_x=0.5
shapecode_3_y=0.5
shapecode_3_rad=0.1
shapecode_3_ang=0.0
shapecode_3_tex_ang=0.0
shapecode_3_tex_zoom=1.0
shapecode_3_r=1.0
shapecode_3_g=0.0
shapecode_3_b=0.0
shapecode_3_a=1.0
shapecode_3_r2=0.0
shapecode_3_g2=1.0
shapecode_3_b2=0.0
shapecode_3_a2=0.0
shapecode_3_border_r=1.0
shapecode_3_border_g=1.0
shapecode_3_border_b=1.0
shapecode_3_border_a=0.1
per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) );
per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) );
per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) );
per_frame_4=q8 = oldq8+if(above(bass+bass_att,1.8),q8+0.0005*pow((bass+bass_att-1),9),0);
per_frame_5=oldq8 = q8;
per_frame_6=monitor = q8;
per_frame_7=zoom = zoom + 0.023*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) );
per_frame_8=rot = rot + 0.030*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) );
per_frame_9=//decay = decay - 0.02*equal(frame%40,0);
per_frame_10=mv_r = wave_r;
per_frame_11=mv_b = wave_b;
per_frame_12=mv_g = wave_g;
per_frame_13=mv_x = 1.25;
per_frame_14=mv_y = 1.25;
per_frame_15=mv_dx = 0.1*sin(1.1*time);
per_frame_16=mv_dy = 0.1*cos(1.112*time);
per_pixel_1=rot=rot+1/(10*(rad+0.2+0.1*sin(q8)));
comp_1=`shader_body
comp_2=`{
comp_3=`    float2 uv2;
comp_4=`
comp_5=`    // the weights of the 4 height value frequencies:
comp_6=`    float4 c = float4(1,0.3,0.1,0);
comp_7=`
comp_8=`    uv2 = uv + float2(1,0)*texsize.zw;
comp_9=`    float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w;
comp_10=`    uv2 = uv + float2(-1,0)*texsize.zw;
comp_11=`    float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w;
comp_12=`
comp_13=`    uv2 = uv + float2(0,1)*texsize.zw;
comp_14=`    float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w;
comp_15=`    uv2 = uv + float2(0,-1)*texsize.zw;
comp_16=`    float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w;
comp_17=`
comp_18=`    // compute gradient vector:
comp_19=`    float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.06));
comp_20=`
comp_21=`    // hacked default lighting from it:
comp_22=`    float3 dir1 = normalize(float3(0.2,0.13,0.07));
comp_23=`    float3 dir2 = normalize(float3(0.1,-0.3,0.04));
comp_24=`    float3 col1 = float3(1.3,0.9,1).zxy*0.9;
comp_25=`    float3 col2 = float3(0.6,0.7,0.9)*0.9;
comp_26=`    ret = col1 * saturate(dot(g,dir1)) + col2*saturate(dot(g,dir2));
comp_27=`
comp_28=`}
