From 9676f351d91310e8593c0f232f63a33befc9a161 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 30 Nov 2006 01:05:07 +0000 Subject: [PATCH] This doesn't really need to be a deque. Note skin inheritance is typically only one or two deep, and we only update these rarely. (deque uses about 500 bytes minimum in linux) --- stepmania/src/NoteSkinManager.cpp | 10 +++++----- stepmania/src/NoteSkinManager.h | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/stepmania/src/NoteSkinManager.cpp b/stepmania/src/NoteSkinManager.cpp index 497105a103..7b776396e6 100644 --- a/stepmania/src/NoteSkinManager.cpp +++ b/stepmania/src/NoteSkinManager.cpp @@ -73,11 +73,11 @@ void NoteSkinManager::LoadNoteSkinData( const RString &sNoteSkinName, NoteSkinDa /* Load global NoteSkin defaults */ data_out.metrics.ReadFile( GLOBAL_BASE_NOTESKIN_DIR+"metrics.ini" ); - data_out.vsDirSearchOrder.push_front( GLOBAL_BASE_NOTESKIN_DIR ); + data_out.vsDirSearchOrder.insert( data_out.vsDirSearchOrder.begin(), GLOBAL_BASE_NOTESKIN_DIR ); /* Load game NoteSkin defaults */ data_out.metrics.ReadFile( GetNoteSkinDir(GAME_BASE_NOTESKIN_NAME)+"metrics.ini" ); - data_out.vsDirSearchOrder.push_front( GetNoteSkinDir(GAME_BASE_NOTESKIN_NAME) ); + data_out.vsDirSearchOrder.insert( data_out.vsDirSearchOrder.begin(), GetNoteSkinDir(GAME_BASE_NOTESKIN_NAME) ); /* Read the current NoteSkin and all of its fallbacks */ LoadNoteSkinDataRecursive( sNoteSkinName, data_out ); @@ -100,7 +100,7 @@ void NoteSkinManager::LoadNoteSkinDataRecursive( const RString &sNoteSkinName, N LoadNoteSkinDataRecursive( sFallback, data_out ); data_out.metrics.ReadFile( sDir+"metrics.ini" ); - data_out.vsDirSearchOrder.push_front( sDir ); + data_out.vsDirSearchOrder.insert( data_out.vsDirSearchOrder.begin(), sDir ); depth--; } @@ -220,7 +220,7 @@ try_again: const NoteSkinData &data = iter->second; RString sPath; // fill this in below - FOREACHD_CONST( RString, data.vsDirSearchOrder, iter ) + FOREACH_CONST( RString, data.vsDirSearchOrder, iter ) { if( sButtonName.empty() ) sPath = GetPathFromDirAndFile( *iter, sElement ); @@ -262,7 +262,7 @@ try_again: GetFileContents( sPath, sNewFileName, true ); RString sRealPath; - FOREACHD_CONST( RString, data.vsDirSearchOrder, iter ) + FOREACH_CONST( RString, data.vsDirSearchOrder, iter ) { sRealPath = GetPathFromDirAndFile( *iter, sNewFileName ); if( !sRealPath.empty() ) diff --git a/stepmania/src/NoteSkinManager.h b/stepmania/src/NoteSkinManager.h index ccbed72f29..7c65e48497 100644 --- a/stepmania/src/NoteSkinManager.h +++ b/stepmania/src/NoteSkinManager.h @@ -9,7 +9,6 @@ #include "IniFile.h" #include "ThemeMetric.h" #include -#include class Game; @@ -51,7 +50,7 @@ protected: IniFile metrics; // When looking for an element, search these dirs from head to tail. - deque vsDirSearchOrder; + vector vsDirSearchOrder; }; void LoadNoteSkinData( const RString &sNoteSkinName, NoteSkinData& data_out ); void LoadNoteSkinDataRecursive( const RString &sNoteSkinName, NoteSkinData& data_out );