cache and cleanup metrics
This commit is contained in:
@@ -3270,3 +3270,5 @@ Test InputDefault=
|
|||||||
Test Input,1=screen,ScreenTestInput
|
Test Input,1=screen,ScreenTestInput
|
||||||
Test InputName,1=Test Input
|
Test InputName,1=Test Input
|
||||||
|
|
||||||
|
[FadingBanner]
|
||||||
|
FadeSeconds=0.25
|
||||||
|
|||||||
@@ -22,10 +22,15 @@
|
|||||||
#include "SongManager.h"
|
#include "SongManager.h"
|
||||||
|
|
||||||
/* XXX: metric */
|
/* XXX: metric */
|
||||||
static const float FadeTime = 0.25;
|
CachedThemeMetricF FADE_SECONDS ("FadingBanner","FadeSeconds");
|
||||||
|
CachedThemeMetricF MW_SWITCH_SECONDS ("MusicWheel","SwitchSeconds");
|
||||||
|
|
||||||
|
|
||||||
FadingBanner::FadingBanner()
|
FadingBanner::FadingBanner()
|
||||||
{
|
{
|
||||||
|
FADE_SECONDS.Refresh();
|
||||||
|
MW_SWITCH_SECONDS.Refresh();
|
||||||
|
|
||||||
m_bMovingFast = false;
|
m_bMovingFast = false;
|
||||||
m_iIndexFront = 0;
|
m_iIndexFront = 0;
|
||||||
for( int i=0; i<2; i++ )
|
for( int i=0; i<2; i++ )
|
||||||
@@ -43,11 +48,11 @@ void FadingBanner::Update( float fDeltaTime )
|
|||||||
ActorFrame::Update( fDeltaTime );
|
ActorFrame::Update( fDeltaTime );
|
||||||
|
|
||||||
/* Don't fade to the full banner until we finish fading. */
|
/* Don't fade to the full banner until we finish fading. */
|
||||||
float HighQualTime = FadeTime;
|
float HighQualTime = FADE_SECONDS;
|
||||||
|
|
||||||
/* Hacky: also don't fade until the music wheel has a chance to settle down. */
|
/* Hacky: also don't fade until the music wheel has a chance to settle down. */
|
||||||
HighQualTime = max( HighQualTime, 1.0f / PREFSMAN->m_iMusicWheelSwitchSpeed );
|
HighQualTime = max( HighQualTime, 1.0f / PREFSMAN->m_iMusicWheelSwitchSpeed );
|
||||||
HighQualTime = max( HighQualTime, THEME->GetMetricF("MusicWheel","SwitchSeconds") );
|
HighQualTime = max( HighQualTime, (float)MW_SWITCH_SECONDS );
|
||||||
|
|
||||||
if( m_sPendingBanner == "" || m_PendingTimer.PeekDeltaTime() < HighQualTime )
|
if( m_sPendingBanner == "" || m_PendingTimer.PeekDeltaTime() < HighQualTime )
|
||||||
return;
|
return;
|
||||||
@@ -81,7 +86,7 @@ void FadingBanner::BeforeChange()
|
|||||||
|
|
||||||
m_Banner[m_iIndexFront].SetDiffuse( RageColor(1,1,1,1) );
|
m_Banner[m_iIndexFront].SetDiffuse( RageColor(1,1,1,1) );
|
||||||
m_Banner[m_iIndexFront].StopTweening();
|
m_Banner[m_iIndexFront].StopTweening();
|
||||||
m_Banner[m_iIndexFront].BeginTweening( FadeTime ); // fade out
|
m_Banner[m_iIndexFront].BeginTweening( FADE_SECONDS ); // fade out
|
||||||
m_Banner[m_iIndexFront].SetDiffuse( RageColor(1,1,1,0) );
|
m_Banner[m_iIndexFront].SetDiffuse( RageColor(1,1,1,0) );
|
||||||
|
|
||||||
m_sPendingBanner = "";
|
m_sPendingBanner = "";
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#define FADE_SECONDS THEME->GetMetricF("MusicWheel","FadeSeconds")
|
#define FADE_SECONDS THEME->GetMetricF("MusicWheel","FadeSeconds")
|
||||||
#define SWITCH_SECONDS THEME->GetMetricF("MusicWheel","SwitchSeconds")
|
CachedThemeMetricF SWITCH_SECONDS ("MusicWheel","SwitchSeconds");
|
||||||
#define ROULETTE_SWITCH_SECONDS THEME->GetMetricF("MusicWheel","RouletteSwitchSeconds")
|
#define ROULETTE_SWITCH_SECONDS THEME->GetMetricF("MusicWheel","RouletteSwitchSeconds")
|
||||||
#define ROULETTE_SLOW_DOWN_SWITCHES THEME->GetMetricI("MusicWheel","RouletteSlowDownSwitches")
|
#define ROULETTE_SLOW_DOWN_SWITCHES THEME->GetMetricI("MusicWheel","RouletteSlowDownSwitches")
|
||||||
#define LOCKED_INITIAL_VELOCITY THEME->GetMetricF("MusicWheel","LockedInitialVelocity")
|
#define LOCKED_INITIAL_VELOCITY THEME->GetMetricF("MusicWheel","LockedInitialVelocity")
|
||||||
@@ -85,6 +85,7 @@ MusicWheel::MusicWheel()
|
|||||||
SONGMAN->UpdateRankingCourses();
|
SONGMAN->UpdateRankingCourses();
|
||||||
|
|
||||||
// update theme metric cache
|
// update theme metric cache
|
||||||
|
SWITCH_SECONDS.Refresh();
|
||||||
ITEM_CURVE_X.Refresh();
|
ITEM_CURVE_X.Refresh();
|
||||||
ITEM_SPACING_Y.Refresh();
|
ITEM_SPACING_Y.Refresh();
|
||||||
USE_3D.Refresh();
|
USE_3D.Refresh();
|
||||||
|
|||||||
Reference in New Issue
Block a user