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)
This commit is contained in:
Glenn Maynard
2006-11-30 01:05:07 +00:00
parent d33755fd24
commit 9676f351d9
2 changed files with 6 additions and 7 deletions
+5 -5
View File
@@ -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() )
+1 -2
View File
@@ -9,7 +9,6 @@
#include "IniFile.h"
#include "ThemeMetric.h"
#include <map>
#include <deque>
class Game;
@@ -51,7 +50,7 @@ protected:
IniFile metrics;
// When looking for an element, search these dirs from head to tail.
deque<RString> vsDirSearchOrder;
vector<RString> vsDirSearchOrder;
};
void LoadNoteSkinData( const RString &sNoteSkinName, NoteSkinData& data_out );
void LoadNoteSkinDataRecursive( const RString &sNoteSkinName, NoteSkinData& data_out );