show early/late in judgment

larger boo window when playing beginner
This commit is contained in:
Chris Danford
2005-04-28 00:13:01 +00:00
parent 395d6488a8
commit b33f16d9b7
9 changed files with 69 additions and 35 deletions
+15 -8
View File
@@ -32,8 +32,12 @@ static ThemeMetric<apActorCommands> MISS_EVEN_COMMAND ("Judgment","MissEvenComm
Judgment::Judgment()
{
m_iCount = 0;
}
m_sprJudgment.Load( THEME->GetPathG("Judgment","label 1x6") );
void Judgment::Load( bool bBeginner )
{
m_sprJudgment.Load( THEME->GetPathG("Judgment",bBeginner?"BeginnerLabel":"label") );
ASSERT( m_sprJudgment.GetNumStates() == 6 || m_sprJudgment.GetNumStates() == 12 );
m_sprJudgment.StopAnimating();
Reset();
this->AddChild( &m_sprJudgment );
@@ -48,7 +52,7 @@ void Judgment::Reset()
m_sprJudgment.SetHidden( true );
}
void Judgment::SetJudgment( TapNoteScore score )
void Judgment::SetJudgment( TapNoteScore score, bool bEarly )
{
//LOG->Trace( "Judgment::SetJudgment()" );
@@ -56,35 +60,38 @@ void Judgment::SetJudgment( TapNoteScore score )
m_sprJudgment.SetHidden( false );
int iStateMult = (m_sprJudgment.GetNumStates()==12) ? 2 : 0;
int iStateAdd = bEarly ? 0 : 1;
switch( score )
{
case TNS_MARVELOUS:
m_sprJudgment.SetState( 0 );
m_sprJudgment.SetState( 0 * iStateMult + iStateAdd );
m_sprJudgment.RunCommands( (m_iCount%2) ? MARVELOUS_ODD_COMMAND : MARVELOUS_EVEN_COMMAND );
m_sprJudgment.RunCommands( MARVELOUS_COMMAND );
break;
case TNS_PERFECT:
m_sprJudgment.SetState( 1 );
m_sprJudgment.SetState( 1 * iStateMult + iStateAdd );
m_sprJudgment.RunCommands( (m_iCount%2) ? PERFECT_ODD_COMMAND : PERFECT_EVEN_COMMAND );
m_sprJudgment.RunCommands( PERFECT_COMMAND );
break;
case TNS_GREAT:
m_sprJudgment.SetState( 2 );
m_sprJudgment.SetState( 2 * iStateMult + iStateAdd );
m_sprJudgment.RunCommands( (m_iCount%2) ? GREAT_ODD_COMMAND : GREAT_EVEN_COMMAND );
m_sprJudgment.RunCommands( GREAT_COMMAND );
break;
case TNS_GOOD:
m_sprJudgment.SetState( 3 );
m_sprJudgment.SetState( 3 * iStateMult + iStateAdd );
m_sprJudgment.RunCommands( (m_iCount%2) ? GOOD_ODD_COMMAND : GOOD_EVEN_COMMAND );
m_sprJudgment.RunCommands( GOOD_COMMAND );
break;
case TNS_BOO:
m_sprJudgment.SetState( 4 );
m_sprJudgment.SetState( 4 * iStateMult + iStateAdd );
m_sprJudgment.RunCommands( (m_iCount%2) ? BOO_ODD_COMMAND : BOO_EVEN_COMMAND );
m_sprJudgment.RunCommands( BOO_COMMAND );
break;
case TNS_MISS:
m_sprJudgment.SetState( 5 );
m_sprJudgment.SetState( 5 * iStateMult + iStateAdd );
m_sprJudgment.RunCommands( (m_iCount%2) ? MISS_ODD_COMMAND : MISS_EVEN_COMMAND );
m_sprJudgment.RunCommands( MISS_COMMAND );
break;