show early/late in judgment
larger boo window when playing beginner
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user