add MercifulBeginner

This commit is contained in:
Chris Danford
2005-04-27 08:52:58 +00:00
parent 4ffa3dcef4
commit 77f3402579
4 changed files with 17 additions and 25 deletions
+2
View File
@@ -147,6 +147,8 @@ Grade PlayerStageStats::GetGrade() const
case TNS_MARVELOUS: iTapScoreValue = PREFSMAN->m_iGradeWeightMarvelous; break;
default: FAIL_M( ssprintf("%i", tns) ); break;
}
if( PREFSMAN->m_bMercifulBeginner )
iTapScoreValue = max( 0, iTapScoreValue );
fActual += iTapNoteScores[tns] * iTapScoreValue;
}
+1
View File
@@ -139,6 +139,7 @@ PrefsManager::PrefsManager() :
m_bMinimum1FullSongInCourses ( Options, "Minimum1FullSongInCourses", false ), // FEoS for 1st song, FailImmediate thereafter
m_bFailOffInBeginner ( Options, "FailOffInBeginner", false ),
m_bFailOffForFirstStageEasy ( Options, "FailOffForFirstStageEasy", false ),
m_bMercifulBeginner ( Options, "MercifulBeginner", false ),
m_iPercentScoreWeightMarvelous ( Options, "PercentScoreWeightMarvelous", 3 ),
m_iPercentScoreWeightPerfect ( Options, "PercentScoreWeightPerfect", 2 ),
+1
View File
@@ -99,6 +99,7 @@ public:
Preference<bool> m_bMinimum1FullSongInCourses; // FEoS for 1st song, FailImmediate thereafter
Preference<bool> m_bFailOffInBeginner;
Preference<bool> m_bFailOffForFirstStageEasy;
Preference<bool> m_bMercifulBeginner; // don't subtract from percent score or grade DP
// percent score (the number that is shown on the screen and saved to memory card)
Preference<int> m_iPercentScoreWeightMarvelous;
+12 -24
View File
@@ -216,8 +216,6 @@ void ScoreKeeperMAX2::AddScore( TapNoteScore score )
int &iScore = m_pPlayerStageStats->iScore;
int &iCurMaxScore = m_pPlayerStageStats->iCurMaxScore;
/*
http://www.aaroninjapan.com/ddr2.html
Regular scoring:
Let p = score multiplier (Perfect = 10, Great = 5, other = 0)
@@ -353,10 +351,6 @@ void ScoreKeeperMAX2::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTa
//
/*
http://www.aaroninjapan.com/ddr2.html
Note on ONI Mode scoring
Your combo counter only increased with a "Marvelous/Perfect", and double Marvelous/Perfect steps (left and right, etc.)
only add 1 to your combo instead of 2. The combo counter thus becomes a "Marvelous/Perfect" counter.
*/
@@ -483,30 +477,24 @@ int ScoreKeeperMAX2::TapNoteScoreToDancePoints( TapNoteScore tns )
if( !GAMESTATE->ShowMarvelous() && tns == TNS_MARVELOUS )
tns = TNS_PERFECT;
/*
http://www.aaroninjapan.com/ddr2.html
Note on ONI Mode scoring
The total number of Dance Points is calculated with Marvelous steps being worth 3 points, Perfects getting
2 points, OKs getting 3 points, Greats getting 1 point, and everything else is worth 0 points. (Note: The
*/
/* This is used for Oni percentage displays. Grading values are currently in
* StageStats::GetGrade. */
int iWeight = 0;
switch( tns )
{
case TNS_NONE: return 0;
case TNS_HIT_MINE: return PREFSMAN->m_iPercentScoreWeightHitMine;
case TNS_MISS: return PREFSMAN->m_iPercentScoreWeightMiss;
case TNS_BOO: return PREFSMAN->m_iPercentScoreWeightBoo;
case TNS_GOOD: return PREFSMAN->m_iPercentScoreWeightGood;
case TNS_GREAT: return PREFSMAN->m_iPercentScoreWeightGreat;
case TNS_PERFECT: return PREFSMAN->m_iPercentScoreWeightPerfect;
case TNS_MARVELOUS: return PREFSMAN->m_iPercentScoreWeightMarvelous;
case TNS_NONE: iWeight = 0;
case TNS_HIT_MINE: iWeight = PREFSMAN->m_iPercentScoreWeightHitMine; break;
case TNS_MISS: iWeight = PREFSMAN->m_iPercentScoreWeightMiss; break;
case TNS_BOO: iWeight = PREFSMAN->m_iPercentScoreWeightBoo; break;
case TNS_GOOD: iWeight = PREFSMAN->m_iPercentScoreWeightGood; break;
case TNS_GREAT: iWeight = PREFSMAN->m_iPercentScoreWeightGreat; break;
case TNS_PERFECT: iWeight = PREFSMAN->m_iPercentScoreWeightPerfect; break;
case TNS_MARVELOUS: iWeight = PREFSMAN->m_iPercentScoreWeightMarvelous; break;
default: FAIL_M( ssprintf("%i", tns) );
}
if( PREFSMAN->m_bMercifulBeginner )
iWeight = max( 0, iWeight );
return iWeight;
}
int ScoreKeeperMAX2::HoldNoteScoreToDancePoints( HoldNoteScore hns )