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;
MemoryCardDisplayP2OffCommand=
//MemoryCardDisplayP2OffCommand=bouncebegin,0.5;addx,25;
TimerMetricsGroup="MenuTimer"
//TimerX=SCREEN_CENTER_X+270
TimerX=SCREEN_RIGHT-60
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)); }
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;
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; 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) );
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<apActorCommands>(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; 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 )
+6 -3
View File
@@ -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<apActorCommands> WARNING_COMMAND;
ThemeMetric<int> WARNING_START;
ThemeMetric<int> WARNING_BEEP_START;
ThemeMetric<float> MAX_STALL_SECONDS;
ThemeMetric1D<apActorCommands> *WARNING_COMMAND;
};
#endif
+2 -1
View File
@@ -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 );
+1
View File
@@ -59,6 +59,7 @@ protected:
ThemeMetric<bool> PLAY_MUSIC;
ThemeMetric<bool> CANCEL_TRANSITIONS_OUT;
ThemeMetric<float> TIMER_SECONDS;
ThemeMetric<RString> TIMER_METRICS_GROUP;
private:
RString m_sPathToMusic;
+1 -1
View File
@@ -47,7 +47,7 @@
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386 &quot;$(intdir)\verstub.obj&quot;"
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=""