diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 51e89c6fdc..596c750953 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -526,6 +526,9 @@ ColorGoodEnd=0.3,0.8,1.0,0 // blue no alpha ColorBooStart=0.8,0.0,0.6,1 // purple ColorBooEnd=0.8,0.0,0.6,0 // purple no alpha +[NoteDisplay] +UseHoldHeadForTap=1 + [BitmapText] RainbowColor1=1.0,0.0,0.4,1 // red RainbowColor2=0.8,0.2,0.6,1 // pink diff --git a/stepmania/src/NoteDisplay.cpp b/stepmania/src/NoteDisplay.cpp index 9495260fa9..33eea56df4 100644 --- a/stepmania/src/NoteDisplay.cpp +++ b/stepmania/src/NoteDisplay.cpp @@ -23,8 +23,15 @@ #include "RageLog.h" +#define USE_HOLD_HEAD_FOR_TAP THEME->GetMetricB("NoteDisplay","UseHoldHeadForTap") + +bool g_bUseHoldHeadForTap; // cache + + NoteDisplay::NoteDisplay() { + g_bUseHoldHeadForTap = USE_HOLD_HEAD_FOR_TAP; // update cache + // the owner of the NoteDisplay must call load on the gray and color parts // m_sprHoldParts.Load( THEME->GetPathTo(GRAPHIC_COLOR_ARROW_GRAY_PART) ); @@ -325,7 +332,7 @@ void NoteDisplay::DrawHold( const HoldNote& hn, const bool bActive, const float DrawHold( hn, bActive, fLife, fPercentFadeToFail, true ); } -void NoteDisplay::DrawTap( const int iCol, const float fBeat, const bool bUseHoldColor, const float fPercentFadeToFail ) +void NoteDisplay::DrawTap( const int iCol, const float fBeat, const bool bOnSameRowAsHoldStart, const float fPercentFadeToFail ) { const float fYOffset = ArrowGetYOffset( m_PlayerNumber, fBeat ); const float fYPos = ArrowGetYPos( m_PlayerNumber, fYOffset ); @@ -344,7 +351,7 @@ void NoteDisplay::DrawTap( const int iCol, const float fBeat, const bool bUseHol colorLeadingEdge.a *= fAlpha; colorTrailingEdge.a *= fAlpha; - if( bUseHoldColor ) + if( bOnSameRowAsHoldStart && g_bUseHoldHeadForTap ) { // // draw hold head diff --git a/stepmania/src/NoteDisplay.h b/stepmania/src/NoteDisplay.h index a7f1175e1a..f511dbf47c 100644 --- a/stepmania/src/NoteDisplay.h +++ b/stepmania/src/NoteDisplay.h @@ -23,7 +23,7 @@ public: void Load( int iColNum, PlayerNumber pn ); - void DrawTap( const int iCol, const float fBeat, const bool bUseHoldColor, const float fPercentFadeToFail ); + void DrawTap( const int iCol, const float fBeat, const bool bOnSameRowAsHoldStart, const float fPercentFadeToFail ); void DrawHold( const HoldNote& hn, const bool bActive, const float fLife, const float fPercentFadeToFail, bool bDrawGlowOnly = false ); protected: