diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index d10d8d4d90..210f02ce42 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -846,6 +846,7 @@ InitialHoldLife=InitialHoldLife() MaxHoldLife=MaxHoldLife() RollBodyIncrementsCombo=RollBodyIncrementsCombo() ScoreMissedHoldsAndRolls=ScoreMissedHoldsAndRolls() +PercentUntilColorCombo=0.25 [Profile] ShowCoinData=true diff --git a/src/Player.cpp b/src/Player.cpp index 45d2bf4574..fc62015c24 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -139,6 +139,7 @@ ThemeMetric REQUIRE_STEP_ON_HOLD_HEADS ( "Player", "RequireStepOnHoldHeads ThemeMetric ROLL_BODY_INCREMENTS_COMBO ( "Player", "RollBodyIncrementsCombo" ); ThemeMetric CHECKPOINTS_TAPS_SEPARATE_JUDGMENT ( "Player", "CheckpointsTapsSeparateJudgment" ); ThemeMetric SCORE_MISSED_HOLDS_AND_ROLLS ( "Player", "ScoreMissedHoldsAndRolls" ); // sm-ssc addition +ThemeMetric PERCENT_UNTIL_COLOR_COMBO ( "Player", "PercentUntilColorCombo" ); float Player::GetWindowSeconds( TimingWindow tw ) { @@ -3018,9 +3019,9 @@ void Player::SetCombo( int iCombo, int iMisses ) if( b1000Milestone ) this->PlayCommand( "ThousandMilestone" ); - // don't show a colored combo until 1/4 of the way through the song + // don't show a colored combo until the specified point in the metrics. bool bPastBeginning = (!GAMESTATE->IsCourseMode() || GAMESTATE->GetCourseSongIndex()>0) && - GAMESTATE->m_fMusicSeconds > GAMESTATE->m_pCurSong->m_fMusicLengthSeconds/4; + GAMESTATE->m_fMusicSeconds > GAMESTATE->m_pCurSong->m_fMusicLengthSeconds * PERCENT_UNTIL_COLOR_COMBO; if( m_bSendJudgmentAndComboMessages ) {