Move miss combo calculations into the ScoreKeeper.

This commit is contained in:
Steve Checkoway
2006-10-01 04:02:28 +00:00
parent 9df54e925c
commit fcbe0609c3
6 changed files with 45 additions and 50 deletions
+16 -3
View File
@@ -350,10 +350,13 @@ void ScoreKeeperNormal::HandleTapScore( const TapNote &tn )
}
}
void ScoreKeeperNormal::HandleTapRowScore( const NoteData &nd, int iRow )
void ScoreKeeperNormal::HandleTapRowScore( const NoteData &nd, int iRow, bool &bComboStopped, bool &bMissComboStopped )
{
TapNoteScore scoreOfLastTap;
int iNumTapsInRow;
bComboStopped = false;
bMissComboStopped = false;
GetScoreOfLastTapInRow( nd, iRow, scoreOfLastTap, iNumTapsInRow );
if( iNumTapsInRow <= 0 )
@@ -373,10 +376,20 @@ void ScoreKeeperNormal::HandleTapRowScore( const NoteData &nd, int iRow )
// Regular combo
//
const int iComboCountIfHit = m_bComboIsPerRow? 1: iNumTapsInRow;
if( scoreOfLastTap >= m_MinScoreToContinueCombo )
m_pPlayerStageStats->iCurCombo += iComboCountIfHit;
if( scoreOfLastTap >= m_MinScoreToMaintainCombo )
{
bMissComboStopped = true;
m_pPlayerStageStats->iCurMissCombo = 0;
if( scoreOfLastTap >= m_MinScoreToContinueCombo )
m_pPlayerStageStats->iCurCombo += iComboCountIfHit;
}
else if( scoreOfLastTap < m_MinScoreToMaintainCombo )
{
bComboStopped = true;
m_pPlayerStageStats->iCurCombo = 0;
if( scoreOfLastTap == TNS_Miss )
++m_pPlayerStageStats->iCurMissCombo;
}
AddScore( scoreOfLastTap ); // only score once per row