fix successful jumps miscalculation: Player used "latest tap note score". Scoring used "min tap note score".

This commit is contained in:
Chris Danford
2005-04-13 04:08:51 +00:00
parent d312ea5bef
commit d4df3a1431
2 changed files with 8 additions and 16 deletions
+7 -16
View File
@@ -3,6 +3,7 @@
#include "NoteData.h"
#include "StageStats.h"
#include "StatsManager.h"
#include <float.h>
namespace
{
@@ -23,25 +24,15 @@ int GetNumTapNotesWithScore( const NoteData &in, TapNoteScore tns, int iStartInd
return iNumSuccessfulTapNotes;
}
int GetNumNWithScore( const NoteData &in, TapNoteScore tns, int MinTaps, int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW )
int GetNumNWithScore( const NoteData &in, TapNoteScore tns, int MinTaps, int iStartRow = 0, int iEndRow = MAX_NOTE_ROW )
{
int iNumSuccessfulDoubles = 0;
FOREACH_NONEMPTY_ROW_ALL_TRACKS_RANGE( in, i, iStartIndex, iEndIndex )
FOREACH_NONEMPTY_ROW_ALL_TRACKS_RANGE( in, r, iStartRow, iEndRow )
{
int iNumNotesThisIndex = 0;
TapNoteScore minTapNoteScore = TNS_MARVELOUS;
for( int t=0; t<in.GetNumTracks(); t++ )
{
const TapNote &tn = in.GetTapNote(t,i);
switch( tn.type )
{
case TapNote::tap:
case TapNote::hold_head:
iNumNotesThisIndex++;
minTapNoteScore = min( minTapNoteScore, tn.result.tns );
}
}
if( iNumNotesThisIndex >= MinTaps && minTapNoteScore >= tns )
int iNumNotesInRow = in.GetNumTracksWithTapOrHoldHead( r );
TapNoteScore tnsRow = NoteDataWithScoring::LastTapNoteScore( in, r );
if( iNumNotesInRow >= MinTaps && tnsRow >= tns )
iNumSuccessfulDoubles++;
}