more course fixes, tweaked ghost arrow flashes
This commit is contained in:
@@ -16,47 +16,26 @@
|
||||
#include "ThemeManager.h"
|
||||
|
||||
|
||||
#define SHOW_SECONDS THEME->GetMetricF("GhostArrowBright","ShowSeconds")
|
||||
#define ZOOM_START THEME->GetMetricF("GhostArrowBright","ZoomStart")
|
||||
#define ZOOM_END THEME->GetMetricF("GhostArrowBright","ZoomEnd")
|
||||
#define COLOR_MARVELOUS_START THEME->GetMetricC("GhostArrowBright","ColorMarvelousStart")
|
||||
#define COLOR_MARVELOUS_END THEME->GetMetricC("GhostArrowBright","ColorMarvelousEnd")
|
||||
#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;
|
||||
RageColor
|
||||
g_colorMarvelousStart2, g_colorMarvelousEnd2,
|
||||
g_colorPerfectStart2, g_colorPerfectEnd2,
|
||||
g_colorGreatStart2, g_colorGreatEnd2,
|
||||
g_colorGoodStart2, g_colorGoodEnd2,
|
||||
g_colorBooStart2, g_colorBooEnd2;
|
||||
CachedThemeMetric GAB_SHOW_SECONDS ("GhostArrowBright","ShowSeconds");
|
||||
CachedThemeMetric GAB_ZOOM_START ("GhostArrowBright","ZoomStart");
|
||||
CachedThemeMetric GAB_ZOOM_END ("GhostArrowBright","ZoomEnd");
|
||||
CachedThemeMetric GAB_COLOR_MARVELOUS ("GhostArrowBright","ColorMarvelous");
|
||||
CachedThemeMetric GAB_COLOR_PERFECT ("GhostArrowBright","ColorPerfect");
|
||||
CachedThemeMetric GAB_COLOR_GREAT ("GhostArrowBright","ColorGreat");
|
||||
CachedThemeMetric GAB_COLOR_GOOD ("GhostArrowBright","ColorGood");
|
||||
CachedThemeMetric GAB_COLOR_BOO ("GhostArrowBright","ColorBoo");
|
||||
|
||||
|
||||
GhostArrowBright::GhostArrowBright()
|
||||
{
|
||||
g_fShowSeconds2 = SHOW_SECONDS;
|
||||
g_fZoomStart2 = ZOOM_START;
|
||||
g_fZoomEnd2 = ZOOM_END;
|
||||
g_colorMarvelousStart2 = COLOR_MARVELOUS_START;
|
||||
g_colorMarvelousEnd2 = COLOR_MARVELOUS_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;
|
||||
|
||||
GAB_SHOW_SECONDS.Refresh();
|
||||
GAB_ZOOM_START.Refresh();
|
||||
GAB_ZOOM_END.Refresh();
|
||||
GAB_COLOR_MARVELOUS.Refresh();
|
||||
GAB_COLOR_PERFECT.Refresh();
|
||||
GAB_COLOR_GREAT.Refresh();
|
||||
GAB_COLOR_GOOD.Refresh();
|
||||
GAB_COLOR_BOO.Refresh();
|
||||
|
||||
SetDiffuse( RageColor(1,1,1,0) );
|
||||
}
|
||||
@@ -71,30 +50,31 @@ void GhostArrowBright::Step( TapNoteScore score )
|
||||
// HACK: set the length of each frame so the animation plays in exactly 1 pop up time.
|
||||
// We can't do this in the constructor because the image hasn't been loaded yet
|
||||
for( int i=0; i<Sprite::GetNumStates(); i++ )
|
||||
Sprite::m_fDelay[i] = g_fShowSeconds2 / (float)Sprite::GetNumStates();
|
||||
Sprite::m_fDelay[i] = (float)GAB_SHOW_SECONDS / (float)Sprite::GetNumStates();
|
||||
|
||||
RageColor colorStart, colorEnd;
|
||||
RageColor colorStart;
|
||||
switch( score )
|
||||
{
|
||||
case TNS_MARVELOUS: colorStart = g_colorMarvelousStart2;colorEnd = g_colorMarvelousEnd2; 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_MARVELOUS: colorStart = GAB_COLOR_MARVELOUS; break;
|
||||
case TNS_PERFECT: colorStart = GAB_COLOR_PERFECT; break;
|
||||
case TNS_GREAT: colorStart = GAB_COLOR_GREAT; break;
|
||||
case TNS_GOOD: colorStart = GAB_COLOR_GOOD; break;
|
||||
case TNS_BOO: colorStart = GAB_COLOR_BOO; break;
|
||||
case TNS_MISS: // miss should never be passed in here
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
RageColor colorEnd = colorStart;
|
||||
colorEnd.a = 0;
|
||||
|
||||
StopTweening();
|
||||
SetDiffuse( colorStart );
|
||||
SetState( 0 );
|
||||
SetZoom( g_fZoomStart2 );
|
||||
SetZoom( GAB_ZOOM_START );
|
||||
|
||||
BeginTweening( g_fShowSeconds2 );
|
||||
SetTweenZoom( g_fZoomEnd2 );
|
||||
BeginTweening( (float)GAB_SHOW_SECONDS/2 );
|
||||
SetTweenZoom( ((float)GAB_ZOOM_START+(float)GAB_ZOOM_END)/2 );
|
||||
BeginTweening( (float)GAB_SHOW_SECONDS/2 );
|
||||
SetTweenZoom( GAB_ZOOM_END );
|
||||
SetTweenDiffuse( colorEnd );
|
||||
|
||||
BeginTweening( 0.0001f ); // snap to invisible
|
||||
SetTweenDiffuse( RageColor(1,1,1,0) );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user