add per Screen TimerMetricsGroup

This commit is contained in:
Chris Danford
2008-03-26 06:06:00 +00:00
parent b0f3b21b57
commit 03755922ce
6 changed files with 28 additions and 18 deletions
+1
View File
@@ -2057,6 +2057,7 @@ MemoryCardDisplayP2Y=SCREEN_CENTER_Y+220
MemoryCardDisplayP2OnCommand=draworder,97; MemoryCardDisplayP2OnCommand=draworder,97;
MemoryCardDisplayP2OffCommand= MemoryCardDisplayP2OffCommand=
//MemoryCardDisplayP2OffCommand=bouncebegin,0.5;addx,25; //MemoryCardDisplayP2OffCommand=bouncebegin,0.5;addx,25;
TimerMetricsGroup="MenuTimer"
//TimerX=SCREEN_CENTER_X+270 //TimerX=SCREEN_CENTER_X+270
TimerX=SCREEN_RIGHT-60 TimerX=SCREEN_RIGHT-60
TimerY=SCREEN_TOP-11 TimerY=SCREEN_TOP-11
+17 -13
View File
@@ -11,37 +11,41 @@
RString WARNING_COMMAND_NAME( size_t i ) { return ssprintf("Warning%dCommand",int(i)); } RString WARNING_COMMAND_NAME( size_t i ) { return ssprintf("Warning%dCommand",int(i)); }
static const ThemeMetric<int> WARNING_START ("MenuTimer","WarningStart");
static const ThemeMetric<int> WARNING_BEEP_START ("MenuTimer","WarningBeepStart");
static const ThemeMetric<float> MAX_STALL_SECONDS ("MenuTimer","MaxStallSeconds");
static const float TIMER_PAUSE_SECONDS = 99.99f; static const float TIMER_PAUSE_SECONDS = 99.99f;
MenuTimer::MenuTimer() : MenuTimer::MenuTimer()
WARNING_COMMAND("MenuTimer", WARNING_COMMAND_NAME, WARNING_START+1)
{ {
m_fStallSeconds = 0; m_fStallSeconds = 0;
m_fStallSecondsLeft = MAX_STALL_SECONDS; m_fStallSecondsLeft = 0;
m_bPaused = false; m_bPaused = false;
m_bSilent = false; m_bSilent = false;
WARNING_COMMAND = NULL;
} }
void MenuTimer::Load() void MenuTimer::Load( RString sMetricsGroup )
{ {
for( int i=0; i<NUM_MENU_TIMER_TEXTS; i++ ) for( int i=0; i<NUM_MENU_TIMER_TEXTS; i++ )
{ {
m_text[i].LoadFromFont( THEME->GetPathF("MenuTimer","numbers") ); m_text[i].LoadFromFont( THEME->GetPathF(sMetricsGroup,"numbers") );
m_text[i].SetName( ssprintf("Text%d",i+1) ); 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] ); this->AddChild( &m_text[i] );
} }
m_exprFormatText[0] = THEME->GetMetricR("MenuTimer", "Text1FormatFunction"); m_exprFormatText[0] = THEME->GetMetricR(sMetricsGroup, "Text1FormatFunction");
m_exprFormatText[1] = THEME->GetMetricR("MenuTimer", "Text2FormatFunction"); m_exprFormatText[1] = THEME->GetMetricR(sMetricsGroup, "Text2FormatFunction");
SetSeconds( TIMER_PAUSE_SECONDS ); 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<apActorCommands>(sMetricsGroup, WARNING_COMMAND_NAME, WARNING_START+1);
m_fStallSecondsLeft = MAX_STALL_SECONDS;
} }
void MenuTimer::EnableStealth( bool bStealth ) void MenuTimer::EnableStealth( bool bStealth )
@@ -87,7 +91,7 @@ void MenuTimer::Update( float fDeltaTime )
if( iCrossed <= WARNING_START ) if( iCrossed <= WARNING_START )
{ {
for( int i=0; i<NUM_MENU_TIMER_TEXTS; i++ ) for( int i=0; i<NUM_MENU_TIMER_TEXTS; i++ )
m_text[i].RunCommands( WARNING_COMMAND.GetValue(iCrossed) ); m_text[i].RunCommands( WARNING_COMMAND->GetValue(iCrossed) );
} }
if( iCrossed <= WARNING_BEEP_START && m_soundBeep.IsLoaded() && !m_bSilent ) if( iCrossed <= WARNING_BEEP_START && m_soundBeep.IsLoaded() && !m_bSilent )
+5 -2
View File
@@ -12,7 +12,7 @@ class MenuTimer : public ActorFrame
{ {
public: public:
MenuTimer(); MenuTimer();
void Load(); void Load( RString sMetricsGroup );
virtual void Update( float fDeltaTime ); virtual void Update( float fDeltaTime );
@@ -48,7 +48,10 @@ protected:
RageSound m_soundBeep; RageSound m_soundBeep;
ThemeMetric1D<apActorCommands> WARNING_COMMAND; ThemeMetric<int> WARNING_START;
ThemeMetric<int> WARNING_BEEP_START;
ThemeMetric<float> MAX_STALL_SECONDS;
ThemeMetric1D<apActorCommands> *WARNING_COMMAND;
}; };
#endif #endif
+2 -1
View File
@@ -31,6 +31,7 @@ void ScreenWithMenuElements::Init()
PLAY_MUSIC.Load( m_sName, "PlayMusic" ); PLAY_MUSIC.Load( m_sName, "PlayMusic" );
CANCEL_TRANSITIONS_OUT.Load( m_sName, "CancelTransitionsOut" ); CANCEL_TRANSITIONS_OUT.Load( m_sName, "CancelTransitionsOut" );
TIMER_SECONDS.Load( m_sName, "TimerSeconds" ); TIMER_SECONDS.Load( m_sName, "TimerSeconds" );
TIMER_METRICS_GROUP.Load( m_sName, "TimerMetricsGroup" );
Screen::Init(); Screen::Init();
@@ -66,7 +67,7 @@ void ScreenWithMenuElements::Init()
{ {
ASSERT( m_MenuTimer == NULL ); // don't load twice ASSERT( m_MenuTimer == NULL ); // don't load twice
m_MenuTimer = new MenuTimer; m_MenuTimer = new MenuTimer;
m_MenuTimer->Load(); m_MenuTimer->Load( TIMER_METRICS_GROUP.GetValue() );
m_MenuTimer->SetName( "Timer" ); m_MenuTimer->SetName( "Timer" );
if( TIMER_STEALTH ) if( TIMER_STEALTH )
m_MenuTimer->EnableStealth( true ); m_MenuTimer->EnableStealth( true );
+1
View File
@@ -59,6 +59,7 @@ protected:
ThemeMetric<bool> PLAY_MUSIC; ThemeMetric<bool> PLAY_MUSIC;
ThemeMetric<bool> CANCEL_TRANSITIONS_OUT; ThemeMetric<bool> CANCEL_TRANSITIONS_OUT;
ThemeMetric<float> TIMER_SECONDS; ThemeMetric<float> TIMER_SECONDS;
ThemeMetric<RString> TIMER_METRICS_GROUP;
private: private:
RString m_sPathToMusic; RString m_sPathToMusic;
+1 -1
View File
@@ -47,7 +47,7 @@
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386 &quot;$(intdir)\verstub.obj&quot;" AdditionalOptions="/MACHINE:I386 &quot;$(intdir)\verstub.obj&quot;"
AdditionalDependencies="libjpeg/jpeg.lib libpng/lib/libpng.lib" AdditionalDependencies="libjpeg/jpeg.lib libpng/lib/libpng.lib"
OutputFile="../Program/StepMania-debug.exe" OutputFile="../../../cvs/piu/Program/StepMania-debug.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="" AdditionalLibraryDirectories=""