From 2ca100eaad8751112db9ab2d3fb3ea65802227b5 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sat, 5 Jun 2004 05:13:23 +0000 Subject: [PATCH] stop accessing m_vpSteps directly --- stepmania/src/NotesLoaderBMS.cpp | 2 +- stepmania/src/NotesLoaderDWI.cpp | 2 +- stepmania/src/NotesLoaderKSF.cpp | 2 +- stepmania/src/NotesLoaderSM.cpp | 4 ++-- stepmania/src/SongManager.cpp | 5 ++++- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/stepmania/src/NotesLoaderBMS.cpp b/stepmania/src/NotesLoaderBMS.cpp index a2a0942a29..f3924b1d19 100644 --- a/stepmania/src/NotesLoaderBMS.cpp +++ b/stepmania/src/NotesLoaderBMS.cpp @@ -454,7 +454,7 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out ) const bool ok = LoadFromBMSFile( out.GetSongDir() + arrayBMSFileNames[i], *pNewNotes ); if( ok ) - out.m_vpSteps.push_back( pNewNotes ); + out.AddSteps( pNewNotes ); else delete pNewNotes; } diff --git a/stepmania/src/NotesLoaderDWI.cpp b/stepmania/src/NotesLoaderDWI.cpp index 1ec8e9fea0..a4ee6797a3 100644 --- a/stepmania/src/NotesLoaderDWI.cpp +++ b/stepmania/src/NotesLoaderDWI.cpp @@ -473,7 +473,7 @@ bool DWILoader::LoadFromDWIFile( CString sPath, Song &out ) *pNewNotes ); if(pNewNotes->m_StepsType != STEPS_TYPE_INVALID) - out.m_vpSteps.push_back( pNewNotes ); + out.AddSteps( pNewNotes ); else delete pNewNotes; } diff --git a/stepmania/src/NotesLoaderKSF.cpp b/stepmania/src/NotesLoaderKSF.cpp index 759c5c8b09..3431d805b4 100644 --- a/stepmania/src/NotesLoaderKSF.cpp +++ b/stepmania/src/NotesLoaderKSF.cpp @@ -359,7 +359,7 @@ bool KSFLoader::LoadFromDir( CString sDir, Song &out ) continue; } - out.m_vpSteps.push_back( pNewNotes ); + out.AddSteps( pNewNotes ); } return true; diff --git a/stepmania/src/NotesLoaderSM.cpp b/stepmania/src/NotesLoaderSM.cpp index 23308a1a07..ebdca95690 100644 --- a/stepmania/src/NotesLoaderSM.cpp +++ b/stepmania/src/NotesLoaderSM.cpp @@ -336,7 +336,7 @@ bool SMLoader::LoadFromSMFile( CString sPath, Song &out ) { Steps* pNewNotes = new Steps; ASSERT( pNewNotes ); - out.m_vpSteps.push_back( pNewNotes ); + out.AddSteps( pNewNotes ); if( iNumParams < 7 ) { @@ -456,7 +456,7 @@ bool SMLoader::LoadEdit( CString sEditFilePath, ProfileSlot slot ) return false; } - pSong->m_vpSteps.push_back( pNewNotes ); + pSong->AddSteps( pNewNotes ); return true; // Only allow one Steps per edit file! } else diff --git a/stepmania/src/SongManager.cpp b/stepmania/src/SongManager.cpp index 2cff801786..74be60918a 100644 --- a/stepmania/src/SongManager.cpp +++ b/stepmania/src/SongManager.cpp @@ -277,7 +277,10 @@ void SongManager::LoadGroupSymLinks(CString sDir, CString sGroupFolder) delete pNewSong; // The song failed to load. else { - pNewSong->m_vpSteps.clear(); // No memory hogs.. + const vector& vpSteps = pNewSong->GetAllSteps(); + while( vpSteps.size() ) + pNewSong->RemoveSteps( vpSteps[0] ); + pNewSong->m_BackgroundChanges.clear(); pNewSong->m_bIsSymLink = true; // Very important so we don't double-parse later