From f9596e4d03c63fca5358b75c37b8a68d69a487d6 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 4 Nov 2003 20:22:49 +0000 Subject: [PATCH] Fix hold notes in autogen --- stepmania/src/NoteData.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/stepmania/src/NoteData.cpp b/stepmania/src/NoteData.cpp index 4999854084..58579e7da4 100644 --- a/stepmania/src/NoteData.cpp +++ b/stepmania/src/NoteData.cpp @@ -469,7 +469,7 @@ void NoteData::LoadOverlapped( const NoteData* pOriginal, int iNewNumTracks ) SetNumTracks( iNewNumTracks ); NoteData in; - in.To2sAnd3s( *pOriginal ); + in.To4s( *pOriginal ); const int iLastRow = in.GetMaxRow(); for ( int i = 0; i < in.GetNumTracks(); i++ ) @@ -481,12 +481,15 @@ void NoteData::LoadOverlapped( const NoteData* pOriginal, int iNewNumTracks ) { const TapNote iStepFrom = in.m_TapNotes[iTrackFrom][row]; - if( GetTapNote(iTrackTo, row) == TAP_EMPTY ) - SetTapNote( iTrackTo, row, iStepFrom ); + /* Hold notes always take precedence: don't split holds. */ + if( GetTapNote(iTrackTo, row) == TAP_HOLD ) + continue; + + SetTapNote( iTrackTo, row, iStepFrom ); } } - ConvertHoldNotesTo2sAnd3s(); + Convert4sToHoldNotes(); } void NoteData::LoadTransformedSlidingWindow( const NoteData* pOriginal, int iNewNumTracks )