Add more flexible modifier modifications.

This commit is contained in:
Jason Felds
2011-01-15 13:28:56 -05:00
parent 5104c7e086
commit a7c033a987
3 changed files with 12 additions and 4 deletions
+2 -2
View File
@@ -15,8 +15,8 @@ sm-ssc v1.2.1 | 2011011?
20110115
--------
* [ArrowEffects] Allow modifying the blink mod frequency in the metrics.
[Wolfman2000]
* [ArrowEffects] Allow modifying modifier characteristics in the metrics.
At present, Blink, Brake, and Boost can have modifications. [Wolfman2000]
20110112
--------
+4
View File
@@ -129,6 +129,10 @@ FrameWidthLockEffectsTweenPixels=25
ArrowSpacing=128
DrawHiddenNotesAfterReceptor=true
BlinkModFrequency=0.3333
BoostModMinClamp=-400
BoostModMaxClamp=400
BrakeModMinClamp=-400
BrakeModMaxClamp=400
[Background]
# Background stuff. again, its usually a better idea to leave this alone
+6 -2
View File
@@ -17,6 +17,10 @@
static ThemeMetric<float> ARROW_SPACING( "ArrowEffects", "ArrowSpacing" );
static ThemeMetric<bool> HIDDEN_SUDDEN_PAST_RECEPTOR( "ArrowEffects", "DrawHiddenNotesAfterReceptor");
static ThemeMetric<float> BLINK_MOD_FREQUENCY( "ArrowEffects", "BlinkModFrequency" );
static ThemeMetric<float> BOOST_MOD_MIN_CLAMP( "ArrowEffects", "BoostModMinClamp" );
static ThemeMetric<float> BOOST_MOD_MAX_CLAMP( "ArrowEffects", "BoostModMaxClamp" );
static ThemeMetric<float> BRAKE_MOD_MIN_CLAMP( "ArrowEffects", "BrakeModMinClamp" );
static ThemeMetric<float> BRAKE_MOD_MAX_CLAMP( "ArrowEffects", "BrakeModMaxClamp" );
static float GetNoteFieldHeight( const PlayerState* pPlayerState )
{
@@ -214,7 +218,7 @@ float ArrowEffects::GetYOffset( const PlayerState* pPlayerState, int iCol, float
float fNewYOffset = fYOffset * 1.5f / ((fYOffset+fEffectHeight/1.2f)/fEffectHeight);
float fAccelYAdjust = fAccels[PlayerOptions::ACCEL_BOOST] * (fNewYOffset - fYOffset);
// TRICKY: Clamp this value, or else BOOST+BOOMERANG will draw a ton of arrows on the screen.
CLAMP( fAccelYAdjust, -400.f, 400.f );
CLAMP( fAccelYAdjust, BOOST_MOD_MIN_CLAMP, BOOST_MOD_MAX_CLAMP );
fYAdjust += fAccelYAdjust;
}
if( fAccels[PlayerOptions::ACCEL_BRAKE] != 0 )
@@ -224,7 +228,7 @@ float ArrowEffects::GetYOffset( const PlayerState* pPlayerState, int iCol, float
float fNewYOffset = fYOffset * fScale;
float fBrakeYAdjust = fAccels[PlayerOptions::ACCEL_BRAKE] * (fNewYOffset - fYOffset);
// TRICKY: Clamp this value the same way as BOOST so that in BOOST+BRAKE, BRAKE doesn't overpower BOOST
CLAMP( fBrakeYAdjust, -400.f, 400.f );
CLAMP( fBrakeYAdjust, BRAKE_MOD_MIN_CLAMP, BRAKE_MOD_MAX_CLAMP );
fYAdjust += fBrakeYAdjust;
}
if( fAccels[PlayerOptions::ACCEL_WAVE] != 0 )