[preset00]
fRating=5.000000
fGammaAdj=1.700001
fDecay=0.995000
fVideoEchoZoom=1.001825
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=1
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=1.007944
fWaveScale=0.010000
fWaveSmoothing=0.900000
fWaveParam=-0.540000
fModWaveAlphaStart=0.710000
fModWaveAlphaEnd=1.300000
fWarpAnimSpeed=1.000000
fWarpScale=1.331000
fZoomExponent=0.620260
fShader=1.000000
zoom=1.001839
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=0.010000
sx=1.000000
sy=1.000000
wave_r=1.000000
wave_g=1.000000
wave_b=1.000000
wave_x=0.500000
wave_y=0.500000
ob_size=0.000000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=1.000000
ib_size=0.000000
ib_r=0.250000
ib_g=0.250000
ib_b=0.250000
ib_a=0.000000
nMotionVectorsX=0.000000
nMotionVectorsY=0.000000
mv_dx=0.000000
mv_dy=0.000000
mv_l=5.000000
mv_r=1.000000
mv_g=1.000000
mv_b=1.000000
mv_a=1.000000
per_frame_1=zoom = 1.003;  warp =0.075; decay = 0.993; vol = 0.3*(bass+mid+treb);
per_frame_2=b1x = if( equal( b1x, 0 ), .1, b1x );
per_frame_3=b1y = if( equal( b1y, 0 ), .5, b1y );
per_frame_4=b1vx = if( equal( b1vx, 0 ), 0*(rand(50)/100), b1vx );
per_frame_5=b1vy = if( equal( b1vy, 0 ), 0.006, b1vy );
per_frame_6=b2x = if( equal( b2x, 0 ), .9, b2x );
per_frame_7=b2y = if( equal( b2y, 0 ), .5, b2y );
per_frame_8=b2vx = if( equal( b2vx, 0 ), 0*(-rand(50)/100), b2vx );
per_frame_9=b2vy = if( equal( b2vy, 0 ), -0.006, b2vy );
per_frame_10=q3=.5*(1+.8*cos(time/7+.23+sin(time*.232+.983)));
per_frame_11=q4=.5*(1+.8*cos(time/5+2.69+sin(time*.157+3)));
per_frame_12=
per_frame_13=// o Resolve forces
per_frame_14=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX );
per_frame_15=dist = sqrt(sqr(distX)+sqr(distY));
per_frame_16=k = 1/sqr(dist);
per_frame_17=k = if( above( k, .005) , 0.005, k );
per_frame_18=k = if(above(fCrashPhase,0),0,k);
per_frame_19=b1vx=b1vx+k*cos(fAngle-3.14)/FPS;
per_frame_20=b1vy=b1vy+k*sin(fAngle-3.14)/FPS;
per_frame_21=b2vx=b2vx+k*cos(fAngle)/FPS;
per_frame_22=b2vy=b2vy+k*sin(fAngle)/FPS;
per_frame_23=q5 = atan2(b1y-q4,b1x-q3); k= 1.5/sqrt(sqr(b1x-q3)+sqr(b1y-q4));
per_frame_24=k=if(above(k,.008),.008,k);
per_frame_25=b1vx=b1vx-k*cos(q5)/FPS;
per_frame_26=b1vy=b1vy-k*sin(q5)/FPS;
per_frame_27=q5 = atan2(b2y-q4,b2x-q3); k= 1.5/sqrt(sqr(b2x-q3)+sqr(b2y-q4));
per_frame_28=k=if(above(k,.008),.008,k);
per_frame_29=b2vx=b2vx-k*cos(q5)/FPS;
per_frame_30=b2vy=b2vy-k*sin(q5)/FPS;
per_frame_31=Blue=if( above(sqrt(sqr(b2vx)+sqr(b2vy)),sqrt(sqr(b1vx)+sqr(b1vy))),1, 0);
per_frame_32=
per_frame_33=// o Apply motion
per_frame_34=iIndex = (frame%5);
per_frame_35=fScale = if( above(iIndex,1), (1+.5*mid)*30/FPS, (1+.5*bass)*30/FPS);
per_frame_36=b1x = b1x + b1vx*fScale;      b1y = b1y + b1vy*fScale;
per_frame_37=b2x = b2x + b2vx*fScale;      b2y = b2y + b2vy*fScale;
per_frame_38=
per_frame_39=// o Collision and "keep-in-screen" check
per_frame_40=q1 = if( below(sqr(b1x-q3) +sqr(b1y-q4), .005), 1, 0);
per_frame_41=q2 = if( below(sqr(b2x-q3) +sqr(b2y-q4), .005), 1, 0);
per_frame_42=b1x=if(equal(q1,1),rand(100)/100,b1x);
per_frame_43=b1y=if(equal(q1,1),rand(100)/100,b1y);
per_frame_44=b2x=if(equal(q2,1),rand(100)/100,b2x);
per_frame_45=b2y=if(equal(q2,1),rand(100)/100,b2y);
per_frame_46=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX );
per_frame_47=DotProd1= (.75+rand(50)/100)*sqrt( sqr(b1vx)+sqr(b1vy) );
per_frame_48=DotProd2= (.75+rand(50)/100)*sqrt( sqr(b2vx)+sqr(b2vy) );
per_frame_49=b1vx=if(equal(q1,1), DotProd1*cos(fAngle-3.14),b1vx);
per_frame_50=b1vy=if(equal(q1,1), DotProd1*sin(fAngle-3.14),b1vy);
per_frame_51=b2vx=if(equal(q2,1), DotProd2*cos(fAngle),b2vx);
per_frame_52=b2vy=if(equal(q2,1), DotProd2*sin(fAngle),b2vy);
per_frame_53=
per_frame_54=b1vx = if( above( b1x, 1 ), -b1vx, b1vx );
per_frame_55=b1vx = if( below( b1x, 0 ), -b1vx, b1vx );
per_frame_56=b1vy = if( above( b1y, 1 ), -b1vy, b1vy );
per_frame_57=b1vy = if( below( b1y, 0 ), -b1vy, b1vy );
per_frame_58=b2vx = if( above( b2x, 1 ), -b2vx, b2vx );
per_frame_59=b2vx = if( below( b2x, 0 ), -b2vx, b2vx );
per_frame_60=b2vy = if( above( b2y, 1 ), -b2vy, b2vy );
per_frame_61=b2vy = if( below( b2y, 0 ), -b2vy, b2vy );
per_frame_62=bCrash = if( below(dist, 0.075), 1, 0);bCrash = if( above( frame, NoCheckUntil) ,bCrash, 0 );
per_frame_63=ob_size = bCrash;ob_a=bCrash*.4;
per_frame_64=kavb1vx = b1vx;     kavb1vy = b1vy;
per_frame_65=kavb2vx = b2vx;     kavb2vy = b2vy;
per_frame_66=DotProd1 = cos(fAngle-3.14)*kavb2vx + sin(fAngle-3.14)*kavb2vy;
per_frame_67=DotProd2 = cos(fAngle)*kavb1vx + sin(fAngle)*kavb1vy;
per_frame_68=b1vx=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vx, b1vx );
per_frame_69=b1vy=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vy, b1vy );
per_frame_70=b2vx=if( equal( bCrash,1), -cos(fAngle)*DotProd2 + kavb1vx, b2vx );
per_frame_71=b2vy=if( equal( bCrash,1), -sin(fAngle)*DotProd2 + kavb1vy, b2vy );
per_frame_72=NoCheckUntil = if(equal(bCrash,1),frame + 30,NoCheckUntil );
per_frame_73=NoCheckUntil = if( equal( frame-2,NoCheckUntil+60 ), 0, NoCheckUntil );
per_frame_74=
per_frame_75=// o Determine what to draw
per_frame_76=fCrashPhase = if( above(NoCheckUntil,0),(60 + NoCheckUntil - frame)/90, 0);
per_frame_77=decay = if( above( fCrashPhase,0), .993 + fCrashPhase*0.006,decay);
per_frame_78=wave_x = if( below( iIndex,2), b1x, wave_x);
per_frame_79=wave_y = if( below( iIndex,2), b1y, wave_y);
per_frame_80=wave_x = if( above( iIndex,1), b2x, wave_x);
per_frame_81=wave_y = if( above( iIndex,1), b2y, wave_y);
per_frame_82=wave_r = 1.0; wave_g = 1.0; wave_b = 1.0;
per_frame_83=wave_x=if(equal(iIndex,4),q3,wave_x);
per_frame_84=wave_y=if(equal(iIndex,4),q4,wave_y);
per_frame_85=wave_b=if(equal(iIndex,4),0,wave_b);
per_frame_86=wave_mystery=if(equal(iIndex,4),-.35,wave_mystery);
per_frame_87=wave_r = if( equal( iIndex,1 ), 1.0, wave_r );
per_frame_88=wave_g = if( equal( iIndex,1 ), 0.1, wave_g );
per_frame_89=wave_b = if( equal( iIndex,1 ), 0.1, wave_b );
per_frame_90=wave_r = if( equal( iIndex,3 ), 0.1, wave_r );
per_frame_91=wave_g = if( equal( iIndex,3 ), 0.1, wave_g );
per_frame_92=wave_b = if( equal( iIndex,3 ), 1.0, wave_b );
per_frame_93=wave_mystery = if( equal( iIndex%2,1) , -.55-(bass+prevBass)/60 , wave_mystery);
per_frame_94=warp = if( above(fCrashPhase,.96),warp+5*(totalv/0.03)*(1 - 4*(fCrashPhase-.96)),warp);
per_frame_95=wave_size = if( equal( iIndex%2, 0) ,  1, 0 );
per_frame_96=wave_a = if( equal( iIndex%2, 0 ), .75, 1.0 );
per_frame_97=totalv = if( equal(fCrashPhase,0),sqrt(sqr(b1vx)+sqr(b1vy))+sqrt(sqr(b2vx)+sqr(b2vy)),totalv);
per_frame_98=totalv= if(above(totalv,0.04),0.04,totalv);
per_frame_99=wave_mystery = if( below(iIndex,4)*above(fCrashPhase,.93), -7*(fCrashPhase-.93)*.45, wave_mystery);
per_frame_100=wave_r=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_r );
per_frame_101=wave_g=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_g );
per_frame_102=wave_b=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_b );
per_frame_103=ob_r=0;ob_b=0;
per_frame_104=ob_r=if(above(Blue,0),0,1);
per_frame_105=ob_b=if(above(Blue,0),1,0);
per_frame_106=prevBass = if(equal( iIndex%2, 0 ), bass, 0 );
per_pixel_1=q6=(x-q3)*(x-q3)+(1-y-q4)*(1-y-q4);
per_pixel_2=zoom=if(below(q6,0.002),.1,zoom);
