From 0587aeced5c345f266496267df793a4708c563cc Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 28 Feb 2011 00:41:04 -0500 Subject: [PATCH] Allow for dizzy hold heads. --- Docs/Changelog_sm-ssc.txt | 2 ++ Themes/_fallback/metrics.ini | 1 + src/ArrowEffects.cpp | 5 +++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Docs/Changelog_sm-ssc.txt b/Docs/Changelog_sm-ssc.txt index 7cf8efb955..cf6575e989 100644 --- a/Docs/Changelog_sm-ssc.txt +++ b/Docs/Changelog_sm-ssc.txt @@ -19,6 +19,8 @@ sm-ssc v1.2.3 | 2011022? * [ScreenEdit] Display the number of Lifts and Fakes in a stepchart in the editor. These use metrics, so the lines can be made empty in themes that require them. [Wolfman2000] +* [ArrowEffects] Allow for dizzy hold heads. Again, enable at your own risk. + [Wolfman2000] 20110227 -------- diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index bbfe73a778..68ba286ca6 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -173,6 +173,7 @@ BeatOffsetHeight=15 BeatPIHeight=2 MiniPercentBase=0.5 MiniPercentGate=1 +DizzyHoldHeads=false QuantizeArrowYPosition=false [Background] diff --git a/src/ArrowEffects.cpp b/src/ArrowEffects.cpp index 5f03f86901..9bd4271627 100644 --- a/src/ArrowEffects.cpp +++ b/src/ArrowEffects.cpp @@ -58,6 +58,7 @@ static ThemeMetric BEAT_OFFSET_HEIGHT( "ArrowEffects", "BeatOffsetHeight" static ThemeMetric BEAT_PI_HEIGHT( "ArrowEffects", "BeatPIHeight" ); static ThemeMetric MINI_PERCENT_BASE( "ArrowEffects", "MiniPercentBase" ); static ThemeMetric MINI_PERCENT_GATE( "ArrowEffects", "MiniPercentGate" ); +static ThemeMetric DIZZY_HOLD_HEADS( "ArrowEffects", "DizzyHoldHeads" ); static float GetNoteFieldHeight( const PlayerState* pPlayerState ) { @@ -507,8 +508,8 @@ float ArrowEffects::GetRotationZ( const PlayerState* pPlayerState, float fNoteBe if( fEffects[PlayerOptions::EFFECT_CONFUSION] != 0 ) fRotation += ReceptorGetRotationZ( pPlayerState ); - // Doesn't affect hold heads, unlike confusion - if( fEffects[PlayerOptions::EFFECT_DIZZY] != 0 && !bIsHoldHead ) + // As usual, enable dizzy hold heads at your own risk. -Wolfman2000 + if( fEffects[PlayerOptions::EFFECT_DIZZY] != 0 && ( DIZZY_HOLD_HEADS || !bIsHoldHead ) ) { const float fSongBeat = GAMESTATE->m_fSongBeatVisible; float fDizzyRotation = fNoteBeat - fSongBeat;