From a9774592e2534fa8ef43d8f0474b0c2cfaf05b43 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 1 Aug 2003 00:12:10 +0000 Subject: [PATCH] update --- stepmania/src/Player.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index dfd0d440b5..5f1ff74536 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -41,6 +41,7 @@ CachedThemeMetricI BRIGHT_GHOST_COMBO_THRESHOLD("Player","BrightGhostComboThreshold"); #define START_DRAWING_AT_PIXELS THEME->GetMetricI("Player","StartDrawingAtPixels") #define STOP_DRAWING_AT_PIXELS THEME->GetMetricI("Player","StopDrawingAtPixels") +#define MAX_PRO_TIMING_ERROR THEME->GetMetricI("Player","MaxProTimingError") /* Distance to search for a note in Step(). */ /* Units? */ @@ -429,8 +430,6 @@ void Player::Step( int col, RageTimer tm ) const float fSecondsFromPerfect = fabsf( fNoteOffset ); - GAMESTATE->m_CurStageStats.iTotalError[m_PlayerNumber] += (int) roundf( fSecondsFromPerfect * 1000 ); - // calculate TapNoteScore TapNoteScore score; @@ -466,6 +465,14 @@ void Player::Step( int col, RageTimer tm ) break; } + if( score != TNS_NONE ) + { + int ms_error = (int) roundf( fSecondsFromPerfect * 1000 ); + ms_error = min( ms_error, MAX_PRO_TIMING_ERROR ); + + GAMESTATE->m_CurStageStats.iTotalError[m_PlayerNumber] += ms_error; + } + if( score==TNS_MARVELOUS && !GAMESTATE->ShowMarvelous()) score = TNS_PERFECT; @@ -594,6 +601,7 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds ) MissedNoteOnThisRow = true; SetTapNoteScore(t, r, TNS_MISS); + GAMESTATE->m_CurStageStats.iTotalError[m_PlayerNumber] += MAX_PRO_TIMING_ERROR; } if(!MissedNoteOnThisRow) continue;