grading error fixes, ranking calculation and display fixes, set default difficulty back to same level as 3.0 final

This commit is contained in:
Chris Danford
2003-02-03 05:53:59 +00:00
parent f34705a495
commit d12e090808
23 changed files with 182 additions and 113 deletions
+25 -5
View File
@@ -38,14 +38,15 @@ const int COURSE_TOP_SCORE_VERSION = 1;
#define GROUP_COLOR( i ) THEME->GetMetricC("SongManager",ssprintf("GroupColor%d",i+1))
#define EXTRA_COLOR THEME->GetMetricC("SongManager","ExtraColor")
RageColor g_GroupColors[30];
vector<RageColor> g_vGroupColors;
RageColor g_ExtraColor;
SongManager::SongManager( LoadingWindow *ld )
{
g_vGroupColors.clear();
for( int i=0; i<NUM_GROUP_COLORS; i++ )
g_GroupColors[i] = GROUP_COLOR( i );
g_vGroupColors.push_back( GROUP_COLOR(i) );
g_ExtraColor = EXTRA_COLOR;
InitSongArrayFromDisk( ld );
@@ -285,7 +286,7 @@ void SongManager::SaveMachineScoresToDisk()
FILE* fp = fopen( CATEGORY_TOP_SCORE_FILE, "w" );
if( fp )
{
fprintf(fp,"%d",CATEGORY_TOP_SCORE_VERSION);
fprintf(fp,"%d\n",CATEGORY_TOP_SCORE_VERSION);
for( int i=0; i<NUM_NOTES_TYPES; i++ )
for( int j=0; j<NUM_RANKING_CATEGORIES; j++ )
for( int k=0; k<NUM_RANKING_LINES; k++ )
@@ -351,7 +352,7 @@ RageColor SongManager::GetGroupColor( const CString &sGroupName )
}
ASSERT( i != m_arrayGroupNames.size() ); // this is not a valid group
return g_GroupColors[i%NUM_GROUP_COLORS];
return g_vGroupColors[i%g_vGroupColors.size()];
}
RageColor SongManager::GetSongColor( const Song* pSong )
@@ -368,8 +369,15 @@ RageColor SongManager::GetSongColor( const Song* pSong )
}
void SongManager::GetAllSongs( vector<Song*> &AddTo )
{
AddTo = m_pSongs;
}
void SongManager::GetSongsInGroup( const CString sGroupName, vector<Song*> &AddTo )
{
AddTo.clear();
for( unsigned i=0; i<m_pSongs.size(); i++ )
{
Song* pSong = m_pSongs[i];
@@ -378,6 +386,16 @@ void SongManager::GetSongsInGroup( const CString sGroupName, vector<Song*> &AddT
}
}
int SongManager::GetNumSongs()
{
return m_pSongs.size();
}
int SongManager::GetNumGroups()
{
return m_arrayGroupNames.size();
}
CString SongManager::ShortenGroupName( const CString &sOrigGroupName )
{
CString sShortName = sOrigGroupName;
@@ -678,7 +696,7 @@ void SongManager::AddMachineRecords( NotesType nt, RankingCategory hsc[NUM_PLAYE
if( newHS.fScore > machineScores[i].fScore )
{
// We found the insert point. Shift down.
for( int j=i+1; j<NUM_RANKING_LINES; j++ )
for( int j=NUM_RANKING_LINES-1; j>i; j-- )
machineScores[j] = machineScores[j-1];
// insert
machineScores[i].fScore = newHS.fScore;
@@ -689,3 +707,5 @@ void SongManager::AddMachineRecords( NotesType nt, RankingCategory hsc[NUM_PLAYE
}
}
}