more high score cleanup
This commit is contained in:
@@ -1359,14 +1359,22 @@ TimeNumberP2X=480
|
|||||||
TimeNumberP2Y=380
|
TimeNumberP2Y=380
|
||||||
TimeNumberP2OnCommand=addx,320;sleep,0.8;decelerate,0.3;addx,-320
|
TimeNumberP2OnCommand=addx,320;sleep,0.8;decelerate,0.3;addx,-320
|
||||||
TimeNumberP2OffCommand=sleep,0.0;accelerate,0.3;addx,320
|
TimeNumberP2OffCommand=sleep,0.0;accelerate,0.3;addx,320
|
||||||
NewRecordP1X=150
|
MachineRecordP1X=70
|
||||||
NewRecordP1Y=398
|
MachineRecordP1Y=398
|
||||||
NewRecordP1OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
|
MachineRecordP1OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
|
||||||
NewRecordP1OffCommand=linear,0.7;diffusealpha,0
|
MachineRecordP1OffCommand=linear,0.7;diffusealpha,0
|
||||||
NewRecordP2X=490
|
MachineRecordP2X=440
|
||||||
NewRecordP2Y=398
|
MachineRecordP2Y=398
|
||||||
NewRecordP2OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
|
MachineRecordP2OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
|
||||||
NewRecordP2OffCommand=linear,0.7;diffusealpha,0
|
MachineRecordP2OffCommand=linear,0.7;diffusealpha,0
|
||||||
|
PersonalRecordP1X=200
|
||||||
|
PersonalRecordP1Y=398
|
||||||
|
PersonalRecordP1OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
|
||||||
|
PersonalRecordP1OffCommand=linear,0.7;diffusealpha,0
|
||||||
|
PersonalRecordP2X=570
|
||||||
|
PersonalRecordP2Y=398
|
||||||
|
PersonalRecordP2OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
|
||||||
|
PersonalRecordP2OffCommand=linear,0.7;diffusealpha,0
|
||||||
TryExtraStageX=320
|
TryExtraStageX=320
|
||||||
TryExtraStageY=428
|
TryExtraStageY=428
|
||||||
TryExtraStageOnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
|
TryExtraStageOnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
|
||||||
@@ -2384,6 +2392,8 @@ NextScreen=ScreenUnlock
|
|||||||
CategoryX=517
|
CategoryX=517
|
||||||
CategoryY=32
|
CategoryY=32
|
||||||
CategoryWidth=222
|
CategoryWidth=222
|
||||||
|
BannerX=517
|
||||||
|
BannerY=32
|
||||||
TypeX=520
|
TypeX=520
|
||||||
TypeY=60
|
TypeY=60
|
||||||
LineSpacingX=0
|
LineSpacingX=0
|
||||||
@@ -2391,7 +2401,7 @@ LineSpacingY=60
|
|||||||
BulletsStartX=100
|
BulletsStartX=100
|
||||||
BulletsStartY=140
|
BulletsStartY=140
|
||||||
TextZoom=1.0
|
TextZoom=1.0
|
||||||
TextSongZoom=0.5
|
TextSongZoom=0.7
|
||||||
TextColor=0.8,0.8,1,1
|
TextColor=0.8,0.8,1,1
|
||||||
NamesStartX=180
|
NamesStartX=180
|
||||||
NamesStartY=140
|
NamesStartY=140
|
||||||
@@ -2401,24 +2411,20 @@ PointsStartX=380
|
|||||||
PointsStartY=140
|
PointsStartY=140
|
||||||
TimeStartX=560
|
TimeStartX=560
|
||||||
TimeStartY=140
|
TimeStartY=140
|
||||||
PercentStartX=560
|
PercentStartX=210
|
||||||
PercentStartY=140
|
PercentStartY=140
|
||||||
PercentColSpacingX=100
|
PercentColSpacingX=110
|
||||||
PercentColSpacingY=0
|
PercentColSpacingY=0
|
||||||
SecondsPerPage=5
|
SecondsPerPage=5
|
||||||
ShowCategories=1
|
ShowCategories=1
|
||||||
ShowAllSongs=0
|
ShowAllSongs=1
|
||||||
CoursesToShow=Courses/DDRMAX/NaokiStandard.crs,Courses/DDRMAX/ParanoiaBrothers.crs,Courses/Samples/PlayersBest1-4.crs
|
CoursesToShow=Courses/DDRMAX/NaokiStandard.crs,Courses/DDRMAX/ParanoiaBrothers.crs,Courses/Samples/PlayersBest1-4.crs
|
||||||
NotesTypesToHide=dance-couple,dance-solo,pump-halfdouble
|
NotesTypesToHide=dance-couple,dance-solo,pump-halfdouble
|
||||||
TextColor1=0.6,0.6,1,1
|
TextColor1=0.6,0.6,1,1
|
||||||
TextColor2=1,0.3,0.3,1
|
TextColor2=1,0.3,0.3,1
|
||||||
TextColor3=0.3,1,0.3,1
|
TextColor3=0.3,1,0.3,1
|
||||||
EmptyScoreName=STEP
|
EmptyScoreName=STEP
|
||||||
EmptyCategoryScore=53700
|
ShowSongDifficulties=easy,medium,hard,challenge
|
||||||
EmptyCourseScore=537
|
|
||||||
EmptyCourseTime=60
|
|
||||||
EmptySongPercent=0
|
|
||||||
ShowDiffCol=beginner,easy,medium,hard,challenge
|
|
||||||
|
|
||||||
|
|
||||||
# Not all game types have NotesTypesToHide set, so add a few dummy colors
|
# Not all game types have NotesTypesToHide set, so add a few dummy colors
|
||||||
@@ -2488,7 +2494,8 @@ NextScreen=ScreenRanking
|
|||||||
[ScreenNameEntry]
|
[ScreenNameEntry]
|
||||||
TimerX=320
|
TimerX=320
|
||||||
TimerY=30
|
TimerY=30
|
||||||
CategoryY=444
|
CategoryY=430
|
||||||
|
CategoryZoom=0.7
|
||||||
CharsZoomSmall=1.0
|
CharsZoomSmall=1.0
|
||||||
CharsZoomLarge=1.5
|
CharsZoomLarge=1.5
|
||||||
CharsSpacingY=40
|
CharsSpacingY=40
|
||||||
|
|||||||
@@ -388,7 +388,7 @@ void Course::MemCardData::AddHighScore( HighScore hs, int &iIndexOut )
|
|||||||
int i;
|
int i;
|
||||||
for( i=0; i<(int)vHighScores.size(); i++ )
|
for( i=0; i<(int)vHighScores.size(); i++ )
|
||||||
{
|
{
|
||||||
if( hs > vHighScores[i] )
|
if( hs >= vHighScores[i] )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if( i < NUM_RANKING_LINES )
|
if( i < NUM_RANKING_LINES )
|
||||||
|
|||||||
@@ -152,9 +152,9 @@ public:
|
|||||||
fSurviveTime = 0;
|
fSurviveTime = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator>( const HighScore& other ) const
|
bool operator>=( const HighScore& other ) const
|
||||||
{
|
{
|
||||||
return iScore > other.iScore;
|
return iScore >= other.iScore;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
vector<HighScore> vHighScores;
|
vector<HighScore> vHighScores;
|
||||||
|
|||||||
@@ -820,7 +820,7 @@ void GameState::GetRankingFeats( PlayerNumber pn, vector<RankingFeats> &asFeatsO
|
|||||||
feat.Feat = ssprintf("MR #%d in %s %s", j+1, pSong->GetTranslitMainTitle().c_str(), DifficultyToString(pSteps->GetDifficulty()).c_str() );
|
feat.Feat = ssprintf("MR #%d in %s %s", j+1, pSong->GetTranslitMainTitle().c_str(), DifficultyToString(pSteps->GetDifficulty()).c_str() );
|
||||||
feat.pStringToFill = &vMachineHighScores[j].sName;
|
feat.pStringToFill = &vMachineHighScores[j].sName;
|
||||||
feat.g = vMachineHighScores[j].grade;
|
feat.g = vMachineHighScores[j].grade;
|
||||||
feat.Score = vMachineHighScores[j].fScore;
|
feat.Score = vMachineHighScores[j].iScore;
|
||||||
|
|
||||||
// XXX: temporary hack
|
// XXX: temporary hack
|
||||||
if( pSong->HasBackground() )
|
if( pSong->HasBackground() )
|
||||||
@@ -843,7 +843,7 @@ void GameState::GetRankingFeats( PlayerNumber pn, vector<RankingFeats> &asFeatsO
|
|||||||
feat.Feat = ssprintf("PR #%d in %s %s", j+1, pSong->GetTranslitMainTitle().c_str(), DifficultyToString(pSteps->GetDifficulty()).c_str() );
|
feat.Feat = ssprintf("PR #%d in %s %s", j+1, pSong->GetTranslitMainTitle().c_str(), DifficultyToString(pSteps->GetDifficulty()).c_str() );
|
||||||
feat.pStringToFill = &vPersonalHighScores[j].sName;
|
feat.pStringToFill = &vPersonalHighScores[j].sName;
|
||||||
feat.g = vPersonalHighScores[j].grade;
|
feat.g = vPersonalHighScores[j].grade;
|
||||||
feat.Score = vPersonalHighScores[j].fScore;
|
feat.Score = vPersonalHighScores[j].iScore;
|
||||||
|
|
||||||
// XXX: temporary hack
|
// XXX: temporary hack
|
||||||
if( pSong->HasBackground() )
|
if( pSong->HasBackground() )
|
||||||
|
|||||||
@@ -192,7 +192,8 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName)
|
|||||||
score = float(stageStats.iScore[p] + stageStats.iBonus[p]);
|
score = float(stageStats.iScore[p] + stageStats.iBonus[p]);
|
||||||
Steps::MemCardData::HighScore hs;
|
Steps::MemCardData::HighScore hs;
|
||||||
hs.grade = grade[p];
|
hs.grade = grade[p];
|
||||||
hs.fScore = score;
|
hs.iScore = score;
|
||||||
|
hs.fPercentDP = stageStats.GetPercentDancePoints( (PlayerNumber)p );
|
||||||
GAMESTATE->m_pCurNotes[p]->AddHighScore( (PlayerNumber)p, hs, iPersonalHighScoreIndex[p], iMachineHighScoreIndex[p] );
|
GAMESTATE->m_pCurNotes[p]->AddHighScore( (PlayerNumber)p, hs, iPersonalHighScoreIndex[p], iMachineHighScoreIndex[p] );
|
||||||
|
|
||||||
// update unlock data if unlocks are on
|
// update unlock data if unlocks are on
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ ScreenNameEntryTraditional::ScreenNameEntryTraditional( CString sClassName ) : S
|
|||||||
|
|
||||||
Steps::MemCardData::HighScore hs;
|
Steps::MemCardData::HighScore hs;
|
||||||
hs.grade = GRADE_A;
|
hs.grade = GRADE_A;
|
||||||
hs.fScore = 42;
|
hs.iScore = 42;
|
||||||
int a, b;
|
int a, b;
|
||||||
GAMESTATE->m_pCurNotes[i]->AddHighScore( (PlayerNumber)i, hs, a,b );
|
GAMESTATE->m_pCurNotes[i]->AddHighScore( (PlayerNumber)i, hs, a,b );
|
||||||
|
|
||||||
|
|||||||
@@ -18,10 +18,16 @@
|
|||||||
#include "Course.h"
|
#include "Course.h"
|
||||||
#include "song.h"
|
#include "song.h"
|
||||||
#include "PrefsManager.h"
|
#include "PrefsManager.h"
|
||||||
|
#include "NoteData.h"
|
||||||
|
#include "NoteDataUtil.h"
|
||||||
|
#include "ScoreKeeperMAX2.h"
|
||||||
|
#include "ScoreKeeper5th.h"
|
||||||
|
|
||||||
#define CATEGORY_X THEME->GetMetricF("ScreenRanking","CategoryX")
|
#define CATEGORY_X THEME->GetMetricF("ScreenRanking","CategoryX")
|
||||||
#define CATEGORY_Y THEME->GetMetricF("ScreenRanking","CategoryY")
|
#define CATEGORY_Y THEME->GetMetricF("ScreenRanking","CategoryY")
|
||||||
#define CATEGORY_WIDTH THEME->GetMetricF("ScreenRanking","CategoryWidth")
|
#define CATEGORY_WIDTH THEME->GetMetricF("ScreenRanking","CategoryWidth")
|
||||||
|
#define BANNER_X THEME->GetMetricF("ScreenRanking","BannerX")
|
||||||
|
#define BANNER_Y THEME->GetMetricF("ScreenRanking","BannerY")
|
||||||
#define TYPE_X THEME->GetMetricF("ScreenRanking","TypeX")
|
#define TYPE_X THEME->GetMetricF("ScreenRanking","TypeX")
|
||||||
#define TYPE_Y THEME->GetMetricF("ScreenRanking","TypeY")
|
#define TYPE_Y THEME->GetMetricF("ScreenRanking","TypeY")
|
||||||
#define LINE_SPACING_X THEME->GetMetricF("ScreenRanking","LineSpacingX")
|
#define LINE_SPACING_X THEME->GetMetricF("ScreenRanking","LineSpacingX")
|
||||||
@@ -48,11 +54,7 @@
|
|||||||
#define SHOW_ALL_SONGS THEME->GetMetricB("ScreenRanking","ShowAllSongs")
|
#define SHOW_ALL_SONGS THEME->GetMetricB("ScreenRanking","ShowAllSongs")
|
||||||
#define NOTES_TYPES_TO_HIDE THEME->GetMetric ("ScreenRanking","NotesTypesToHide")
|
#define NOTES_TYPES_TO_HIDE THEME->GetMetric ("ScreenRanking","NotesTypesToHide")
|
||||||
#define EMPTY_SCORE_NAME THEME->GetMetric ("ScreenRanking","EmptyScoreName")
|
#define EMPTY_SCORE_NAME THEME->GetMetric ("ScreenRanking","EmptyScoreName")
|
||||||
#define EMPTY_CATEGORY_SCORE THEME->GetMetricI("ScreenRanking","EmptyCategoryScore")
|
#define SHOW_SONG_DIFFICULTIES THEME->GetMetric ("ScreenRanking","ShowSongDifficulties")
|
||||||
#define EMPTY_COURSE_SCORE THEME->GetMetricI("ScreenRanking","EmptyCourseScore")
|
|
||||||
#define EMPTY_COURSE_TIME THEME->GetMetricF("ScreenRanking","EmptyCourseTime")
|
|
||||||
#define EMPTY_SONG_PERCENT THEME->GetMetricF("ScreenRanking","EmptySongPercent")
|
|
||||||
#define SHOW_DIFF_COLS THEME->GetMetric ("ScreenRanking","ShowDiffCol")
|
|
||||||
|
|
||||||
#define COURSES_TO_SHOW PREFSMAN->m_sCoursesToShowRanking
|
#define COURSES_TO_SHOW PREFSMAN->m_sCoursesToShowRanking
|
||||||
|
|
||||||
@@ -65,6 +67,9 @@ ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName )
|
|||||||
m_sprCategory.SetXY( CATEGORY_X, CATEGORY_Y );
|
m_sprCategory.SetXY( CATEGORY_X, CATEGORY_Y );
|
||||||
this->AddChild( &m_sprCategory );
|
this->AddChild( &m_sprCategory );
|
||||||
|
|
||||||
|
m_banner.SetXY( BANNER_X, BANNER_Y );
|
||||||
|
this->AddChild( &m_banner );
|
||||||
|
|
||||||
m_textCategory.LoadFromFont( THEME->GetPathToF("ScreenRanking title") );
|
m_textCategory.LoadFromFont( THEME->GetPathToF("ScreenRanking title") );
|
||||||
m_textCategory.EnableShadow( false );
|
m_textCategory.EnableShadow( false );
|
||||||
m_textCategory.SetXY( CATEGORY_X, CATEGORY_Y );
|
m_textCategory.SetXY( CATEGORY_X, CATEGORY_Y );
|
||||||
@@ -76,7 +81,7 @@ ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName )
|
|||||||
|
|
||||||
// make the list of difficulties to show
|
// make the list of difficulties to show
|
||||||
vector<CString> sShowDiffs;
|
vector<CString> sShowDiffs;
|
||||||
split( SHOW_DIFF_COLS, ",", sShowDiffs, true );
|
split( SHOW_SONG_DIFFICULTIES, ",", sShowDiffs, true );
|
||||||
|
|
||||||
for( vector<CString>::const_iterator iter = sShowDiffs.begin(); iter != sShowDiffs.end(); iter++ )
|
for( vector<CString>::const_iterator iter = sShowDiffs.begin(); iter != sShowDiffs.end(); iter++ )
|
||||||
{
|
{
|
||||||
@@ -135,14 +140,12 @@ ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName )
|
|||||||
m_sprDiffHeaders[d].SetDiffuse( RageColor(1,1,1,0) );
|
m_sprDiffHeaders[d].SetDiffuse( RageColor(1,1,1,0) );
|
||||||
m_sprDiffHeaders[d].StopAnimating();
|
m_sprDiffHeaders[d].StopAnimating();
|
||||||
m_sprDiffHeaders[d].SetState(d);
|
m_sprDiffHeaders[d].SetState(d);
|
||||||
m_sprDiffHeaders[d].SetHorizAlign( Actor::align_right );
|
|
||||||
|
|
||||||
for( int i=0; i<NUM_RANKING_LINES; i++ )
|
for( int i=0; i<NUM_RANKING_LINES; i++ )
|
||||||
{
|
{
|
||||||
m_textPercent[i][d].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") );
|
m_textPercent[i][d].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") );
|
||||||
m_textPercent[i][d].EnableShadow( false );
|
m_textPercent[i][d].EnableShadow( false );
|
||||||
m_textPercent[i][d].SetZoom( TEXT_SONGZOOM );
|
m_textPercent[i][d].SetZoom( TEXT_SONGZOOM );
|
||||||
m_textPercent[i][d].SetHorizAlign( Actor::align_right );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -287,6 +290,7 @@ void ScreenRanking::SetPage( PageToShow pts )
|
|||||||
m_textTime[l].SetText( "" );
|
m_textTime[l].SetText( "" );
|
||||||
for( DiffVectorCIter j=m_vDiffsToShow.begin(); j<m_vDiffsToShow.end(); j++ )
|
for( DiffVectorCIter j=m_vDiffsToShow.begin(); j<m_vDiffsToShow.end(); j++ )
|
||||||
m_textPercent[l][*j].SetText( "" );
|
m_textPercent[l][*j].SetText( "" );
|
||||||
|
m_banner.UnloadTexture();
|
||||||
}
|
}
|
||||||
for( int d=0; d<NUM_DIFFICULTIES; d++ )
|
for( int d=0; d<NUM_DIFFICULTIES; d++ )
|
||||||
{
|
{
|
||||||
@@ -306,14 +310,9 @@ void ScreenRanking::SetPage( PageToShow pts )
|
|||||||
{
|
{
|
||||||
SongManager::CategoryData::HighScore hs;
|
SongManager::CategoryData::HighScore hs;
|
||||||
if( l < (int)SONGMAN->m_CategoryDatas[pts.nt][pts.category].vHighScores.size() )
|
if( l < (int)SONGMAN->m_CategoryDatas[pts.nt][pts.category].vHighScores.size() )
|
||||||
{
|
|
||||||
hs = SONGMAN->m_CategoryDatas[pts.nt][pts.category].vHighScores[l];
|
hs = SONGMAN->m_CategoryDatas[pts.nt][pts.category].vHighScores[l];
|
||||||
}
|
if( hs.sName.empty() )
|
||||||
else
|
|
||||||
{
|
|
||||||
hs.sName = EMPTY_SCORE_NAME;
|
hs.sName = EMPTY_SCORE_NAME;
|
||||||
hs.iScore = EMPTY_CATEGORY_SCORE;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_sprBullets[l].SetDiffuse( RageColor(1,1,1,1) );
|
m_sprBullets[l].SetDiffuse( RageColor(1,1,1,1) );
|
||||||
m_textNames[l].SetText( hs.sName );
|
m_textNames[l].SetText( hs.sName );
|
||||||
@@ -365,15 +364,9 @@ void ScreenRanking::SetPage( PageToShow pts )
|
|||||||
{
|
{
|
||||||
Course::MemCardData::HighScore hs;
|
Course::MemCardData::HighScore hs;
|
||||||
if( l < (int)pts.pCourse->m_MemCardDatas[pts.nt][MEMORY_CARD_MACHINE].vHighScores.size() )
|
if( l < (int)pts.pCourse->m_MemCardDatas[pts.nt][MEMORY_CARD_MACHINE].vHighScores.size() )
|
||||||
{
|
|
||||||
hs = pts.pCourse->m_MemCardDatas[pts.nt][MEMORY_CARD_MACHINE].vHighScores[l];
|
hs = pts.pCourse->m_MemCardDatas[pts.nt][MEMORY_CARD_MACHINE].vHighScores[l];
|
||||||
}
|
if( hs.sName.empty() )
|
||||||
else
|
|
||||||
{
|
|
||||||
hs.sName = EMPTY_SCORE_NAME;
|
hs.sName = EMPTY_SCORE_NAME;
|
||||||
hs.iScore = EMPTY_COURSE_SCORE;
|
|
||||||
hs.fSurviveTime = EMPTY_COURSE_TIME;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_sprBullets[l].SetDiffuse( RageColor(1,1,1,1) );
|
m_sprBullets[l].SetDiffuse( RageColor(1,1,1,1) );
|
||||||
m_textNames[l].SetText( hs.sName );
|
m_textNames[l].SetText( hs.sName );
|
||||||
@@ -417,8 +410,9 @@ void ScreenRanking::SetPage( PageToShow pts )
|
|||||||
m_textCategory.SetDiffuseAlpha(0);
|
m_textCategory.SetDiffuseAlpha(0);
|
||||||
m_sprCategory.SetDiffuseAlpha(0);
|
m_sprCategory.SetDiffuseAlpha(0);
|
||||||
|
|
||||||
m_sprCategory.Load( pts.pSong->GetBannerPath() );
|
m_banner.LoadFromSong( pts.pSong );
|
||||||
m_sprCategory.SetDiffuseAlpha(1);
|
m_banner.SetDiffuseAlpha(1);
|
||||||
|
|
||||||
m_textCategory.SetZoom(1);
|
m_textCategory.SetZoom(1);
|
||||||
m_textCategory.SetTextMaxWidth( CATEGORY_WIDTH, pts.pSong->GetFullTranslitTitle() );
|
m_textCategory.SetTextMaxWidth( CATEGORY_WIDTH, pts.pSong->GetFullTranslitTitle() );
|
||||||
m_textCategory.SetDiffuseAlpha(1);
|
m_textCategory.SetDiffuseAlpha(1);
|
||||||
@@ -449,18 +443,13 @@ void ScreenRanking::SetPage( PageToShow pts )
|
|||||||
m_sprBullets[l].SetDiffuse( RageColor(1,1,1,1) );
|
m_sprBullets[l].SetDiffuse( RageColor(1,1,1,1) );
|
||||||
|
|
||||||
Steps::MemCardData::HighScore hs;
|
Steps::MemCardData::HighScore hs;
|
||||||
|
|
||||||
if( l < (int)pSteps->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores.size() )
|
if( l < (int)pSteps->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores.size() )
|
||||||
{
|
|
||||||
hs = pSteps->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores[l];
|
hs = pSteps->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores[l];
|
||||||
|
if( hs.sName.empty() )
|
||||||
|
hs.sName = EMPTY_SCORE_NAME;
|
||||||
|
|
||||||
m_textPercent[l][d].SetText( ssprintf("%s %f%", hs.sName.c_str(), hs.fScore) );
|
m_textPercent[l][d].SetText( ssprintf("%s\n%0.3f%%", hs.sName.c_str(), hs.fPercentDP*100) );
|
||||||
}
|
m_textPercent[l][d].SetDiffuse( TEXT_COLOR(pts.colorIndex) );
|
||||||
else
|
|
||||||
{
|
|
||||||
m_textPercent[l][d].SetText( ssprintf("%s", EMPTY_SCORE_NAME.c_str()) );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -483,9 +472,11 @@ void ScreenRanking::TweenPageOnScreen()
|
|||||||
m_textScores[l].FadeOn(0.2f+l*0.1f,"bounce right far",1.f);
|
m_textScores[l].FadeOn(0.2f+l*0.1f,"bounce right far",1.f);
|
||||||
m_textPoints[l].FadeOn(0.2f+l*0.1f,"bounce right far",1.f);
|
m_textPoints[l].FadeOn(0.2f+l*0.1f,"bounce right far",1.f);
|
||||||
m_textTime[l].FadeOn(0.2f+l*0.1f,"bounce right far",1.f);
|
m_textTime[l].FadeOn(0.2f+l*0.1f,"bounce right far",1.f);
|
||||||
|
for( int d=0; d<NUM_DIFFICULTIES; d++ )
|
||||||
|
m_textPercent[l][d].FadeOn(0.2f+l*0.1f,"bounce right far",1.f);
|
||||||
}
|
}
|
||||||
for( int d=0; d<NUM_DIFFICULTIES; d++ )
|
for( int d=0; d<NUM_DIFFICULTIES; d++ )
|
||||||
m_sprDiffHeaders[d].FadeOn(0.2f,"bounce right far",1.f);
|
m_sprDiffHeaders[d].FadeOn(0,"bounce right far",1.f);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -502,8 +493,9 @@ void ScreenRanking::TweenPageOffScreen()
|
|||||||
m_textScores[l].FadeOff(0.2f+l*0.1f,"fade",0.25f);
|
m_textScores[l].FadeOff(0.2f+l*0.1f,"fade",0.25f);
|
||||||
m_textPoints[l].FadeOff(0.2f+l*0.1f,"fade",0.25f);
|
m_textPoints[l].FadeOff(0.2f+l*0.1f,"fade",0.25f);
|
||||||
m_textTime[l].FadeOff(0.2f+l*0.1f,"fade",0.25f);
|
m_textTime[l].FadeOff(0.2f+l*0.1f,"fade",0.25f);
|
||||||
|
for( int d=0; d<NUM_DIFFICULTIES; d++ )
|
||||||
|
m_textPercent[l][d].FadeOff(0.2f+l*0.1f,"fade",0.25f);
|
||||||
}
|
}
|
||||||
for( int d=0; d<NUM_DIFFICULTIES; d++ )
|
for( int d=0; d<NUM_DIFFICULTIES; d++ )
|
||||||
m_sprDiffHeaders[d].FadeOff(0.2f+d*0.1f,"fade",0.25f);
|
m_sprDiffHeaders[d].FadeOff(0,"fade",0.25f);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
#include "Style.h"
|
#include "Style.h"
|
||||||
#include "Sprite.h"
|
#include "Sprite.h"
|
||||||
#include "BitmapText.h"
|
#include "BitmapText.h"
|
||||||
|
#include "Banner.h"
|
||||||
|
|
||||||
class Course;
|
class Course;
|
||||||
class Song;
|
class Song;
|
||||||
@@ -42,6 +43,7 @@ protected:
|
|||||||
|
|
||||||
|
|
||||||
Sprite m_sprCategory;
|
Sprite m_sprCategory;
|
||||||
|
Banner m_banner;
|
||||||
BitmapText m_textCategory;
|
BitmapText m_textCategory;
|
||||||
Sprite m_sprType;
|
Sprite m_sprType;
|
||||||
Sprite m_sprBullets[NUM_RANKING_LINES];
|
Sprite m_sprBullets[NUM_RANKING_LINES];
|
||||||
|
|||||||
@@ -900,18 +900,18 @@ void ScreenSelectMusic::AfterNotesChange( PlayerNumber pn )
|
|||||||
|
|
||||||
if( pNotes )
|
if( pNotes )
|
||||||
{
|
{
|
||||||
float fScore = 0;
|
int iScore = 0;
|
||||||
if( PROFILEMAN->IsUsingProfile(pn) )
|
if( PROFILEMAN->IsUsingProfile(pn) )
|
||||||
{
|
{
|
||||||
if( !pNotes->m_MemCardDatas[pn].vHighScores.empty() )
|
if( !pNotes->m_MemCardDatas[pn].vHighScores.empty() )
|
||||||
fScore = pNotes->m_MemCardDatas[pn].vHighScores[0].fScore;
|
iScore = pNotes->m_MemCardDatas[pn].vHighScores[0].iScore;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( !pNotes->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores.empty() )
|
if( !pNotes->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores.empty() )
|
||||||
fScore = pNotes->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores[0].fScore;
|
iScore = pNotes->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores[0].iScore;
|
||||||
}
|
}
|
||||||
m_textHighScore[pn].SetText( ssprintf("%*i", NUM_SCORE_DIGITS, (int) fScore) );
|
m_textHighScore[pn].SetText( ssprintf("%*i", NUM_SCORE_DIGITS, iScore) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ const CString CATEGORY_RANKING_FILE = BASE_PATH "Data" SLASH "CategoryRanking.
|
|||||||
const CString MACHINE_STEPS_MEM_CARD_DATA = BASE_PATH "Data" SLASH "MachineStepsMemCardData.dat";
|
const CString MACHINE_STEPS_MEM_CARD_DATA = BASE_PATH "Data" SLASH "MachineStepsMemCardData.dat";
|
||||||
const CString MACHINE_COURSE_MEM_CARD_DATA = BASE_PATH "Data" SLASH "MachineCourseMemCardData.dat";
|
const CString MACHINE_COURSE_MEM_CARD_DATA = BASE_PATH "Data" SLASH "MachineCourseMemCardData.dat";
|
||||||
const int CATEGORY_RANKING_VERSION = 2;
|
const int CATEGORY_RANKING_VERSION = 2;
|
||||||
const int STEPS_MEM_CARD_DATA_VERSION = 4;
|
const int STEPS_MEM_CARD_DATA_VERSION = 5;
|
||||||
const int COURSE_MEM_CARD_DATA_VERSION = 3;
|
const int COURSE_MEM_CARD_DATA_VERSION = 3;
|
||||||
|
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@ void SongManager::CategoryData::AddHighScore( HighScore hs, int &iIndexOut )
|
|||||||
int i;
|
int i;
|
||||||
for( i=0; i<(int)vHighScores.size(); i++ )
|
for( i=0; i<(int)vHighScores.size(); i++ )
|
||||||
{
|
{
|
||||||
if( hs > vHighScores[i] )
|
if( hs >= vHighScores[i] )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if( i < NUM_RANKING_LINES )
|
if( i < NUM_RANKING_LINES )
|
||||||
@@ -435,19 +435,24 @@ void SongManager::ReadStepsMemCardDataFromFile( CString fn, int mc )
|
|||||||
WARN_AND_RETURN;
|
WARN_AND_RETURN;
|
||||||
CLAMP( grade, (Grade)0, (Grade)(NUM_GRADES-1) );
|
CLAMP( grade, (Grade)0, (Grade)(NUM_GRADES-1) );
|
||||||
|
|
||||||
float fScore;
|
float iScore;
|
||||||
if( !FileRead(f, fScore) )
|
if( !FileRead(f, iScore) )
|
||||||
WARN_AND_RETURN;
|
WARN_AND_RETURN;
|
||||||
|
|
||||||
CString sName;
|
CString sName;
|
||||||
if( !FileRead(f, sName) )
|
if( !FileRead(f, sName) )
|
||||||
WARN_AND_RETURN;
|
WARN_AND_RETURN;
|
||||||
|
|
||||||
|
float fPercentDP;
|
||||||
|
if( !FileRead(f, fPercentDP) )
|
||||||
|
WARN_AND_RETURN;
|
||||||
|
|
||||||
if( pNotes )
|
if( pNotes )
|
||||||
{
|
{
|
||||||
pNotes->m_MemCardDatas[mc].vHighScores[l].grade = grade;
|
|
||||||
pNotes->m_MemCardDatas[mc].vHighScores[l].fScore = fScore;
|
|
||||||
pNotes->m_MemCardDatas[mc].vHighScores[l].sName = sName;
|
pNotes->m_MemCardDatas[mc].vHighScores[l].sName = sName;
|
||||||
|
pNotes->m_MemCardDatas[mc].vHighScores[l].grade = grade;
|
||||||
|
pNotes->m_MemCardDatas[mc].vHighScores[l].iScore = iScore;
|
||||||
|
pNotes->m_MemCardDatas[mc].vHighScores[l].fPercentDP = fPercentDP;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -617,10 +622,10 @@ void SongManager::ReadSM300NoteScores()
|
|||||||
|
|
||||||
iRetVal = sscanf(
|
iRetVal = sscanf(
|
||||||
value,
|
value,
|
||||||
"%d::%[^:]::%f::%d",
|
"%d::%[^:]::%d::%d",
|
||||||
&pNotes->m_MemCardDatas[MEMORY_CARD_MACHINE].iNumTimesPlayed,
|
&pNotes->m_MemCardDatas[MEMORY_CARD_MACHINE].iNumTimesPlayed,
|
||||||
szGradeLetters,
|
szGradeLetters,
|
||||||
&pNotes->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores[0].fScore,
|
&pNotes->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores[0].iScore,
|
||||||
&iMaxCombo
|
&iMaxCombo
|
||||||
);
|
);
|
||||||
if( iRetVal != 4 )
|
if( iRetVal != 4 )
|
||||||
@@ -729,9 +734,10 @@ void SongManager::SaveStepsMemCardDataToFile( CString fn, int mc )
|
|||||||
pNotes->m_MemCardDatas[mc].vHighScores.resize(NUM_RANKING_LINES);
|
pNotes->m_MemCardDatas[mc].vHighScores.resize(NUM_RANKING_LINES);
|
||||||
for( int l=0; l<NUM_RANKING_LINES; l++ )
|
for( int l=0; l<NUM_RANKING_LINES; l++ )
|
||||||
{
|
{
|
||||||
FileWrite( f, pNotes->m_MemCardDatas[mc].vHighScores[l].grade );
|
|
||||||
FileWrite( f, pNotes->m_MemCardDatas[mc].vHighScores[l].fScore );
|
|
||||||
FileWrite( f, pNotes->m_MemCardDatas[mc].vHighScores[l].sName );
|
FileWrite( f, pNotes->m_MemCardDatas[mc].vHighScores[l].sName );
|
||||||
|
FileWrite( f, pNotes->m_MemCardDatas[mc].vHighScores[l].grade );
|
||||||
|
FileWrite( f, pNotes->m_MemCardDatas[mc].vHighScores[l].iScore );
|
||||||
|
FileWrite( f, pNotes->m_MemCardDatas[mc].vHighScores[l].fPercentDP );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,9 +101,9 @@ public:
|
|||||||
iScore = 0;
|
iScore = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator>( const HighScore& other ) const
|
bool operator>=( const HighScore& other ) const
|
||||||
{
|
{
|
||||||
return iScore > other.iScore;
|
return iScore >= other.iScore;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
vector<HighScore> vHighScores;
|
vector<HighScore> vHighScores;
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ void SortNotesArrayByDifficulty( vector<Steps*> &arraySteps )
|
|||||||
|
|
||||||
bool Steps::MemCardData::HighScore::operator>=( const Steps::MemCardData::HighScore& other ) const
|
bool Steps::MemCardData::HighScore::operator>=( const Steps::MemCardData::HighScore& other ) const
|
||||||
{
|
{
|
||||||
return fScore >= other.fScore;
|
return iScore >= other.iScore;
|
||||||
/* Make sure we treat AAAA as higher than AAA, even though the score
|
/* Make sure we treat AAAA as higher than AAA, even though the score
|
||||||
* is the same.
|
* is the same.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -66,12 +66,14 @@ public:
|
|||||||
{
|
{
|
||||||
CString sName;
|
CString sName;
|
||||||
Grade grade;
|
Grade grade;
|
||||||
float fScore;
|
int iScore;
|
||||||
|
float fPercentDP;
|
||||||
|
|
||||||
HighScore()
|
HighScore()
|
||||||
{
|
{
|
||||||
grade = GRADE_NO_DATA;
|
grade = GRADE_NO_DATA;
|
||||||
fScore = 0;
|
iScore = 0;
|
||||||
|
fPercentDP = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator>=( const HighScore& other ) const;
|
bool operator>=( const HighScore& other ) const;
|
||||||
|
|||||||
Reference in New Issue
Block a user