[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=0.000000
per_frame_1=zoom = 0.995;  warp =0.075; decay = 0.993; vol = 0.3*(bass+mid+treb);
per_frame_2=b1x = if( equal( b1x, 0 ), .25+rand(50)/100, b1x );
per_frame_3=b1y = if( equal( b1y, 0 ), .25+rand(50)/100, b1y );
per_frame_4=b1vx = if( equal( b1vx, 0 ), 0.008*(-.5+rand(100)/100), b1vx );
per_frame_5=b1vy = if( equal( b1vy, 0 ), 0.008*(-.5+rand(100)/100), b1vy );
per_frame_6=b2x = if( equal( b2x, 0 ), .25+rand(50)/100, b2x );
per_frame_7=b2y = if( equal( b2y, 0 ), .25+rand(50)/100, b2y );
per_frame_8=b2vx = if( equal( b2vx, 0 ), 0.008*(-.5+rand(100)/100), b2vx );
per_frame_9=b2vy = if( equal( b2vy, 0 ), 0.008*(-.5+rand(100)/100), b2vy );
per_frame_10=
per_frame_11=// o "sudden death" effects
per_frame_12=q8 = if(equal(fCrashPhase,0)*equal(rand(150),2),1,0); // whether to perform effect
per_frame_13=q7 = if( equal(q8,1), rand(6)+1,0);// ID# of effect to perform
per_frame_14=q7 = if( equal(q7,5),5*rand(2),q7);   q7 = if( equal(q7,6),6*rand(2),q7);
per_frame_15=q6= if(above(time%20,16)*above(sin(time/2),0),1,0);
per_frame_16=sx = if( equal(q7,1),-1,sx );
per_frame_17=b1x = if( equal(q7,1),1-b1x,b1x );b2x = if( equal(q7,1),1-b2x,b2x );
per_frame_18=sy = if( equal(q7,2),-1,sy );
per_frame_19=b1y = if( equal(q7,1),1-b1y,b1y );b2y = if( equal(q7,1),1-b2y,b2y );
per_frame_20=b1x=if( equal(q7,3),rand(100)/100,b1x);
per_frame_21=b1y=if( equal(q7,3),rand(100)/100,b1y);
per_frame_22=b2x=if( equal(q7,4),rand(100)/100,b2x);
per_frame_23=b2y=if( equal(q7,4),rand(100)/100,b2y);
per_frame_24=b1vx=if( equal(q7,5),2*b1vx,b1vx);
per_frame_25=b1vy=if( equal(q7,5),2*b1vy,b1vy);
per_frame_26=b2vx=if( equal(q7,6),2*b2vx,b2vx);
per_frame_27=b2vy=if( equal(q7,6),2*b2vy,b2vy);
per_frame_28=q1=sin(2.34+time*.822+cos(time*.43+1.76+tan(time*1.8+.54))); rot =0.01*q1;
per_frame_29=
per_frame_30=// o Resolve forces
per_frame_31=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX );
per_frame_32=dist = sqrt(sqr(distX)+sqr(distY));
per_frame_33=k = 1/sqr(dist);k = min(k,0.01);
per_frame_34=k = if(above(fCrashPhase,0),0,k);
per_frame_35=b1vx=b1vx+k*cos(fAngle-3.14)/FPS;
per_frame_36=b1vy=b1vy+k*sin(fAngle-3.14)/FPS;
per_frame_37=b2vx=b2vx+k*cos(fAngle)/FPS;
per_frame_38=b2vy=b2vy+k*sin(fAngle)/FPS;
per_frame_39=Blue=if( above(sqrt(sqr(b2vx)+sqr(b2vy) ) , sqrt( sqr(b1vx)+sqr(b1vy) )), 1, 0);
per_frame_40=
per_frame_41=// o Apply motion
per_frame_42=iIndex = (frame%4);
per_frame_43=fScale = if( above(iIndex,1),(1+.3*treb)*30/FPS,(1+.3*bass)*30/FPS);
per_frame_44=b1x = b1x + b1vx*fScale;      b1y = b1y + b1vy*fScale;
per_frame_45=b2x = b2x + b2vx*fScale;      b2y = b2y + b2vy*fScale;
per_frame_46=
per_frame_47=// o Collision and "keep-in-screen" check
per_frame_48=// o Check if the walls are on first
per_frame_49=b1x = if( q6*above( b1x,1 ),0.001,b1x );
per_frame_50=b1x = if( q6*below( b1x,0 ),0.999,b1x );
per_frame_51=b1y = if( q6*above( b1y,1 ),0.001,b1y );
per_frame_52=b1y = if( q6*below( b1y,0 ),0.999,b1y );
per_frame_53=
per_frame_54=b2x = if( q6*above( b2x,1 ),0.001,b2x );
per_frame_55=b2x = if( q6*below( b2x,0 ),0.999,b2x );
per_frame_56=b2y = if( q6*above( b2y,1 ),0.001,b2y );
per_frame_57=b2y = if( q6*below( b2y,0 ),0.999,b2y );
per_frame_58=
per_frame_59=
per_frame_60=b1vx = if( above( b1x, 1 ), -b1vx, b1vx );
per_frame_61=b1vx = if( below( b1x, 0 ), -b1vx, b1vx );
per_frame_62=b1vy = if( above( b1y, 1 ), -b1vy, b1vy );
per_frame_63=b1vy = if( below( b1y, 0 ), -b1vy, b1vy );
per_frame_64=b2vx = if( above( b2x, 1 ), -b2vx, b2vx );
per_frame_65=b2vx = if( below( b2x, 0 ), -b2vx, b2vx );
per_frame_66=b2vy = if( above( b2y, 1 ), -b2vy, b2vy );
per_frame_67=b2vy = if( below( b2y, 0 ), -b2vy, b2vy );
per_frame_68=bCrash = if( below(dist, 0.075), 1, 0);bCrash = if( above( frame, NoCheckUntil) ,bCrash, 0 );
per_frame_69=ob_size = bCrash;ob_a=bCrash*.4;
per_frame_70=kavb1vx = b1vx;     kavb1vy = b1vy;
per_frame_71=kavb2vx = b2vx;     kavb2vy = b2vy;
per_frame_72=DotProd1 = cos(fAngle-3.14)*kavb2vx + sin(fAngle-3.14)*kavb2vy;
per_frame_73=DotProd2 = cos(fAngle)*kavb1vx + sin(fAngle)*kavb1vy;
per_frame_74=b1vx=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vx, b1vx );
per_frame_75=b1vy=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vy, b1vy );
per_frame_76=b2vx=if( equal( bCrash,1), -cos(fAngle)*DotProd2 + kavb1vx, b2vx );
per_frame_77=b2vy=if( equal( bCrash,1), -sin(fAngle)*DotProd2 + kavb1vy, b2vy );
per_frame_78=NoCheckUntil = if(equal(bCrash,1),frame + 30,NoCheckUntil );
per_frame_79=NoCheckUntil = if( equal( frame-2,NoCheckUntil+60 ), 0, NoCheckUntil );
per_frame_80=
per_frame_81=// o Determine what to draw
per_frame_82=fCrashPhase = if( above(NoCheckUntil,0),(60 + NoCheckUntil - frame)/90, 0);
per_frame_83=decay = if( above( fCrashPhase,0), .993 + fCrashPhase*0.006,decay);
per_frame_84=wave_x = if( below( iIndex,2), b1x, wave_x);
per_frame_85=wave_y = if( below( iIndex,2), b1y, wave_y);
per_frame_86=wave_x = if( above( iIndex,1), b2x, wave_x);
per_frame_87=wave_y = if( above( iIndex,1), b2y, wave_y);
per_frame_88=wave_r = 1.0; wave_g = 1.0; wave_b = 1.0;
per_frame_89=wave_r = if( equal( iIndex,1 ), 1.0, wave_r );
per_frame_90=wave_g = if( equal( iIndex,1 ), 0.1, wave_g );
per_frame_91=wave_b = if( equal( iIndex,1 ), 0.1, wave_b );
per_frame_92=wave_r = if( equal( iIndex,3 ), 0.1, wave_r );
per_frame_93=wave_g = if( equal( iIndex,3 ), 0.1, wave_g );
per_frame_94=wave_b = if( equal( iIndex,3 ), 1.0, wave_b );
per_frame_95=wave_mystery = if( equal( iIndex%2,1) , -.55-(bass+prevBass)/60 , -.55 );
per_frame_96=wave_size = if( equal( iIndex%2, 0) ,  1, 0 );
per_frame_97=wave_a = if( equal( iIndex%2, 0 ), .75, 1.0 );
per_frame_98=totalv = if( equal(fCrashPhase,0),sqrt(sqr(b1vx)+sqr(b1vy))+sqrt(sqr(b2vx)+sqr(b2vy)),totalv);
per_frame_99=totalv= if(above(totalv,0.04),0.04,totalv);
per_frame_100=wave_mystery = if( above(fCrashPhase,.93), -7*(fCrashPhase-.93)*.45, wave_mystery);
per_frame_101=warp = if( above(fCrashPhase,.96),warp+5*(totalv/0.03)*(1 - 4*(fCrashPhase-.96)),warp);
per_frame_102=wave_r=if( above( fCrashPhase, .9 ), 1, wave_r );
per_frame_103=wave_g=if( above( fCrashPhase, .9 ), 1, wave_g );
per_frame_104=wave_b=if( above( fCrashPhase, .9 ), 1, wave_b );
per_frame_105=ob_r=0;ob_b=0;
per_frame_106=ob_r=if(above(Blue,0),0,1);
per_frame_107=ob_b=if(above(Blue,0),1,0);
per_frame_108=prevBass = if(equal( iIndex%2, 0 ), bass, 0 );
per_frame_109=
