#include "stdafx.h" /* ----------------------------------------------------------------------------- Class: NoteDataWithScoring Desc: See header. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ #include "NoteDataWithScoring.h" NoteDataWithScoring::NoteDataWithScoring() { Init(); } void NoteDataWithScoring::Init() { // init step elements for( int t=0; t= TNS_GREAT ) iNumSuccessfulTapNotes++; } } return iNumSuccessfulTapNotes; } int NoteDataWithScoring::GetNumSuccessfulDoubles( const float fStartBeat, const float fEndBeat ) { int iNumSuccessfulDoubles = 0; int iStartIndex = BeatToNoteRow( fStartBeat ); int iEndIndex = BeatToNoteRow( fEndBeat ); for( int i=iStartIndex; i= 2 && minTapNoteScore >= TNS_GREAT ) iNumSuccessfulDoubles++; } return iNumSuccessfulDoubles; } int NoteDataWithScoring::GetNumSuccessfulHoldNotes( const float fStartBeat, const float fEndBeat ) { int iNumSuccessfulHolds = 0; int iStartIndex = BeatToNoteRow( fStartBeat ); int iEndIndex = BeatToNoteRow( fEndBeat ); for( int i=0; i fMaxDensityPerSecSoFar ) fMaxDensityPerSecSoFar = fDensityPerSecThisMeasure; } float fReturn = fMaxDensityPerSecSoFar*10; return min( fReturn, 1.2f ); } float NoteDataWithScoring::GetActualAirRadarValue( float fSongSeconds ) { // number of doubles int iNumDoubles = GetNumSuccessfulDoubles(); float fReturn = iNumDoubles / fSongSeconds * 2; return min( fReturn, 1.2f ); } float NoteDataWithScoring::GetActualChaosRadarValue( float fSongSeconds ) { // irregularity of steps float fReturn = GetChaosRadarValue(fSongSeconds) - (GetStreamRadarValue(fSongSeconds)-GetActualStreamRadarValue(fSongSeconds)) - (GetVoltageRadarValue(fSongSeconds)-GetActualVoltageRadarValue(fSongSeconds)); return min( fReturn, 1.2f ); } float NoteDataWithScoring::GetActualFreezeRadarValue( float fSongSeconds ) { // number of hold steps float fReturn = GetNumSuccessfulHoldNotes() / fSongSeconds * 3; return min( fReturn, 1.2f ); }