From 03755922ce18ef76ba10f6af59823d507aee60f9 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Wed, 26 Mar 2008 06:06:00 +0000 Subject: [PATCH] add per Screen TimerMetricsGroup --- stepmania/Themes/default/metrics.ini | 1 + stepmania/src/MenuTimer.cpp | 30 ++++++++++++++---------- stepmania/src/MenuTimer.h | 9 ++++--- stepmania/src/ScreenWithMenuElements.cpp | 3 ++- stepmania/src/ScreenWithMenuElements.h | 1 + stepmania/src/StepMania-net2003.vcproj | 2 +- 6 files changed, 28 insertions(+), 18 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 6d0066d5dd..1e0ee49a4a 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2057,6 +2057,7 @@ MemoryCardDisplayP2Y=SCREEN_CENTER_Y+220 MemoryCardDisplayP2OnCommand=draworder,97; MemoryCardDisplayP2OffCommand= //MemoryCardDisplayP2OffCommand=bouncebegin,0.5;addx,25; +TimerMetricsGroup="MenuTimer" //TimerX=SCREEN_CENTER_X+270 TimerX=SCREEN_RIGHT-60 TimerY=SCREEN_TOP-11 diff --git a/stepmania/src/MenuTimer.cpp b/stepmania/src/MenuTimer.cpp index a3e047f616..05c94b8608 100644 --- a/stepmania/src/MenuTimer.cpp +++ b/stepmania/src/MenuTimer.cpp @@ -11,37 +11,41 @@ RString WARNING_COMMAND_NAME( size_t i ) { return ssprintf("Warning%dCommand",int(i)); } -static const ThemeMetric WARNING_START ("MenuTimer","WarningStart"); -static const ThemeMetric WARNING_BEEP_START ("MenuTimer","WarningBeepStart"); -static const ThemeMetric MAX_STALL_SECONDS ("MenuTimer","MaxStallSeconds"); static const float TIMER_PAUSE_SECONDS = 99.99f; -MenuTimer::MenuTimer() : - WARNING_COMMAND("MenuTimer", WARNING_COMMAND_NAME, WARNING_START+1) +MenuTimer::MenuTimer() { m_fStallSeconds = 0; - m_fStallSecondsLeft = MAX_STALL_SECONDS; + m_fStallSecondsLeft = 0; m_bPaused = false; m_bSilent = false; + WARNING_COMMAND = NULL; } -void MenuTimer::Load() +void MenuTimer::Load( RString sMetricsGroup ) { for( int i=0; iGetPathF("MenuTimer","numbers") ); + m_text[i].LoadFromFont( THEME->GetPathF(sMetricsGroup,"numbers") ); m_text[i].SetName( ssprintf("Text%d",i+1) ); - ActorUtil::LoadAllCommandsAndOnCommand( m_text[i], "MenuTimer" ); + ActorUtil::LoadAllCommandsAndOnCommand( m_text[i], sMetricsGroup ); this->AddChild( &m_text[i] ); } - m_exprFormatText[0] = THEME->GetMetricR("MenuTimer", "Text1FormatFunction"); - m_exprFormatText[1] = THEME->GetMetricR("MenuTimer", "Text2FormatFunction"); + m_exprFormatText[0] = THEME->GetMetricR(sMetricsGroup, "Text1FormatFunction"); + m_exprFormatText[1] = THEME->GetMetricR(sMetricsGroup, "Text2FormatFunction"); SetSeconds( TIMER_PAUSE_SECONDS ); - m_soundBeep.Load( THEME->GetPathS("MenuTimer","tick") ); + m_soundBeep.Load( THEME->GetPathS(sMetricsGroup,"tick") ); + + WARNING_START.Load(sMetricsGroup,"WarningStart"); + WARNING_BEEP_START.Load(sMetricsGroup,"WarningBeepStart"); + MAX_STALL_SECONDS.Load(sMetricsGroup,"MaxStallSeconds"); + WARNING_COMMAND = new ThemeMetric1D(sMetricsGroup, WARNING_COMMAND_NAME, WARNING_START+1); + + m_fStallSecondsLeft = MAX_STALL_SECONDS; } void MenuTimer::EnableStealth( bool bStealth ) @@ -87,7 +91,7 @@ void MenuTimer::Update( float fDeltaTime ) if( iCrossed <= WARNING_START ) { for( int i=0; iGetValue(iCrossed) ); } if( iCrossed <= WARNING_BEEP_START && m_soundBeep.IsLoaded() && !m_bSilent ) diff --git a/stepmania/src/MenuTimer.h b/stepmania/src/MenuTimer.h index 9a9683ea33..e8d1301b69 100644 --- a/stepmania/src/MenuTimer.h +++ b/stepmania/src/MenuTimer.h @@ -12,7 +12,7 @@ class MenuTimer : public ActorFrame { public: MenuTimer(); - void Load(); + void Load( RString sMetricsGroup ); virtual void Update( float fDeltaTime ); @@ -42,13 +42,16 @@ protected: bool m_bSilent; - BitmapText m_text[NUM_MENU_TIMER_TEXTS]; + BitmapText m_text[NUM_MENU_TIMER_TEXTS]; LuaReference m_exprFormatText[NUM_MENU_TIMER_TEXTS]; RageSound m_soundBeep; - ThemeMetric1D WARNING_COMMAND; + ThemeMetric WARNING_START; + ThemeMetric WARNING_BEEP_START; + ThemeMetric MAX_STALL_SECONDS; + ThemeMetric1D *WARNING_COMMAND; }; #endif diff --git a/stepmania/src/ScreenWithMenuElements.cpp b/stepmania/src/ScreenWithMenuElements.cpp index 586c554363..5f41be0163 100644 --- a/stepmania/src/ScreenWithMenuElements.cpp +++ b/stepmania/src/ScreenWithMenuElements.cpp @@ -31,6 +31,7 @@ void ScreenWithMenuElements::Init() PLAY_MUSIC.Load( m_sName, "PlayMusic" ); CANCEL_TRANSITIONS_OUT.Load( m_sName, "CancelTransitionsOut" ); TIMER_SECONDS.Load( m_sName, "TimerSeconds" ); + TIMER_METRICS_GROUP.Load( m_sName, "TimerMetricsGroup" ); Screen::Init(); @@ -66,7 +67,7 @@ void ScreenWithMenuElements::Init() { ASSERT( m_MenuTimer == NULL ); // don't load twice m_MenuTimer = new MenuTimer; - m_MenuTimer->Load(); + m_MenuTimer->Load( TIMER_METRICS_GROUP.GetValue() ); m_MenuTimer->SetName( "Timer" ); if( TIMER_STEALTH ) m_MenuTimer->EnableStealth( true ); diff --git a/stepmania/src/ScreenWithMenuElements.h b/stepmania/src/ScreenWithMenuElements.h index a615117ad4..60e7a8059d 100644 --- a/stepmania/src/ScreenWithMenuElements.h +++ b/stepmania/src/ScreenWithMenuElements.h @@ -59,6 +59,7 @@ protected: ThemeMetric PLAY_MUSIC; ThemeMetric CANCEL_TRANSITIONS_OUT; ThemeMetric TIMER_SECONDS; + ThemeMetric TIMER_METRICS_GROUP; private: RString m_sPathToMusic; diff --git a/stepmania/src/StepMania-net2003.vcproj b/stepmania/src/StepMania-net2003.vcproj index c9d76d7c0e..6db6f88a14 100644 --- a/stepmania/src/StepMania-net2003.vcproj +++ b/stepmania/src/StepMania-net2003.vcproj @@ -47,7 +47,7 @@ Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386 "$(intdir)\verstub.obj"" AdditionalDependencies="libjpeg/jpeg.lib libpng/lib/libpng.lib" - OutputFile="../Program/StepMania-debug.exe" + OutputFile="../../../cvs/piu/Program/StepMania-debug.exe" LinkIncremental="2" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories=""