diff --git a/stepmania/src/ScoreKeeper5th.cpp b/stepmania/src/ScoreKeeper5th.cpp index 580687a3b7..7b38446e2d 100644 --- a/stepmania/src/ScoreKeeper5th.cpp +++ b/stepmania/src/ScoreKeeper5th.cpp @@ -73,6 +73,7 @@ ScoreKeeper5th::ScoreKeeper5th( const vector& apNotes_, const CStringArr m_iScore = 0; + m_iScoreRemainder = 0; m_iCurToastyCombo = 0; m_iMaxScoreSoFar = 0; m_iPointBonus = 0; @@ -261,6 +262,11 @@ void ScoreKeeper5th::AddScore( TapNoteScore score ) } } + // handle round-to-nearest-5 bit + m_iScore += m_iScoreRemainder; + m_iScoreRemainder = (m_iScore % 5); + m_iScore = m_iScore - m_iScoreRemainder; + ASSERT(m_iScore >= 0); printf( "score: %i\n", m_iScore ); @@ -379,7 +385,8 @@ void ScoreKeeper5th::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTap case TNS_MARVELOUS: case TNS_PERFECT: case TNS_GREAT: - iCurCombo += iNumTapsInRow; +// iCurCombo += iNumTapsInRow; + iCurCombo++; break; } break; diff --git a/stepmania/src/ScoreKeeper5th.h b/stepmania/src/ScoreKeeper5th.h index 46ef3e41aa..8ec9e8594a 100644 --- a/stepmania/src/ScoreKeeper5th.h +++ b/stepmania/src/ScoreKeeper5th.h @@ -19,6 +19,8 @@ class Steps; class ScoreKeeper5th: public ScoreKeeper { int m_iScore; + int m_iScoreRemainder; // used to round score to nearest 5 points + int m_iMaxPossiblePoints; int m_iTapNotesHit; // number of notes judged so far, needed by scoring