Moved even more constants into theme metrics

This commit is contained in:
Chris Danford
2002-08-29 01:38:21 +00:00
parent fdd2cf304a
commit 5fb403639f
14 changed files with 242 additions and 485 deletions
+49 -24
View File
@@ -15,26 +15,48 @@
#include "PrefsManager.h"
#define POP_UP_SECONDS THEME->GetMetricF("GhostArrowBright","PopUpSeconds")
#define SHOW_SECONDS THEME->GetMetricF("GhostArrowBright","ShowSeconds")
#define ZOOM_START THEME->GetMetricF("GhostArrowBright","ZoomStart")
#define ZOOM_END THEME->GetMetricF("GhostArrowBright","ZoomEnd")
#define COLOR_PERFECT THEME->GetMetricC("GhostArrowBright","ColorPerfect")
#define COLOR_GREAT THEME->GetMetricC("GhostArrowBright","ColorGreat")
#define COLOR_GOOD THEME->GetMetricC("GhostArrowBright","ColorGood")
#define COLOR_BOO THEME->GetMetricC("GhostArrowBright","ColorBoo")
#define COLOR_PERFECT_START THEME->GetMetricC("GhostArrowBright","ColorPerfectStart")
#define COLOR_PERFECT_END THEME->GetMetricC("GhostArrowBright","ColorPerfectEnd")
#define COLOR_GREAT_START THEME->GetMetricC("GhostArrowBright","ColorGreatStart")
#define COLOR_GREAT_END THEME->GetMetricC("GhostArrowBright","ColorGreatEnd")
#define COLOR_GOOD_START THEME->GetMetricC("GhostArrowBright","ColorGoodStart")
#define COLOR_GOOD_END THEME->GetMetricC("GhostArrowBright","ColorGoodEnd")
#define COLOR_BOO_START THEME->GetMetricC("GhostArrowBright","ColorBooStart")
#define COLOR_BOO_END THEME->GetMetricC("GhostArrowBright","ColorBooEnd")
// "2" appended so the names won't conflict with the GhostArrow
float g_fShowSeconds2;
float g_fZoomStart2, g_fZoomEnd2;
D3DXCOLOR
g_colorPerfectStart2, g_colorPerfectEnd2,
g_colorGreatStart2, g_colorGreatEnd2,
g_colorGoodStart2, g_colorGoodEnd2,
g_colorBooStart2, g_colorBooEnd2;
GhostArrowBright::GhostArrowBright()
{
m_fPopUpSeconds = POP_UP_SECONDS;
m_fZoomStart = ZOOM_START;
m_fZoomEnd = ZOOM_END;
m_colorPerfect = COLOR_PERFECT;
m_colorGreat = COLOR_GREAT;
m_colorGood = COLOR_GOOD;
m_colorBoo = COLOR_BOO;
g_fShowSeconds2 = SHOW_SECONDS;
g_fZoomStart2 = ZOOM_START;
g_fZoomEnd2 = ZOOM_END;
g_colorPerfectStart2= COLOR_PERFECT_START;
g_colorPerfectEnd2 = COLOR_PERFECT_END;
g_colorGreatStart2 = COLOR_GREAT_START;
g_colorGreatEnd2 = COLOR_GREAT_END;
g_colorGoodStart2 = COLOR_GOOD_START;
g_colorGoodEnd2 = COLOR_GOOD_END;
g_colorBooStart2 = COLOR_BOO_START;
g_colorBooEnd2 = COLOR_BOO_END;
SetDiffuseColor( D3DXCOLOR(1,1,1,0) );
TurnShadowOff();
// set the length of each frame so the animation plays in exactly 1 pop up time
for( int i=0; i<Sprite::GetNumStates(); i++ )
Sprite::m_fDelay[i] = g_fShowSeconds2 / (float)Sprite::GetNumStates();
}
void GhostArrowBright::Update( float fDeltaTime )
@@ -44,24 +66,27 @@ void GhostArrowBright::Update( float fDeltaTime )
void GhostArrowBright::Step( TapNoteScore score )
{
D3DXCOLOR color;
D3DXCOLOR colorStart, colorEnd;
switch( score )
{
case TNS_PERFECT: color = m_colorPerfect; break;
case TNS_GREAT: color = m_colorGreat; break;
case TNS_GOOD: color = m_colorGood; break;
case TNS_BOO: color = m_colorBoo; break;
case TNS_PERFECT: colorStart = g_colorPerfectStart2; colorEnd = g_colorPerfectEnd2; break;
case TNS_GREAT: colorStart = g_colorGreatStart2; colorEnd = g_colorGreatEnd2; break;
case TNS_GOOD: colorStart = g_colorGoodStart2; colorEnd = g_colorGoodEnd2; break;
case TNS_BOO: colorStart = g_colorBooStart2; colorEnd = g_colorBooEnd2; break;
case TNS_MISS: // miss should never be passed in here
default:
ASSERT(0);
}
StopTweening();
SetDiffuseColor( color );
SetDiffuseColor( colorStart );
SetState( 0 );
SetZoom( m_fZoomStart );
BeginTweening( m_fPopUpSeconds );
SetTweenZoom( m_fZoomEnd );
color.a = 0;
SetTweenDiffuseColor( color );
SetZoom( g_fZoomStart2 );
BeginTweeningQueued( g_fShowSeconds2 );
SetTweenZoom( g_fZoomEnd2 );
SetTweenDiffuseColor( colorEnd );
BeginTweeningQueued( 0.0001f ); // snap to invisible
SetTweenDiffuseColor( D3DXCOLOR(1,1,1,0) );
}