diff --git a/stepmania/src/NoteData.h b/stepmania/src/NoteData.h index e2448b14b7..763bc50164 100644 --- a/stepmania/src/NoteData.h +++ b/stepmania/src/NoteData.h @@ -12,6 +12,8 @@ for( int row = 0; (nd).GetNextTapNoteRowForTrack(track,row); ) #define FOREACH_NONEMPTY_ROW_IN_TRACK_RANGE( nd, track, row, start, last ) \ for( int row = start-1; (nd).GetNextTapNoteRowForTrack(track,row) && row <= (last); ) +#define FOREACH_NONEMPTY_ROW_IN_TRACK_RANGE_REVERSE( nd, track, row, start, last ) \ + for( int row = last+1; (nd).GetPrevTapNoteRowForTrack(track,row) && row >= (start); ) #define FOREACH_NONEMPTY_ROW_ALL_TRACKS( nd, row ) \ for( int row = 0; (nd).GetNextTapNoteRowForAllTracks(row); ) #define FOREACH_NONEMPTY_ROW_ALL_TRACKS_RANGE( nd, row, start, last ) \ diff --git a/stepmania/src/NoteField.cpp b/stepmania/src/NoteField.cpp index 2a2304270f..42efa7db2d 100644 --- a/stepmania/src/NoteField.cpp +++ b/stepmania/src/NoteField.cpp @@ -576,7 +576,7 @@ void NoteField::DrawPrimitives() NextDisplay = CurDisplay; ++NextDisplay; // draw notes from furthest to closest - for( int i=iLastIndexToDraw; i>=iFirstIndexToDraw; --i ) // for each row + FOREACH_NONEMPTY_ROW_IN_TRACK_RANGE_REVERSE( *this, c, i, iFirstIndexToDraw, iLastIndexToDraw ) { TapNote tn = GetTapNote(c, i); if( tn.type == TapNote::empty ) // no note here