From 2fae214ed94c98d8199ce9c9228ea0b1b13dfa3b Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 11 Jan 2004 21:49:36 +0000 Subject: [PATCH] cache metrics (fixes some music wheel load problems) --- stepmania/src/SongManager.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/stepmania/src/SongManager.cpp b/stepmania/src/SongManager.cpp index 807ffe0e55..e8058154ae 100644 --- a/stepmania/src/SongManager.cpp +++ b/stepmania/src/SongManager.cpp @@ -40,13 +40,13 @@ SongManager* SONGMAN = NULL; // global and accessable from anywhere in our progr #define NUM_GROUP_COLORS THEME->GetMetricI("SongManager","NumGroupColors") #define GROUP_COLOR( i ) THEME->GetMetricC("SongManager",ssprintf("GroupColor%d",i+1)) -#define BEGINNER_COLOR THEME->GetMetricC("SongManager","BeginnerColor") -#define EASY_COLOR THEME->GetMetricC("SongManager","EasyColor") -#define MEDIUM_COLOR THEME->GetMetricC("SongManager","MediumColor") -#define HARD_COLOR THEME->GetMetricC("SongManager","HardColor") -#define CHALLENGE_COLOR THEME->GetMetricC("SongManager","ChallengeColor") -#define EXTRA_COLOR THEME->GetMetricC("SongManager","ExtraColor") -#define EXTRA_COLOR_METER THEME->GetMetricI("SongManager","ExtraColorMeter") +CachedThemeMetricC BEGINNER_COLOR ("SongManager","BeginnerColor"); +CachedThemeMetricC EASY_COLOR ("SongManager","EasyColor"); +CachedThemeMetricC MEDIUM_COLOR ("SongManager","MediumColor"); +CachedThemeMetricC HARD_COLOR ("SongManager","HardColor"); +CachedThemeMetricC CHALLENGE_COLOR ("SongManager","ChallengeColor"); +CachedThemeMetricC EXTRA_COLOR ("SongManager","ExtraColor"); +CachedThemeMetricI EXTRA_COLOR_METER ("SongManager","ExtraColorMeter"); vector g_vGroupColors; RageTimer g_LastMetricUpdate; /* can't use RageTimer globally */ @@ -60,6 +60,14 @@ static void UpdateMetrics() g_vGroupColors.clear(); for( int i=0; i