diff --git a/stepmania/src/NoteField.cpp b/stepmania/src/NoteField.cpp index b9a10e5bce..84a0e4151b 100644 --- a/stepmania/src/NoteField.cpp +++ b/stepmania/src/NoteField.cpp @@ -871,6 +871,7 @@ void NoteField::DrawPrimitives() // // Draw all TapNotes in this column // + bool bAnyUpcomingInThisCol = false; // draw notes from furthest to closest @@ -924,7 +925,12 @@ void NoteField::DrawPrimitives() bool bUseAdditionColoring = bIsAddition || bIsHopoPossible; NoteDisplayCols *displayCols = tn.pn == PLAYER_INVALID ? m_pCurDisplay : m_pDisplays[tn.pn]; displayCols->display[c].DrawTap( tn, c, NoteRowToBeat(i), bHoldNoteBeginsOnThisBeat, bUseAdditionColoring, bIsInSelectionRange ? fSelectedRangeGlow : m_fPercentFadeToFail, m_fYReverseOffsetPixels, iDrawDistanceAfterTargetsPixels, iDrawDistanceBeforeTargetsPixels, FADE_BEFORE_TARGETS_PERCENT ); + + bool bNoteIsUpcoming = NoteRowToBeat(i) > GAMESTATE->m_fSongBeat; + bAnyUpcomingInThisCol |= bNoteIsUpcoming; } + + cur->m_ReceptorArrowRow.SetNoteUpcoming( c, bAnyUpcomingInThisCol ); } cur->m_GhostArrowRow.Draw(); diff --git a/stepmania/src/ReceptorArrowRow.cpp b/stepmania/src/ReceptorArrowRow.cpp index 85ad1846a8..fd6bddc8ca 100644 --- a/stepmania/src/ReceptorArrowRow.cpp +++ b/stepmania/src/ReceptorArrowRow.cpp @@ -94,6 +94,12 @@ void ReceptorArrowRow::SetPressed( int iCol ) m_ReceptorArrow[iCol]->SetPressed(); } +void ReceptorArrowRow::SetNoteUpcoming( int iCol, bool b ) +{ + m_ReceptorArrow[iCol]->PlayCommand(b?"ShowNoteUpcoming":"HideNoteUpcoming"); +} + + /* * (c) 2001-2003 Chris Danford * All rights reserved. diff --git a/stepmania/src/ReceptorArrowRow.h b/stepmania/src/ReceptorArrowRow.h index 9f8ad3dbcf..bee98ccc13 100644 --- a/stepmania/src/ReceptorArrowRow.h +++ b/stepmania/src/ReceptorArrowRow.h @@ -21,6 +21,7 @@ public: void Step( int iCol, TapNoteScore score ); void SetPressed( int iCol ); + void SetNoteUpcoming( int iCol, bool b ); void SetFadeToFailPercent( float fFadeToFailPercent ) { m_fFadeToFailPercent = fFadeToFailPercent; }