allow rolls to increment the combo
REQUIRE_STEP_ON_HOLD_HEADS affects rolls
This commit is contained in:
@@ -1454,10 +1454,14 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
|
|||||||
|
|
||||||
// if they got a bad score or haven't stepped on the corresponding tap yet
|
// if they got a bad score or haven't stepped on the corresponding tap yet
|
||||||
const TapNoteScore tns = tn.result.tns;
|
const TapNoteScore tns = tn.result.tns;
|
||||||
const bool bSteppedOnTapNote = tns != TNS_None && tns != TNS_Miss; // did they step on the start of this roll?
|
bool bInitiatedNote = true;
|
||||||
|
if( REQUIRE_STEP_ON_HOLD_HEADS )
|
||||||
|
bInitiatedNote = tns != TNS_None && tns != TNS_Miss; // did they step on the start?
|
||||||
|
else
|
||||||
|
bInitiatedNote = true;
|
||||||
const int iEndRow = iRow + tn.iDuration;
|
const int iEndRow = iRow + tn.iDuration;
|
||||||
|
|
||||||
if( bSteppedOnTapNote && tn.HoldResult.fLife != 0 )
|
if( bInitiatedNote && tn.HoldResult.fLife != 0 )
|
||||||
{
|
{
|
||||||
/* This hold note is not judged and we stepped on its head. Update iLastHeldRow.
|
/* This hold note is not judged and we stepped on its head. Update iLastHeldRow.
|
||||||
* Do this even if we're a little beyond the end of the hold note, to make sure
|
* Do this even if we're a little beyond the end of the hold note, to make sure
|
||||||
@@ -1474,11 +1478,25 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
|
|||||||
// this is handled in Update
|
// this is handled in Update
|
||||||
break;
|
break;
|
||||||
case TapNote::hold_head_roll:
|
case TapNote::hold_head_roll:
|
||||||
if( bSteppedOnTapNote )
|
if( bInitiatedNote )
|
||||||
{
|
{
|
||||||
// Increase life
|
// Increase life
|
||||||
tn.HoldResult.fLife = 1;
|
tn.HoldResult.fLife = 1;
|
||||||
|
|
||||||
|
// increment combo
|
||||||
|
const int iOldCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurCombo : 0;
|
||||||
|
const int iOldMissCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurMissCombo : 0;
|
||||||
|
|
||||||
|
if( m_pPlayerStageStats )
|
||||||
|
{
|
||||||
|
m_pPlayerStageStats->m_iCurCombo++;
|
||||||
|
m_pPlayerStageStats->m_iCurMissCombo = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
SendComboMessages( iOldCombo, iOldMissCombo );
|
||||||
|
if( m_pPlayerStageStats )
|
||||||
|
SetCombo( m_pPlayerStageStats->m_iCurCombo, m_pPlayerStageStats->m_iCurMissCombo );
|
||||||
|
|
||||||
bool bBright = m_pPlayerStageStats && m_pPlayerStageStats->m_iCurCombo>(int)BRIGHT_GHOST_COMBO_THRESHOLD;
|
bool bBright = m_pPlayerStageStats && m_pPlayerStageStats->m_iCurCombo>(int)BRIGHT_GHOST_COMBO_THRESHOLD;
|
||||||
if( m_pNoteField )
|
if( m_pNoteField )
|
||||||
m_pNoteField->DidHoldNote( col, HNS_Held, bBright );
|
m_pNoteField->DidHoldNote( col, HNS_Held, bBright );
|
||||||
|
|||||||
Reference in New Issue
Block a user