add per Screen TimerMetricsGroup
This commit is contained in:
@@ -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
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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=""
|
||||
|
||||
Reference in New Issue
Block a user