Fix GetGroupColor ignoring the theme.

This commit is contained in:
Glenn Maynard
2003-07-31 22:48:49 +00:00
parent 9980a4dbb6
commit 7deffd2de4
+16 -6
View File
@@ -53,8 +53,18 @@ const int COURSE_SCORES_VERSION = 1;
#define EXTRA_COLOR THEME->GetMetricC("SongManager","ExtraColor") #define EXTRA_COLOR THEME->GetMetricC("SongManager","ExtraColor")
vector<RageColor> g_vGroupColors; vector<RageColor> g_vGroupColors;
RageColor g_ExtraColor; RageTimer g_LastMetricUpdate; /* can't use RageTimer globally */
static void UpdateMetrics()
{
if( g_LastMetricUpdate.PeekDeltaTime() < 1 )
return;
g_LastMetricUpdate.Touch();
g_vGroupColors.clear();
for( int i=0; i<NUM_GROUP_COLORS; i++ )
g_vGroupColors.push_back( GROUP_COLOR(i) );
}
SongManager::SongManager( LoadingWindow *ld ) SongManager::SongManager( LoadingWindow *ld )
{ {
@@ -63,11 +73,6 @@ SongManager::SongManager( LoadingWindow *ld )
SONGMAN = this; SONGMAN = this;
try try
{ {
g_vGroupColors.clear();
for( int i=0; i<NUM_GROUP_COLORS; i++ )
g_vGroupColors.push_back( GROUP_COLOR(i) );
g_ExtraColor = EXTRA_COLOR;
InitSongArrayFromDisk( ld ); InitSongArrayFromDisk( ld );
InitCoursesFromDisk(); InitCoursesFromDisk();
InitAutogenCourses(); InitAutogenCourses();
@@ -77,6 +82,9 @@ SongManager::SongManager( LoadingWindow *ld )
SONGMAN = NULL; SONGMAN = NULL;
throw; throw;
} }
g_LastMetricUpdate.SetZero();
UpdateMetrics();
} }
SongManager::~SongManager() SongManager::~SongManager()
@@ -611,6 +619,8 @@ bool SongManager::DoesGroupExist( CString sGroupName )
RageColor SongManager::GetGroupColor( const CString &sGroupName ) RageColor SongManager::GetGroupColor( const CString &sGroupName )
{ {
UpdateMetrics();
// search for the group index // search for the group index
unsigned i; unsigned i;
for( i=0; i<m_arrayGroupNames.size(); i++ ) for( i=0; i<m_arrayGroupNames.size(); i++ )