From 0416afda432825b1c8d55873b70112aa79e7393b Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Fri, 2 Jan 2004 22:19:27 +0000 Subject: [PATCH] fix doubles+quick fix grading (for real this time) --- stepmania/src/NoteDataUtil.cpp | 34 ++++++++++++++++++++-------------- stepmania/src/PrefsManager.cpp | 6 +++--- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/stepmania/src/NoteDataUtil.cpp b/stepmania/src/NoteDataUtil.cpp index ff0ad7cfe8..2864940edf 100644 --- a/stepmania/src/NoteDataUtil.cpp +++ b/stepmania/src/NoteDataUtil.cpp @@ -795,23 +795,29 @@ void NoteDataUtil::InsertIntelligentTaps( NoteData &in, float fWindowSizeBeats, iTrackOfNoteEarlier != iTrackOfNoteLater ) // Don't make skips on the same note { iTrackOfNoteToAdd = iTrackOfNoteEarlier; + goto done_looking_for_track_to_add; } - else + + // try to choose a track between the earlier and later notes + if( abs(iTrackOfNoteEarlier-iTrackOfNoteLater) >= 2 ) { - // choose a randomish track - if( abs(iTrackOfNoteEarlier-iTrackOfNoteLater) == 2 ) - iTrackOfNoteToAdd = (iTrackOfNoteEarlier+iTrackOfNoteLater)/2; - else - { - for( int t=min(iTrackOfNoteEarlier,iTrackOfNoteLater)-1; t<=max(iTrackOfNoteEarlier,iTrackOfNoteLater)+1; t++ ) - { - iTrackOfNoteToAdd = t; - CLAMP( iTrackOfNoteToAdd, 0, in.GetNumTracks()-1 ); - if( iTrackOfNoteToAdd!=iTrackOfNoteEarlier && iTrackOfNoteToAdd!=iTrackOfNoteLater ) - break; - } - } + iTrackOfNoteToAdd = min(iTrackOfNoteEarlier,iTrackOfNoteLater)+1; + goto done_looking_for_track_to_add; } + + if( min(iTrackOfNoteEarlier,iTrackOfNoteLater)-1 >= 0 ) + { + iTrackOfNoteToAdd = min(iTrackOfNoteEarlier,iTrackOfNoteLater)-1; + goto done_looking_for_track_to_add; + } + + if( max(iTrackOfNoteEarlier,iTrackOfNoteLater)+1 < in.GetNumTracks() ) + { + iTrackOfNoteToAdd = max(iTrackOfNoteEarlier,iTrackOfNoteLater)+1; + goto done_looking_for_track_to_add; + } + +done_looking_for_track_to_add: in.SetTapNote(iTrackOfNoteToAdd, iRowToAdd, TAP_ADDITION); } diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index 9eb9a9fe38..8956fd4a29 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -100,9 +100,9 @@ PrefsManager::PrefsManager() m_iGradeGoodWeight = 0; m_iGradeBooWeight = -4; m_iGradeMissWeight = -8; + m_iGradeHitMineWeight = -8; m_iGradeOKWeight = 6; m_iGradeNGWeight = 0; - m_iPercentScoreHitMineWeight = -8; m_fGradePercentAA = 0.93f; m_fGradePercentA = 0.80f; m_fGradePercentB = 0.65f; @@ -327,9 +327,9 @@ void PrefsManager::ReadGlobalPrefsFromDisk() ini.GetValue( "Options", "GradeGoodWeight", m_iGradeGoodWeight ); ini.GetValue( "Options", "GradeBooWeight", m_iGradeBooWeight ); ini.GetValue( "Options", "GradeMissWeight", m_iGradeMissWeight ); + ini.GetValue( "Options", "GradeHitMineWeight", m_iGradeHitMineWeight ); ini.GetValue( "Options", "GradeOKWeight", m_iGradeOKWeight ); ini.GetValue( "Options", "GradeNGWeight", m_iGradeNGWeight ); - ini.GetValue( "Options", "GradeHitMineWeight", m_iPercentScoreHitMineWeight ); ini.GetValue( "Options", "GradePercentAA", m_fGradePercentAA ); ini.GetValue( "Options", "GradePercentA", m_fGradePercentA ); ini.GetValue( "Options", "GradePercentB", m_fGradePercentB ); @@ -510,9 +510,9 @@ void PrefsManager::SaveGlobalPrefsToDisk() const ini.SetValue( "Options", "GradeGoodWeight", m_iGradeGoodWeight ); ini.SetValue( "Options", "GradeBooWeight", m_iGradeBooWeight ); ini.SetValue( "Options", "GradeMissWeight", m_iGradeMissWeight ); + ini.SetValue( "Options", "GradeHitMineWeight", m_iGradeHitMineWeight ); ini.SetValue( "Options", "GradeOKWeight", m_iGradeOKWeight ); ini.SetValue( "Options", "GradeNGWeight", m_iGradeNGWeight ); - ini.SetValue( "Options", "GradeHitMineWeight", m_iPercentScoreHitMineWeight ); ini.SetValue( "Options", "GradePercentAA", m_fGradePercentAA ); ini.SetValue( "Options", "GradePercentA", m_fGradePercentA ); ini.SetValue( "Options", "GradePercentB", m_fGradePercentB );