diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index bd226dd963..312a2c66ab 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -698,9 +698,9 @@ void Player::HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore ) return; if(m_pPrimaryScoreKeeper) - m_pPrimaryScoreKeeper->HandleHoldScore(holdScore, tapScore); + m_pPrimaryScoreKeeper->HandleHoldScore(holdScore, tapScore, m_pLifeMeter->FailedEarlier()); if(m_pSecondaryScoreKeeper) - m_pSecondaryScoreKeeper->HandleHoldScore(holdScore, tapScore); + m_pSecondaryScoreKeeper->HandleHoldScore(holdScore, tapScore, m_pLifeMeter->FailedEarlier()); if (m_pScore) m_pScore->SetScore(GAMESTATE->m_CurStageStats.iScore[m_PlayerNumber]); diff --git a/stepmania/src/ScoreKeeper.h b/stepmania/src/ScoreKeeper.h index 45e012c8af..f03315faf5 100644 --- a/stepmania/src/ScoreKeeper.h +++ b/stepmania/src/ScoreKeeper.h @@ -45,7 +45,7 @@ public: virtual void OnNextSong( int iSongInCourseIndex, Notes* pNotes ) = 0; // before a song plays (called multiple times if course) virtual void HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTapsInRow, bool failed) = 0; - virtual void HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore ) = 0; + virtual void HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore, bool failed ) = 0; virtual int TapNoteScoreToDancePoints( TapNoteScore tns ) = 0; virtual int HoldNoteScoreToDancePoints( HoldNoteScore hns ) = 0; diff --git a/stepmania/src/ScoreKeeperMAX2.cpp b/stepmania/src/ScoreKeeperMAX2.cpp index 8135e7164f..51f77e77c5 100644 --- a/stepmania/src/ScoreKeeperMAX2.cpp +++ b/stepmania/src/ScoreKeeperMAX2.cpp @@ -392,14 +392,14 @@ void ScoreKeeperMAX2::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTa } -void ScoreKeeperMAX2::HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore ) +void ScoreKeeperMAX2::HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore, bool failed) { // update dance points totals GAMESTATE->m_CurStageStats.iHoldNoteScores[m_PlayerNumber][holdScore] ++; GAMESTATE->m_CurStageStats.iActualDancePoints[m_PlayerNumber] += HoldNoteScoreToDancePoints( holdScore ); if( holdScore == HNS_OK ) - AddScore( TNS_MARVELOUS , false); + AddScore( TNS_MARVELOUS , failed); } diff --git a/stepmania/src/ScoreKeeperMAX2.h b/stepmania/src/ScoreKeeperMAX2.h index e6d3b3c65c..b962d1b6c2 100644 --- a/stepmania/src/ScoreKeeperMAX2.h +++ b/stepmania/src/ScoreKeeperMAX2.h @@ -38,7 +38,7 @@ public: void OnNextSong( int iSongInCourseIndex, Notes* pNotes ); // before a song plays (called multiple times if course) void HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTapsInRow, bool failed ); - void HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore ); + void HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore, bool failed ); int TapNoteScoreToDancePoints( TapNoteScore tns ); int HoldNoteScoreToDancePoints( HoldNoteScore hns ); diff --git a/stepmania/src/ScoreKeeperRave.cpp b/stepmania/src/ScoreKeeperRave.cpp index 6c44e640b7..5c4147a0c5 100644 --- a/stepmania/src/ScoreKeeperRave.cpp +++ b/stepmania/src/ScoreKeeperRave.cpp @@ -65,7 +65,7 @@ void ScoreKeeperRave::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTa } } -void ScoreKeeperRave::HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore ) +void ScoreKeeperRave::HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore, bool failed ) { } diff --git a/stepmania/src/ScoreKeeperRave.h b/stepmania/src/ScoreKeeperRave.h index c44efc294b..3395641e5f 100644 --- a/stepmania/src/ScoreKeeperRave.h +++ b/stepmania/src/ScoreKeeperRave.h @@ -24,7 +24,7 @@ public: virtual void Update( float fDelta ); virtual void OnNextSong( int iSongInCourseIndex, Notes* pNotes ); // before a song plays (called multiple times if course) virtual void HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTapsInRow, bool failed); - virtual void HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore ); + virtual void HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore, bool failed ); virtual int TapNoteScoreToDancePoints( TapNoteScore tns ) { return 0; }; virtual int HoldNoteScoreToDancePoints( HoldNoteScore hns ) { return 0; }; virtual int GetPossibleDancePoints( const NoteData* pNoteData ) { return 0; };