Use PercentageDisplay
This commit is contained in:
@@ -177,6 +177,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName)
|
|||||||
{
|
{
|
||||||
if( GAMESTATE->IsHumanPlayer(p) && GAMESTATE->m_SongOptions.m_bSaveScore )
|
if( GAMESTATE->IsHumanPlayer(p) && GAMESTATE->m_SongOptions.m_bSaveScore )
|
||||||
{
|
{
|
||||||
|
if( GAMESTATE->m_pCurNotes[p] )
|
||||||
GAMESTATE->m_pCurNotes[p]->AddScore( (PlayerNumber)p, grade[p], stageStats.iScore[p] + stageStats.iBonus[p], bNewRecord[p] );
|
GAMESTATE->m_pCurNotes[p]->AddScore( (PlayerNumber)p, grade[p], stageStats.iScore[p] + stageStats.iBonus[p], bNewRecord[p] );
|
||||||
|
|
||||||
// update unlock data if unlocks are on
|
// update unlock data if unlocks are on
|
||||||
@@ -227,7 +228,6 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName)
|
|||||||
break;
|
break;
|
||||||
case course:
|
case course:
|
||||||
{
|
{
|
||||||
StepsType nt = GAMESTATE->GetCurrentStyleDef()->m_StepsType;
|
|
||||||
bool bIsHumanPlayer[NUM_PLAYERS];
|
bool bIsHumanPlayer[NUM_PLAYERS];
|
||||||
for( p=0; p<NUM_PLAYERS; p++ )
|
for( p=0; p<NUM_PLAYERS; p++ )
|
||||||
bIsHumanPlayer[p] = GAMESTATE->IsHumanPlayer(p);
|
bIsHumanPlayer[p] = GAMESTATE->IsHumanPlayer(p);
|
||||||
@@ -235,16 +235,20 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName)
|
|||||||
int iRankingIndex[NUM_PLAYERS];
|
int iRankingIndex[NUM_PLAYERS];
|
||||||
|
|
||||||
Course* pCourse = GAMESTATE->m_pCurCourse;
|
Course* pCourse = GAMESTATE->m_pCurCourse;
|
||||||
|
if( pCourse )
|
||||||
|
{
|
||||||
int *score;
|
int *score;
|
||||||
if( pCourse->IsOni() )
|
if( pCourse->IsOni() )
|
||||||
score = stageStats.iActualDancePoints;
|
score = stageStats.iActualDancePoints;
|
||||||
else
|
else
|
||||||
score = stageStats.iScore;
|
score = stageStats.iScore;
|
||||||
|
|
||||||
|
StepsType nt = GAMESTATE->GetCurrentStyleDef()->m_StepsType;
|
||||||
pCourse->AddScores( nt, bIsHumanPlayer, score, stageStats.fAliveSeconds, iRankingIndex, bNewRecord );
|
pCourse->AddScores( nt, bIsHumanPlayer, score, stageStats.fAliveSeconds, iRankingIndex, bNewRecord );
|
||||||
COPY( GAMESTATE->m_iRankingIndex, iRankingIndex );
|
COPY( GAMESTATE->m_iRankingIndex, iRankingIndex );
|
||||||
GAMESTATE->m_pRankingCourse = pCourse;
|
GAMESTATE->m_pRankingCourse = pCourse;
|
||||||
GAMESTATE->m_RankingNotesType = nt;
|
GAMESTATE->m_RankingNotesType = nt;
|
||||||
|
}
|
||||||
|
|
||||||
// If unlocking is enabled, save the dance points
|
// If unlocking is enabled, save the dance points
|
||||||
// (for courses)
|
// (for courses)
|
||||||
@@ -399,41 +403,27 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName)
|
|||||||
UtilSetXYAndOnCommand( m_sprPercentFrame[p], "ScreenEvaluation" );
|
UtilSetXYAndOnCommand( m_sprPercentFrame[p], "ScreenEvaluation" );
|
||||||
this->AddChild( &m_sprPercentFrame[p] );
|
this->AddChild( &m_sprPercentFrame[p] );
|
||||||
|
|
||||||
|
/* Use "ScreenEvaluationOni Percent" for the [metric set], but position and
|
||||||
|
* tween it with "PercentP1X", etc. */
|
||||||
|
m_Percent[p].SetName( m_sName + " Percent" );
|
||||||
|
m_Percent[p].Load( (PlayerNumber) p );
|
||||||
|
m_Percent[p].SetXY( THEME->GetMetricF("ScreenEvaluation", ssprintf("PercentP%dX",p+1)),
|
||||||
|
THEME->GetMetricF("ScreenEvaluation",ssprintf("PercentP%dY",p+1)) );
|
||||||
|
m_Percent[p].Command( THEME->GetMetric("ScreenEvaluation",ssprintf("PercentP%dOnCommand",p+1)) );
|
||||||
|
this->AddChild( &m_Percent[p] );
|
||||||
|
|
||||||
|
#if 0
|
||||||
if( !PREFSMAN->m_bDancePointsForOni )
|
if( !PREFSMAN->m_bDancePointsForOni )
|
||||||
{
|
{
|
||||||
m_textPercentWhole[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation percent") );
|
m_textPercentWhole[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation percent") );
|
||||||
m_textPercentWhole[p].EnableShadow( false );
|
|
||||||
m_textPercentWhole[p].SetName( ssprintf("PercentWholeP%d",p+1) );
|
|
||||||
UtilSetXYAndOnCommand( m_textPercentWhole[p], "ScreenEvaluation" );
|
|
||||||
this->AddChild( &m_textPercentWhole[p] );
|
|
||||||
|
|
||||||
m_textPercentRemainder[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation percent") );
|
m_textPercentRemainder[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation percent") );
|
||||||
m_textPercentRemainder[p].EnableShadow( false );
|
|
||||||
m_textPercentRemainder[p].SetName( ssprintf("PercentRemainderP%d",p+1) );
|
|
||||||
UtilSetXYAndOnCommand( m_textPercentRemainder[p], "ScreenEvaluation" );
|
|
||||||
this->AddChild( &m_textPercentRemainder[p] );
|
|
||||||
|
|
||||||
stageStats.iPossibleDancePoints[p] = max( 1, stageStats.iPossibleDancePoints[p] );
|
|
||||||
float fPercentDancePoints = stageStats.iActualDancePoints[p] / (float)stageStats.iPossibleDancePoints[p] + 0.0001f; // correct for rounding errors
|
|
||||||
fPercentDancePoints = max( fPercentDancePoints, 0 );
|
|
||||||
int iPercentWhole = int(fPercentDancePoints*100);
|
|
||||||
int iPercentRemainder = int( (fPercentDancePoints*100 - int(fPercentDancePoints*100)) * 10 );
|
|
||||||
m_textPercentWhole[p].SetText( ssprintf("%02d", iPercentWhole) );
|
|
||||||
m_textPercentRemainder[p].SetText( ssprintf(".%01d%%", iPercentRemainder) );
|
|
||||||
}
|
}
|
||||||
else // PREFSMAN->m_bDancePointsForOni
|
else // PREFSMAN->m_bDancePointsForOni
|
||||||
{
|
{
|
||||||
m_textDancePoints[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation percent") );
|
m_textDancePoints[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation percent") );
|
||||||
m_textDancePoints[p].EnableShadow( false );
|
|
||||||
/* We don't have a hyphen. */
|
|
||||||
if( stageStats.iActualDancePoints[p] < 0 )
|
|
||||||
m_textDancePoints[p].SetText( ssprintf("0") );
|
|
||||||
else
|
|
||||||
m_textDancePoints[p].SetText( ssprintf("%d", stageStats.iActualDancePoints[p]) );
|
|
||||||
m_textDancePoints[p].SetName( ssprintf("DancePointsP%d",p+1) );
|
|
||||||
UtilSetXYAndOnCommand( m_textDancePoints[p], "ScreenEvaluation" );
|
|
||||||
this->AddChild( &m_textDancePoints[p] );
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -751,12 +741,9 @@ void ScreenEvaluation::TweenOffScreen()
|
|||||||
// points area
|
// points area
|
||||||
for( p=0; p<NUM_PLAYERS; p++ )
|
for( p=0; p<NUM_PLAYERS; p++ )
|
||||||
{
|
{
|
||||||
if( !GAMESTATE->IsPlayerEnabled(p) )
|
|
||||||
continue;
|
|
||||||
UtilOffCommand( m_sprPercentFrame[p], "ScreenEvaluation" );
|
UtilOffCommand( m_sprPercentFrame[p], "ScreenEvaluation" );
|
||||||
UtilOffCommand( m_textPercentWhole[p], "ScreenEvaluation" );
|
m_Percent[p].Command( THEME->GetMetric("ScreenEvaluation",ssprintf("PercentP%dOffCommand",p+1)) );
|
||||||
UtilOffCommand( m_textPercentRemainder[p], "ScreenEvaluation" );
|
m_Percent[p].TweenOffScreen();
|
||||||
UtilOffCommand( m_textDancePoints[p], "ScreenEvaluation" );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// bonus area
|
// bonus area
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include "ScoreDisplayNormal.h"
|
#include "ScoreDisplayNormal.h"
|
||||||
#include "Banner.h"
|
#include "Banner.h"
|
||||||
#include "DifficultyIcon.h"
|
#include "DifficultyIcon.h"
|
||||||
|
#include "PercentageDisplay.h"
|
||||||
|
|
||||||
|
|
||||||
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
|
||||||
@@ -69,10 +70,8 @@ protected:
|
|||||||
|
|
||||||
// points area
|
// points area
|
||||||
bool m_bNewSongsUnlocked;
|
bool m_bNewSongsUnlocked;
|
||||||
|
PercentageDisplay m_Percent[NUM_PLAYERS];
|
||||||
Sprite m_sprPercentFrame[NUM_PLAYERS];
|
Sprite m_sprPercentFrame[NUM_PLAYERS];
|
||||||
BitmapText m_textPercentWhole[NUM_PLAYERS];
|
|
||||||
BitmapText m_textPercentRemainder[NUM_PLAYERS];
|
|
||||||
BitmapText m_textDancePoints[NUM_PLAYERS];
|
|
||||||
|
|
||||||
// bonus area
|
// bonus area
|
||||||
Sprite m_sprBonusFrame[NUM_PLAYERS];
|
Sprite m_sprBonusFrame[NUM_PLAYERS];
|
||||||
|
|||||||
Reference in New Issue
Block a user