allow display of negative dance points
stop counting dance points after fail
This commit is contained in:
@@ -76,9 +76,14 @@ void PercentageDisplay::Refresh()
|
|||||||
int iPercentRemainder = int( (fPercentDancePoints*100 - int(fPercentDancePoints*100)) * 10 );
|
int iPercentRemainder = int( (fPercentDancePoints*100 - int(fPercentDancePoints*100)) * 10 );
|
||||||
sNumToDisplay = ssprintf( "%02d", iPercentWhole );
|
sNumToDisplay = ssprintf( "%02d", iPercentWhole );
|
||||||
m_textPercentRemainder.SetText( ssprintf(".%01d%%", iPercentRemainder) );
|
m_textPercentRemainder.SetText( ssprintf(".%01d%%", iPercentRemainder) );
|
||||||
} else {
|
}
|
||||||
float fNumToDisplay = max( 0, fPercentDancePoints*100 );
|
else
|
||||||
|
{
|
||||||
|
float fNumToDisplay = fPercentDancePoints*100;
|
||||||
sNumToDisplay = ssprintf( "%0*.*f%%", PERCENT_TOTAL_SIZE, PERCENT_DECIMAL_PLACES, fNumToDisplay );
|
sNumToDisplay = ssprintf( "%0*.*f%%", PERCENT_TOTAL_SIZE, PERCENT_DECIMAL_PLACES, fNumToDisplay );
|
||||||
|
|
||||||
|
// HACK: Use the last frame in the numbers texture as '-'
|
||||||
|
sNumToDisplay.Replace('-','x');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -209,6 +209,9 @@ static int GetScore(int p, int B, int S, int n)
|
|||||||
|
|
||||||
void ScoreKeeperMAX2::AddScore( TapNoteScore score )
|
void ScoreKeeperMAX2::AddScore( TapNoteScore score )
|
||||||
{
|
{
|
||||||
|
if( g_CurStageStats.bFailed[m_PlayerNumber] )
|
||||||
|
return; // don't add
|
||||||
|
|
||||||
int &iScore = g_CurStageStats.iScore[m_PlayerNumber];
|
int &iScore = g_CurStageStats.iScore[m_PlayerNumber];
|
||||||
/*
|
/*
|
||||||
http://www.aaroninjapan.com/ddr2.html
|
http://www.aaroninjapan.com/ddr2.html
|
||||||
@@ -318,6 +321,9 @@ void ScoreKeeperMAX2::AddScore( TapNoteScore score )
|
|||||||
|
|
||||||
void ScoreKeeperMAX2::HandleTapScore( TapNoteScore score )
|
void ScoreKeeperMAX2::HandleTapScore( TapNoteScore score )
|
||||||
{
|
{
|
||||||
|
if( g_CurStageStats.bFailed[m_PlayerNumber] )
|
||||||
|
return; // don't add
|
||||||
|
|
||||||
if( score == TNS_HIT_MINE )
|
if( score == TNS_HIT_MINE )
|
||||||
{
|
{
|
||||||
g_CurStageStats.iActualDancePoints[m_PlayerNumber] += TapNoteScoreToDancePoints( TNS_HIT_MINE );
|
g_CurStageStats.iActualDancePoints[m_PlayerNumber] += TapNoteScoreToDancePoints( TNS_HIT_MINE );
|
||||||
@@ -327,6 +333,9 @@ void ScoreKeeperMAX2::HandleTapScore( TapNoteScore score )
|
|||||||
|
|
||||||
void ScoreKeeperMAX2::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTapsInRow )
|
void ScoreKeeperMAX2::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTapsInRow )
|
||||||
{
|
{
|
||||||
|
if( g_CurStageStats.bFailed[m_PlayerNumber] )
|
||||||
|
return; // don't add
|
||||||
|
|
||||||
ASSERT( iNumTapsInRow >= 1 );
|
ASSERT( iNumTapsInRow >= 1 );
|
||||||
|
|
||||||
// Update dance points.
|
// Update dance points.
|
||||||
@@ -402,6 +411,9 @@ void ScoreKeeperMAX2::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTa
|
|||||||
|
|
||||||
void ScoreKeeperMAX2::HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore )
|
void ScoreKeeperMAX2::HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScore )
|
||||||
{
|
{
|
||||||
|
if( g_CurStageStats.bFailed[m_PlayerNumber] )
|
||||||
|
return; // don't add
|
||||||
|
|
||||||
// update dance points totals
|
// update dance points totals
|
||||||
g_CurStageStats.iHoldNoteScores[m_PlayerNumber][holdScore] ++;
|
g_CurStageStats.iHoldNoteScores[m_PlayerNumber][holdScore] ++;
|
||||||
g_CurStageStats.iActualDancePoints[m_PlayerNumber] += HoldNoteScoreToDancePoints( holdScore );
|
g_CurStageStats.iActualDancePoints[m_PlayerNumber] += HoldNoteScoreToDancePoints( holdScore );
|
||||||
|
|||||||
@@ -256,8 +256,11 @@ float StageStats::GetPercentDancePoints( PlayerNumber pn ) const
|
|||||||
if( iActualDancePoints[pn] == iPossibleDancePoints[pn] )
|
if( iActualDancePoints[pn] == iPossibleDancePoints[pn] )
|
||||||
return 1; // correct for rounding error
|
return 1; // correct for rounding error
|
||||||
|
|
||||||
|
ASSERT( iActualDancePoints[pn] <= iPossibleDancePoints[pn] );
|
||||||
|
|
||||||
float fPercentDancePoints = iActualDancePoints[pn] / (float)iPossibleDancePoints[pn];
|
float fPercentDancePoints = iActualDancePoints[pn] / (float)iPossibleDancePoints[pn];
|
||||||
return clamp( fPercentDancePoints, 0, 1 );
|
|
||||||
|
return fPercentDancePoints;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StageStats::SetLifeRecord( PlayerNumber pn, float life, float pos )
|
void StageStats::SetLifeRecord( PlayerNumber pn, float life, float pos )
|
||||||
|
|||||||
Reference in New Issue
Block a user