diff --git a/stepmania/src/Song.cpp b/stepmania/src/Song.cpp index 2305f6632a..474518eae8 100644 --- a/stepmania/src/Song.cpp +++ b/stepmania/src/Song.cpp @@ -566,6 +566,9 @@ void Song::TidyUpData() } } } + + for( i=0; iCompress(); } void Song::ReCalulateRadarValuesAndLastBeat() @@ -713,6 +716,8 @@ next_notes_type: unsigned j; // look for previously autogen'd data with the same number of tracks + // XXX Why do this? Notes with the same number of tracks will be preferred + // below anyway; why prefer autogen'd data? -glenn for( j=0; jGetNoteData( &originalNoteData ); - newNoteData.LoadTransformedSlidingWindow( &originalNoteData, iNumTracksOfTo ); + newNoteData.m_iNumTracks = iNumTracksOfTo; + if(originalNoteData.m_iNumTracks == iNumTracksOfTo) + newNoteData.CopyRange( &originalNoteData, 0, originalNoteData.GetLastRow(), 0 ); + else + newNoteData.LoadTransformedSlidingWindow( &originalNoteData, iNumTracksOfTo ); pNewNotes->SetNoteData( &newNoteData ); this->m_apNotes.push_back( pNewNotes ); }