diff --git a/stepmania/src/NoteDataUtil.cpp b/stepmania/src/NoteDataUtil.cpp index 8433a9c56f..09d7298fa7 100644 --- a/stepmania/src/NoteDataUtil.cpp +++ b/stepmania/src/NoteDataUtil.cpp @@ -703,7 +703,11 @@ void NoteDataUtil::ChangeRollsToHolds( NoteData &in, int iStartIndex, int iEndIn void NoteDataUtil::RemoveSimultaneousNotes( NoteData &in, int iMaxSimultaneous, int iStartIndex, int iEndIndex ) { - // turn all the HoldNotes into TapNotes + // Remove tap and hold notes so no more than iMaxSimultaneous buttons are being held at any + // given time. Never touch data outside of the range given; if many hold notes are overlapping + // iStartIndex, and we'd have to change those holds to obey iMaxSimultaneous, just do the best + // we can without doing so. + notes to turn all the HoldNotes into TapNotes FOREACH_NONEMPTY_ROW_ALL_TRACKS_RANGE( in, r, iStartIndex, iEndIndex ) { set viTracksHeld; @@ -715,20 +719,11 @@ void NoteDataUtil::RemoveSimultaneousNotes( NoteData &in, int iMaxSimultaneous, for( int t=0; iTracksToRemove>0 && t