If REQUIRE_STEP_ON_HOLD_HEADS is false, don't make the hold head a miss if the player is holding down the button.
This commit is contained in:
@@ -1766,6 +1766,13 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
|
|||||||
score = TNS_W2; /* sentinel */
|
score = TNS_W2; /* sentinel */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TapNote::hold_head:
|
||||||
|
if( !REQUIRE_STEP_ON_HOLD_HEADS && fNoteOffset > 0.f )
|
||||||
|
{
|
||||||
|
score = TNS_W1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// Fall through to default.
|
||||||
default:
|
default:
|
||||||
if( (pTN->type == TapNote::lift) == bRelease )
|
if( (pTN->type == TapNote::lift) == bRelease )
|
||||||
{
|
{
|
||||||
@@ -2343,6 +2350,21 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now )
|
|||||||
{
|
{
|
||||||
case TapNote::hold_head:
|
case TapNote::hold_head:
|
||||||
tn.HoldResult.fLife = INITIAL_HOLD_LIFE;
|
tn.HoldResult.fLife = INITIAL_HOLD_LIFE;
|
||||||
|
if( !REQUIRE_STEP_ON_HOLD_HEADS )
|
||||||
|
{
|
||||||
|
PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||||
|
GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iTrack, pn );
|
||||||
|
if( PREFSMAN->m_fPadStickSeconds > 0.f )
|
||||||
|
{
|
||||||
|
float fSecsHeld = INPUTMAPPER->GetSecsHeld( GameI, m_pPlayerState->m_mp );
|
||||||
|
if( fSecsHeld >= PREFSMAN->m_fPadStickSeconds )
|
||||||
|
Step( iTrack, -1, now - PREFSMAN->m_fPadStickSeconds, true, false );
|
||||||
|
}
|
||||||
|
else if( INPUTMAPPER->IsBeingPressed(GameI, m_pPlayerState->m_mp) )
|
||||||
|
{
|
||||||
|
Step( iTrack, -1, now, true, false );
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case TapNote::mine:
|
case TapNote::mine:
|
||||||
// Hold the panel while crossing a mine will cause the mine to explode
|
// Hold the panel while crossing a mine will cause the mine to explode
|
||||||
|
|||||||
Reference in New Issue
Block a user