diff --git a/stepmania/NEWS b/stepmania/NEWS index bfac9e8e0e..4f93a0a7fc 100644 --- a/stepmania/NEWS +++ b/stepmania/NEWS @@ -21,6 +21,7 @@ BUG FIX: DWI reader now reads fractional BPM and FREEZE index values (e.g. BUG FIX: Fixed ez2 real style spacing CHANGE: #SAMPLESTART tag now written in DWI files CHANGE: Editor now snaps while recording +OPTIMIZATION: More efficient texture memory usage ------------------------CVS after 3.00 beta 6---------------- CHANGE: Missing a jump with the Oni life meter now subtracts only 1 life. diff --git a/stepmania/src/NoteData.cpp b/stepmania/src/NoteData.cpp index 9e27081457..55d5feef76 100644 --- a/stepmania/src/NoteData.cpp +++ b/stepmania/src/NoteData.cpp @@ -870,11 +870,11 @@ float NoteData::GetFreezeRadarValue( float fSongSeconds ) // -1 for iOriginalTracksToTakeFrom means no track void NoteData::LoadTransformed( NoteData* pOriginal, int iNewNumTracks, const int iOriginalTrackToTakeFrom[] ) { - pOriginal->ConvertHoldNotesTo4s(); - // reset all notes Init(); + pOriginal->ConvertHoldNotesTo4s(); + m_iNumTracks = iNewNumTracks; // copy tracks @@ -893,6 +893,9 @@ void NoteData::LoadTransformed( NoteData* pOriginal, int iNewNumTracks, const in void NoteData::LoadTransformedSlidingWindow( NoteData* pOriginal, int iNewNumTracks ) { + // reset all notes + Init(); + pOriginal->ConvertHoldNotesTo4s(); m_iNumTracks = iNewNumTracks; diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index 843bd2ac55..67fca79435 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -55,7 +55,7 @@ PrefsManager::PrefsManager() m_bDelayedEscape = true; m_bHowToPlay = true; m_bArcadeOptionsNavigation = false; - m_iUnloadTextureDelaySeconds = 60*30; // 30 mins + m_iUnloadTextureDelaySeconds = 0; // disabled 60*30; // 30 mins m_bCoinOpMode = false; /* I'd rather get occasional people asking for support for this even though it's diff --git a/stepmania/src/Song.cpp b/stepmania/src/Song.cpp index 7e71a05b4e..27b0aacfbb 100644 --- a/stepmania/src/Song.cpp +++ b/stepmania/src/Song.cpp @@ -777,10 +777,25 @@ void Song::SaveToDWIFile() void Song::AddAutoGenNotes() { - for( NotesType ntMissing=(NotesType)0; ntMissingpump and pump->dance + CArray aMissingNotesTypes; + if( !SongHasNotesType(NOTES_TYPE_DANCE_SINGLE) ) + aMissingNotesTypes.Add( NOTES_TYPE_DANCE_SINGLE ); + if( !SongHasNotesType(NOTES_TYPE_DANCE_DOUBLE) ) + aMissingNotesTypes.Add( NOTES_TYPE_DANCE_SOLO ); + if( !SongHasNotesType(NOTES_TYPE_DANCE_SOLO) ) + aMissingNotesTypes.Add( NOTES_TYPE_PUMP_SINGLE ); + if( !SongHasNotesType(NOTES_TYPE_DANCE_SINGLE) ) + aMissingNotesTypes.Add( NOTES_TYPE_PUMP_DOUBLE ); + +// for( NotesType ntMissing=(NotesType)0; ntMissingNotesTypeToNumTracks(ntMissing); @@ -817,7 +832,8 @@ void Song::AddAutoGenNotes() pNewNotes->m_sDescription = pOriginalNotes->m_sDescription + " (autogen)"; pNewNotes->m_NotesType = ntMissing; - NoteData originalNoteData, newNoteData; + static NoteData originalNoteData; + static NoteData newNoteData; pOriginalNotes->GetNoteData( &originalNoteData ); newNoteData.LoadTransformedSlidingWindow( &originalNoteData, iNumTracksOfMissing ); pNewNotes->SetNoteData( &newNoteData );