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