cleanup BrightnessOverlay

fix unneeded brightness tween on gameplay start
This commit is contained in:
Glenn Maynard
2004-04-19 20:28:10 +00:00
parent 3ecb9a168f
commit c35aa5c853
3 changed files with 36 additions and 29 deletions
+20 -22
View File
@@ -39,7 +39,7 @@ const float FADE_SECONDS = 1.0f;
#define BOTTOM_EDGE THEME->GetMetricF("Background","BottomEdge")
CachedThemeMetricB BLINK_DANGER_ALL("Background","BlinkDangerAll");
CachedThemeMetricB DANGER_ALL_IS_OPAQUE("Background","DangerAllIsOpaque");
#define BRIGHTNESS_FADE_COMMAND THEME->GetMetric("Background","BrightnessFadeCommand")
#define RECT_BACKGROUND RectF(LEFT_EDGE,TOP_EDGE,RIGHT_EDGE,BOTTOM_EDGE)
static float g_fBackgroundCenterWidth = 40;
@@ -82,6 +82,20 @@ Background::Background()
else
m_pDancingCharacters = NULL;
m_quadBorder[0].StretchTo( RectF(SCREEN_LEFT,SCREEN_TOP,LEFT_EDGE,SCREEN_BOTTOM) );
m_quadBorder[0].SetDiffuse( RageColor(0,0,0,1) );
m_quadBorder[1].StretchTo( RectF(LEFT_EDGE,SCREEN_TOP,RIGHT_EDGE,TOP_EDGE) );
m_quadBorder[1].SetDiffuse( RageColor(0,0,0,1) );
m_quadBorder[2].StretchTo( RectF(RIGHT_EDGE,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM) );
m_quadBorder[2].SetDiffuse( RageColor(0,0,0,1) );
m_quadBorder[3].StretchTo( RectF(LEFT_EDGE,BOTTOM_EDGE,RIGHT_EDGE,SCREEN_BOTTOM) );
m_quadBorder[3].SetDiffuse( RageColor(0,0,0,1) );
this->AddChild( &m_quadBorder[0] );
this->AddChild( &m_quadBorder[1] );
this->AddChild( &m_quadBorder[2] );
this->AddChild( &m_quadBorder[3] );
this->AddChild( &m_Brightness );
}
@@ -639,25 +653,11 @@ BrightnessOverlay::BrightnessOverlay()
m_quadBGBrightnessFade.StretchTo( RectF(LEFT_EDGE+fQuadWidth,TOP_EDGE,RIGHT_EDGE-fQuadWidth,BOTTOM_EDGE) );
m_quadBGBrightness[1].StretchTo( RectF(RIGHT_EDGE-fQuadWidth,TOP_EDGE,RIGHT_EDGE,BOTTOM_EDGE) );
m_quadBorder[0].StretchTo( RectF(SCREEN_LEFT,SCREEN_TOP,LEFT_EDGE,SCREEN_BOTTOM) );
m_quadBorder[0].SetDiffuse( RageColor(0,0,0,1) );
m_quadBorder[1].StretchTo( RectF(LEFT_EDGE,SCREEN_TOP,RIGHT_EDGE,TOP_EDGE) );
m_quadBorder[1].SetDiffuse( RageColor(0,0,0,1) );
m_quadBorder[2].StretchTo( RectF(RIGHT_EDGE,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM) );
m_quadBorder[2].SetDiffuse( RageColor(0,0,0,1) );
m_quadBorder[3].StretchTo( RectF(LEFT_EDGE,BOTTOM_EDGE,RIGHT_EDGE,SCREEN_BOTTOM) );
m_quadBorder[3].SetDiffuse( RageColor(0,0,0,1) );
this->AddChild( &m_quadBGBrightness[0] );
this->AddChild( &m_quadBGBrightness[1] );
this->AddChild( &m_quadBGBrightnessFade );
this->AddChild( &m_quadBorder[0] );
this->AddChild( &m_quadBorder[1] );
this->AddChild( &m_quadBorder[2] );
this->AddChild( &m_quadBorder[3] );
SetBackgrounds();
SetActualBrightness();
}
void BrightnessOverlay::Update( float fDeltaTime )
@@ -666,10 +666,10 @@ void BrightnessOverlay::Update( float fDeltaTime )
/* If we're actually playing, then we're past fades, etc; update the background
* brightness to follow Cover. */
if( GAMESTATE->m_bPastHereWeGo )
SetBackgrounds();
SetActualBrightness();
}
void BrightnessOverlay::SetBackgrounds()
void BrightnessOverlay::SetActualBrightness()
{
float fLeftBrightness = 1-GAMESTATE->m_PlayerOptions[PLAYER_1].m_fCover;
float fRightBrightness = 1-GAMESTATE->m_PlayerOptions[PLAYER_2].m_fCover;
@@ -700,8 +700,6 @@ void BrightnessOverlay::Set( float fBrightness )
void BrightnessOverlay::FadeToActualBrightness()
{
FOREACH_PlayerNumber(pn)
m_quadBGBrightness[pn].BeginTweening( 0.5f );
m_quadBGBrightnessFade.BeginTweening( 0.5f );
SetBackgrounds();
this->RunCommandOnChildren( BRIGHTNESS_FADE_COMMAND );
SetActualBrightness();
}
+6 -5
View File
@@ -22,17 +22,17 @@ class DancingCharacters;
class BrightnessOverlay: public ActorFrame
{
Quad m_quadBGBrightness[NUM_PLAYERS];
Quad m_quadBGBrightnessFade;
Quad m_quadBorder[4]; // l, t, r, b - cover up the edge of animations that might hang outside of the background rectangle
void SetBackgrounds();
public:
BrightnessOverlay();
void Update( float fDeltaTime );
void FadeToActualBrightness();
void SetActualBrightness();
void Set( float fBrightness );
private:
Quad m_quadBGBrightness[NUM_PLAYERS];
Quad m_quadBGBrightnessFade;
};
class Background : public ActorFrame
@@ -81,6 +81,7 @@ protected:
BGAnimation* m_pFadingBGA;
float m_fSecsLeftInFade;
float m_fLastMusicSeconds;
Quad m_quadBorder[4]; // l, t, r, b - cover up the edge of animations that might hang outside of the background rectangle
BrightnessOverlay m_Brightness;
};
+10 -2
View File
@@ -1027,7 +1027,16 @@ void ScreenGameplay::LoadNextSong()
{
/* BeginnerHelper disabled/failed to load. */
m_Background.LoadFromSong( GAMESTATE->m_pCurSong );
m_Background.SetBrightness( INITIAL_BACKGROUND_BRIGHTNESS(GAMESTATE->m_PlayMode) );
if( !m_bDemonstration )
{
/* This will fade from a preset brightness to the actual brightness (based
* on prefs and "cover"). The preset brightness may be 0 (to fade from
* black), or it might be 1, if the stage screen has the song BG and we're
* coming from it (like Pump). This used to be done in SM_PlayReady, but
* that means it's impossible to snap to the new brightness immediately. */
m_Background.SetBrightness( INITIAL_BACKGROUND_BRIGHTNESS(GAMESTATE->m_PlayMode) );
m_Background.FadeToActualBrightness();
}
}
m_Foreground.LoadFromSong( GAMESTATE->m_pCurSong );
@@ -1900,7 +1909,6 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
switch( SM )
{
case SM_PlayReady:
m_Background.FadeToActualBrightness();
SOUND->PlayOnceFromAnnouncer( "gameplay ready" );
m_Ready.StartTransitioning( SM_PlayGo );
break;