add rolls to eval and scoring

This commit is contained in:
Chris Danford
2005-05-09 06:15:59 +00:00
parent e9616fb6d4
commit c36df02254
5 changed files with 11 additions and 12 deletions
+2 -2
View File
@@ -556,7 +556,6 @@ int NoteData::GetNumRowsWithSimultaneousTaps( int iMinTaps, int iStartIndex, int
return iNum; return iNum;
} }
// XXX: This shouldn't include rolls, but need to check how that would impact scoring ...
int NoteData::GetNumHoldNotes( int iStartIndex, int iEndIndex ) const int NoteData::GetNumHoldNotes( int iStartIndex, int iEndIndex ) const
{ {
int iNumHolds = 0; int iNumHolds = 0;
@@ -566,7 +565,8 @@ int NoteData::GetNumHoldNotes( int iStartIndex, int iEndIndex ) const
GetTapNoteRangeExclusive( t, iStartIndex, iEndIndex, begin, end ); GetTapNoteRangeExclusive( t, iStartIndex, iEndIndex, begin, end );
for( ; begin != end; ++begin ) for( ; begin != end; ++begin )
{ {
if( begin->second.type != TapNote::hold_head ) if( begin->second.type != TapNote::hold_head ||
begin->second.subType != TapNote::hold_head_hold )
continue; continue;
iNumHolds++; iNumHolds++;
} }
+1 -5
View File
@@ -270,11 +270,7 @@ void NoteDataWithScoring::GetActualRadarValues( const NoteData &in, PlayerNumber
case RADAR_CHAOS: out[rc] = GetActualChaosRadarValue( in, fSongSeconds, pn ); break; case RADAR_CHAOS: out[rc] = GetActualChaosRadarValue( in, fSongSeconds, pn ); break;
case RADAR_NUM_TAPS_AND_HOLDS: out[rc] = (float) GetNumNWithScore( in, TNS_GOOD, 1 ); break; case RADAR_NUM_TAPS_AND_HOLDS: out[rc] = (float) GetNumNWithScore( in, TNS_GOOD, 1 ); break;
case RADAR_NUM_JUMPS: out[rc] = (float) GetNumNWithScore( in, TNS_GOOD, 2 ); break; case RADAR_NUM_JUMPS: out[rc] = (float) GetNumNWithScore( in, TNS_GOOD, 2 ); break;
// XXX: This should be hold_head_hold, but that'll affect scoring. case RADAR_NUM_HOLDS: out[rc] = (float) GetNumHoldNotesWithScore( in, TapNote::hold_head_hold, HNS_OK ); break;
case RADAR_NUM_HOLDS: out[rc] = (float)
GetNumHoldNotesWithScore( in, TapNote::hold_head_hold, HNS_OK ) +
GetNumHoldNotesWithScore( in, TapNote::hold_head_roll, HNS_OK );
break;
case RADAR_NUM_MINES: out[rc] = (float) GetSuccessfulMines( in ); break; case RADAR_NUM_MINES: out[rc] = (float) GetSuccessfulMines( in ); break;
case RADAR_NUM_HANDS: out[rc] = (float) GetSuccessfulHands( in ); break; case RADAR_NUM_HANDS: out[rc] = (float) GetSuccessfulHands( in ); break;
case RADAR_NUM_ROLLS: out[rc] = (float) GetNumHoldNotesWithScore( in, TapNote::hold_head_roll, HNS_OK ); break; case RADAR_NUM_ROLLS: out[rc] = (float) GetNumHoldNotesWithScore( in, TapNote::hold_head_roll, HNS_OK ); break;
+5 -2
View File
@@ -456,8 +456,11 @@ int ScoreKeeperMAX2::GetPossibleDancePoints( const RadarValues& radars )
int NumTaps = int(radars[RADAR_NUM_TAPS_AND_HOLDS]); int NumTaps = int(radars[RADAR_NUM_TAPS_AND_HOLDS]);
int NumHolds = int(radars[RADAR_NUM_HOLDS]); int NumHolds = int(radars[RADAR_NUM_HOLDS]);
return NumTaps*TapNoteScoreToDancePoints(TNS_MARVELOUS)+ int NumRolls = int(radars[RADAR_NUM_ROLLS]);
NumHolds*HoldNoteScoreToDancePoints(HNS_OK); return
NumTaps*TapNoteScoreToDancePoints(TNS_MARVELOUS)+
NumHolds*HoldNoteScoreToDancePoints(HNS_OK) +
NumRolls*HoldNoteScoreToDancePoints(HNS_OK);
} }
int ScoreKeeperMAX2::GetPossibleDancePoints( const RadarValues& fOriginalRadars, const RadarValues& fPostRadars ) int ScoreKeeperMAX2::GetPossibleDancePoints( const RadarValues& fOriginalRadars, const RadarValues& fPostRadars )
+2 -2
View File
@@ -44,7 +44,7 @@ const char* JUDGE_STRING[NUM_JUDGE_LINES] =
}; };
const char* STATS_STRING[NUM_STATS_LINES] = const char* STATS_STRING[NUM_STATS_LINES] =
{ {
"Jumps", "Holds", "Mines", "Hands" "Jumps", "Holds", "Mines", "Hands", "Rolls",
}; };
#define SPIN_GRADES THEME->GetMetricB(m_sName,"SpinGrades") #define SPIN_GRADES THEME->GetMetricB(m_sName,"SpinGrades")
@@ -660,7 +660,7 @@ void ScreenEvaluation::Init()
const int indeces[NUM_STATS_LINES] = const int indeces[NUM_STATS_LINES] =
{ {
RADAR_NUM_JUMPS, RADAR_NUM_HOLDS, RADAR_NUM_MINES, RADAR_NUM_HANDS RADAR_NUM_JUMPS, RADAR_NUM_HOLDS, RADAR_NUM_MINES, RADAR_NUM_HANDS, RADAR_NUM_ROLLS
}; };
const int ind = indeces[l]; const int ind = indeces[l];
const int iActual = (int) roundf(stageStats.m_player[p].radarActual[ind]); const int iActual = (int) roundf(stageStats.m_player[p].radarActual[ind]);
+1 -1
View File
@@ -21,7 +21,7 @@
const int MAX_SONGS_TO_SHOW = 5; // In summary, we show last 3 stages, plus extra stages if passed const int MAX_SONGS_TO_SHOW = 5; // In summary, we show last 3 stages, plus extra stages if passed
enum JudgeLine { marvelous, perfect, great, good, boo, miss, ok, max_combo, error, NUM_JUDGE_LINES }; enum JudgeLine { marvelous, perfect, great, good, boo, miss, ok, max_combo, error, NUM_JUDGE_LINES };
enum StatsLine { jumps, holds, mines, hands, NUM_STATS_LINES }; enum StatsLine { jumps, holds, mines, hands, rolls, NUM_STATS_LINES };
// sound sequences for the evaluation screen // sound sequences for the evaluation screen
struct EvalSoundSequence struct EvalSoundSequence