New metric/hack: CheckpointsTapsSeparateJudgment. Deals with Hold checkpoints with taps interspersed. True = current/Pump Pro behavior. False = classic Pump It Up behavior. Hopefully this can be cleaned up later.

This commit is contained in:
Jason Felds
2009-05-24 00:11:23 +00:00
parent 568d60af49
commit 85e81e0c0f
3 changed files with 6 additions and 2 deletions
+4 -2
View File
@@ -134,6 +134,7 @@ ThemeMetric<bool> CHECKPOINTS_USE_TIME_SIGNATURES ( "Player", "CheckpointsUseTim
ThemeMetric<bool> IMMEDIATE_HOLD_LET_GO ( "Player", "ImmediateHoldLetGo" );
ThemeMetric<bool> REQUIRE_STEP_ON_HOLD_HEADS ( "Player", "RequireStepOnHoldHeads" );
ThemeMetric<bool> ROLL_BODY_INCREMENTS_COMBO ( "Player", "RollBodyIncrementsCombo" );
ThemeMetric<bool> CHECKPOINTS_TAPS_SEPARATE_JUDGMENT ( "Player", "CheckpointsTapsSeparateJudgment" );
float Player::GetWindowSeconds( TimingWindow tw )
@@ -2622,7 +2623,8 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now )
}
}
if( !viColsWithHold.empty() )
// TODO: Find a better way of handling hold checkpoints with other taps.
if( !viColsWithHold.empty() && ( CHECKPOINTS_TAPS_SEPARATE_JUDGMENT || m_NoteData.GetNumTapNotesInRow( iLastRowCrossed ) == 0 ) )
{
HandleHoldCheckpoint( r, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow, viColsWithHold );
}
@@ -2800,7 +2802,7 @@ void Player::HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumH
m_pNoteField->DidHoldNote( *i, HNS_Held, bBright );
}
}
SendComboMessages( iOldCombo, iOldMissCombo );
if( m_pPlayerStageStats )