diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 0720ef8a33..e682cac7dc 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2971,6 +2971,10 @@ BooCommand=shadowlength,4;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,4,8,8; MissCommand=shadowlength,4;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.8;linear,0;diffusealpha,0 [HoldJudgment] +NGOddCommand= +OKOddCommand= +NGEvenCommand= +OKEvenCommand= NGCommand=shadowlength,4;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0;diffusealpha,0 OKCommand=shadowlength,4;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0;diffusealpha,0 diff --git a/stepmania/src/HoldJudgment.cpp b/stepmania/src/HoldJudgment.cpp index ea49b086e6..0c13a5f982 100644 --- a/stepmania/src/HoldJudgment.cpp +++ b/stepmania/src/HoldJudgment.cpp @@ -20,12 +20,26 @@ CachedThemeMetric OK_COMMAND ("HoldJudgment","OKCommand"); CachedThemeMetric NG_COMMAND ("HoldJudgment","NGCommand"); +CachedThemeMetric OK_ODD_COMMAND ("HoldJudgment","OKOddCommand"); +CachedThemeMetric NG_ODD_COMMAND ("HoldJudgment","NGOddCommand"); + +CachedThemeMetric OK_EVEN_COMMAND ("HoldJudgment","OKEvenCommand"); +CachedThemeMetric NG_EVEN_COMMAND ("HoldJudgment","NGEvenCommand"); + HoldJudgment::HoldJudgment() { OK_COMMAND.Refresh(); NG_COMMAND.Refresh(); + OK_ODD_COMMAND.Refresh(); + NG_ODD_COMMAND.Refresh(); + + OK_EVEN_COMMAND.Refresh(); + NG_EVEN_COMMAND.Refresh(); + + m_iCount = 0; + m_sprJudgment.Load( THEME->GetPathToG("HoldJudgment 1x2") ); m_sprJudgment.StopAnimating(); Reset(); @@ -62,13 +76,17 @@ void HoldJudgment::SetHoldJudgment( HoldNoteScore hns ) ASSERT(0); case HNS_OK: m_sprJudgment.SetState( 0 ); + m_sprJudgment.Command( (m_iCount%2) ? OK_ODD_COMMAND : OK_EVEN_COMMAND ); m_sprJudgment.Command( OK_COMMAND ); break; case HNS_NG: m_sprJudgment.SetState( 1 ); + m_sprJudgment.Command( (m_iCount%2) ? NG_ODD_COMMAND : NG_EVEN_COMMAND ); m_sprJudgment.Command( NG_COMMAND ); break; default: ASSERT(0); } + + m_iCount++; } diff --git a/stepmania/src/HoldJudgment.h b/stepmania/src/HoldJudgment.h index 102f9a4cdf..63d7075a6c 100644 --- a/stepmania/src/HoldJudgment.h +++ b/stepmania/src/HoldJudgment.h @@ -31,6 +31,7 @@ public: protected: Sprite m_sprJudgment; + int m_iCount; }; #endif