From 910047ac312ba95a53d21f763ef32636de3e9c8c Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sat, 7 Apr 2007 00:20:36 +0000 Subject: [PATCH] cleanup make checkpoint max combo work --- stepmania/src/Player.cpp | 59 ++++++++++++++++++++++------------------ stepmania/src/Player.h | 1 + 2 files changed, 34 insertions(+), 26 deletions(-) diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index 1303ed3b5b..d1f971a847 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -2316,32 +2316,7 @@ void Player::CrossedRows( int iFirstRowCrossed, int iLastRowCrossed, const RageT if( !viColsWithHold.empty() ) { - // increment combo - const int iOldCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurCombo : 0; - const int iOldMissCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurMissCombo : 0; - - if( m_pPrimaryScoreKeeper ) - m_pPrimaryScoreKeeper->HandleHoldCheckpointScore( m_NoteData, r, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow ); - if( m_pSecondaryScoreKeeper ) - m_pSecondaryScoreKeeper->HandleHoldCheckpointScore( m_NoteData, r, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow ); - - ChangeLife( iNumHoldsMissedThisRow == 0? TNS_CheckpointHit:TNS_CheckpointMiss ); - - if( iNumHoldsMissedThisRow == 0 ) - { - FOREACH( int, viColsWithHold, i ) - { - bool bBright = m_pPlayerStageStats && m_pPlayerStageStats->m_iCurCombo>(int)BRIGHT_GHOST_COMBO_THRESHOLD; - if( m_pNoteField ) - m_pNoteField->DidHoldNote( *i, HNS_Held, bBright ); - } - } - - SendComboMessages( iOldCombo, iOldMissCombo ); - if( m_pPlayerStageStats ) - { - SetCombo( m_pPlayerStageStats->m_iCurCombo, m_pPlayerStageStats->m_iCurMissCombo ); - } + HandleHoldCheckpoint( r, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow, viColsWithHold ); } } } @@ -2511,6 +2486,38 @@ void Player::HandleTapRowScore( unsigned row ) ChangeLife( scoreOfLastTap ); } +void Player::HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumHoldsMissedThisRow, const vector &viColsWithHold ) +{ + const int iOldCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurCombo : 0; + const int iOldMissCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurMissCombo : 0; + + if( m_pPrimaryScoreKeeper ) + m_pPrimaryScoreKeeper->HandleHoldCheckpointScore( m_NoteData, iRow, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow ); + if( m_pSecondaryScoreKeeper ) + m_pSecondaryScoreKeeper->HandleHoldCheckpointScore( m_NoteData, iRow, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow ); + + if( iNumHoldsMissedThisRow == 0 ) + { + FOREACH_CONST( int, viColsWithHold, i ) + { + bool bBright = m_pPlayerStageStats && m_pPlayerStageStats->m_iCurCombo>(int)BRIGHT_GHOST_COMBO_THRESHOLD; + if( m_pNoteField ) + m_pNoteField->DidHoldNote( *i, HNS_Held, bBright ); + } + } + + SendComboMessages( iOldCombo, iOldMissCombo ); + + if( m_pPlayerStageStats ) + { + SetCombo( m_pPlayerStageStats->m_iCurCombo, m_pPlayerStageStats->m_iCurMissCombo ); + } + + if( m_pPlayerStageStats ) + m_pPlayerStageStats->UpdateComboList( STATSMAN->m_CurStageStats.m_fStepsSeconds, false ); + + ChangeLife( iNumHoldsMissedThisRow == 0? TNS_CheckpointHit:TNS_CheckpointMiss ); +} void Player::HandleHoldScore( const TapNote &tn ) { diff --git a/stepmania/src/Player.h b/stepmania/src/Player.h index 86aad2cda7..aeb0e3acf7 100644 --- a/stepmania/src/Player.h +++ b/stepmania/src/Player.h @@ -113,6 +113,7 @@ protected: void FlashGhostRow( int iRow, PlayerNumber pn ); void HandleTapRowScore( unsigned row ); void HandleHoldScore( const TapNote &tn ); + void HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumHoldsMissedThisRow, const vector &viColsWithHold ); void DrawTapJudgments(); void DrawHoldJudgments(); void SendComboMessages( int iOldCombo, int iOldMissCombo );