From 7f985da9ee0c7d4eed0b8dee1396c3d85a6775e5 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 25 Dec 2005 19:01:13 +0000 Subject: [PATCH] add separate method for string lookup --- stepmania/src/StepMania.cpp | 2 +- stepmania/src/ThemeManager.cpp | 8 ++++++++ stepmania/src/ThemeManager.h | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/stepmania/src/StepMania.cpp b/stepmania/src/StepMania.cpp index 846fb5db66..a9f54f49cc 100644 --- a/stepmania/src/StepMania.cpp +++ b/stepmania/src/StepMania.cpp @@ -919,7 +919,7 @@ static void ApplyLogPreferences() static CString LocalizeString( const CString &sSection, const CString &s ) { CString sOut; - THEME->GetMetric( sSection, s, sOut ); + THEME->GetString( sSection, s, sOut ); return sOut; } diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index cc8c4174dc..e7f1f8fe2b 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -899,6 +899,12 @@ void ThemeManager::GetMetric( const CString &sClassName, const CString &sValueNa valueOut.SetFromExpression( "function(self) " + sValue + "end" ); } +void ThemeManager::GetString( const CString &sClassName, const CString &sValueName, CString &valueOut ) +{ + // TODO: Change this to GetMetricRaw and write stubs for missing strings into every language file. + valueOut = GetMetric( sClassName, sValueName ); +} + void ThemeManager::GetMetricsThatBeginWith( const CString &sClassName_, const CString &sValueName, set &vsValueNamesOut ) { CString sClassName( sClassName_ ); @@ -942,6 +948,7 @@ public: LunaThemeManager() { LUA->Register( Register ); } static int GetMetric( T* p, lua_State *L ) { lua_pushstring(L, p->GetMetric(SArg(1),SArg(2)) ); return 1; } + static int GetString( T* p, lua_State *L ) { CString s; p->GetString(SArg(1),SArg(2),s); lua_pushstring(L,s); return 1; } static int GetPathG( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathG(SArg(1),SArg(2)) ); return 1; } static int GetPathB( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathB(SArg(1),SArg(2)) ); return 1; } static int GetPathS( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathS(SArg(1),SArg(2)) ); return 1; } @@ -951,6 +958,7 @@ public: static void Register(lua_State *L) { ADD_METHOD( GetMetric ); + ADD_METHOD( GetString ); ADD_METHOD( GetPathG ); ADD_METHOD( GetPathB ); ADD_METHOD( GetPathS ); diff --git a/stepmania/src/ThemeManager.h b/stepmania/src/ThemeManager.h index 9dd9d3e1fd..8ee675143b 100644 --- a/stepmania/src/ThemeManager.h +++ b/stepmania/src/ThemeManager.h @@ -81,6 +81,8 @@ public: void GetMetric( const CString &sClassName, const CString &sValueName, LuaExpression &valueOut ); void GetMetric( const CString &sClassName, const CString &sValueName, apActorCommands &valueOut ); + void GetString( const CString &sClassName, const CString &sValueName, CString &valueOut ); + void GetMetricsThatBeginWith( const CString &sClassName, const CString &sValueName, set &vsValueNamesOut ); static CString GetBlankGraphicPath();