Add OneGreat and OnePerfect awards
This commit is contained in:
@@ -199,6 +199,8 @@ static const CString PerDifficultyAwardNames[NUM_PER_DIFFICULTY_AWARDS] = {
|
||||
"FullComboMarvelouses",
|
||||
"SingleDigitGreats",
|
||||
"SingleDigitPerfects",
|
||||
"OneGreat",
|
||||
"OnePerfect",
|
||||
"Greats80Percent",
|
||||
"Greats90Percent",
|
||||
"Greats100Percent",
|
||||
|
||||
@@ -360,6 +360,8 @@ enum PerDifficultyAward
|
||||
AWARD_FULL_COMBO_MARVELOUSES,
|
||||
AWARD_SINGLE_DIGIT_GREATS,
|
||||
AWARD_SINGLE_DIGIT_PERFECTS,
|
||||
AWARD_ONE_GREAT,
|
||||
AWARD_ONE_PERFECT,
|
||||
AWARD_GREATS_80_PERCENT,
|
||||
AWARD_GREATS_90_PERCENT,
|
||||
AWARD_GREATS_100_PERCENT,
|
||||
|
||||
@@ -1075,6 +1075,11 @@ void ScreenEvaluation::CommitScores(
|
||||
vPdas.push_back( AWARD_SINGLE_DIGIT_PERFECTS );
|
||||
if( stageStats.FullComboOfScore( (PlayerNumber)p, TNS_MARVELOUS ) )
|
||||
vPdas.push_back( AWARD_FULL_COMBO_MARVELOUSES );
|
||||
|
||||
if( stageStats.OneOfScore( (PlayerNumber)p, TNS_GREAT ) )
|
||||
vPdas.push_back( AWARD_ONE_GREAT );
|
||||
if( stageStats.OneOfScore( (PlayerNumber)p, TNS_PERFECT ) )
|
||||
vPdas.push_back( AWARD_ONE_PERFECT );
|
||||
|
||||
float fPercentGreats = stageStats.GetPercentageOfTaps((PlayerNumber)p, TNS_GREAT);
|
||||
if( fPercentGreats >= 0.8f )
|
||||
|
||||
@@ -402,6 +402,9 @@ bool StageStats::FullComboOfScore( PlayerNumber pn, TapNoteScore tnsAllGreaterOr
|
||||
ASSERT( tnsAllGreaterOrEqual >= TNS_GREAT );
|
||||
ASSERT( tnsAllGreaterOrEqual <= TNS_MARVELOUS );
|
||||
|
||||
if( iHoldNoteScores[pn][HNS_NG] > 0 )
|
||||
return false;
|
||||
|
||||
for( int i=TNS_MISS; i<tnsAllGreaterOrEqual; i++ )
|
||||
{
|
||||
if( iTapNoteScores[pn][i] > 0 )
|
||||
@@ -416,6 +419,12 @@ bool StageStats::SingleDigitsOfScore( PlayerNumber pn, TapNoteScore tnsAllGreate
|
||||
iTapNoteScores[pn][tnsAllGreaterOrEqual] < 10;
|
||||
}
|
||||
|
||||
bool StageStats::OneOfScore( PlayerNumber pn, TapNoteScore tnsAllGreaterOrEqual ) const
|
||||
{
|
||||
return FullComboOfScore( pn, tnsAllGreaterOrEqual ) &&
|
||||
iTapNoteScores[pn][tnsAllGreaterOrEqual] == 1;
|
||||
}
|
||||
|
||||
int StageStats::GetTotalTaps( PlayerNumber pn ) const
|
||||
{
|
||||
int iTotalTaps = 0;
|
||||
|
||||
@@ -98,6 +98,7 @@ struct StageStats
|
||||
bool FullComboOfScore( PlayerNumber pn, TapNoteScore tnsAllGreaterOrEqual ) const;
|
||||
bool FullCombo( PlayerNumber pn ) const { return FullComboOfScore(pn,TNS_GREAT); }
|
||||
bool SingleDigitsOfScore( PlayerNumber pn, TapNoteScore tnsAllGreaterOrEqual ) const;
|
||||
bool OneOfScore( PlayerNumber pn, TapNoteScore tnsAllGreaterOrEqual ) const;
|
||||
int GetTotalTaps( PlayerNumber pn ) const;
|
||||
float GetPercentageOfTaps( PlayerNumber pn, TapNoteScore tns ) const;
|
||||
void UpdateComboList( PlayerNumber pn, float pos, bool rollover );
|
||||
|
||||
Reference in New Issue
Block a user