fix grade conversion from a12
This commit is contained in:
@@ -861,6 +861,30 @@ void Profile::LoadSongScoresFromNode( const XNode* pNode )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Grade ConvertA12Grade( Grade g )
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Map
|
||||||
|
* GRADE_NO_DATA=0, GRADE_E, GRADE_D, GRADE_C, GRADE_B, GRADE_A,
|
||||||
|
* GRADE_AA,GRADE_AAA,GRADE_AAAA, NUM_GRADES
|
||||||
|
*
|
||||||
|
* to GRADE_TIER_1 (AAAA) ... GRADE_TIER_7 (D), GRADE_FAILED (E), GRADE_NO_DATA.
|
||||||
|
*/
|
||||||
|
switch( g )
|
||||||
|
{
|
||||||
|
case 0: return GRADE_NO_DATA;
|
||||||
|
case 1: return GRADE_FAILED; /* E */
|
||||||
|
case 2: return GRADE_TIER_7; /* D */
|
||||||
|
case 3: return GRADE_TIER_6; /* C */
|
||||||
|
case 4: return GRADE_TIER_5; /* B */
|
||||||
|
case 5: return GRADE_TIER_4; /* A */
|
||||||
|
case 6: return GRADE_TIER_3; /* AA */
|
||||||
|
case 7: return GRADE_TIER_2; /* AAA */
|
||||||
|
case 8: return GRADE_TIER_1; /* AAAA */
|
||||||
|
default: return GRADE_NO_DATA;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Profile::LoadSongScoresFromDirSM390a12( CString sDir )
|
void Profile::LoadSongScoresFromDirSM390a12( CString sDir )
|
||||||
{
|
{
|
||||||
Profile* pProfile = this;
|
Profile* pProfile = this;
|
||||||
@@ -950,7 +974,7 @@ void Profile::LoadSongScoresFromDirSM390a12( CString sDir )
|
|||||||
Grade grade;
|
Grade grade;
|
||||||
if( !FileRead(f, (int&)grade) )
|
if( !FileRead(f, (int&)grade) )
|
||||||
WARN_AND_RETURN;
|
WARN_AND_RETURN;
|
||||||
CLAMP( grade, (Grade)0, (Grade)(NUM_GRADES-1) );
|
grade = ConvertA12Grade( grade );
|
||||||
|
|
||||||
int iScore;
|
int iScore;
|
||||||
if( !FileRead(f, iScore) )
|
if( !FileRead(f, iScore) )
|
||||||
@@ -1007,7 +1031,9 @@ void Profile::LoadCategoryScoresFromDirSM390a12( CString sDir )
|
|||||||
if( version != SM_390A12_CATEGORY_RANKING_VERSION )
|
if( version != SM_390A12_CATEGORY_RANKING_VERSION )
|
||||||
WARN_AND_RETURN;
|
WARN_AND_RETURN;
|
||||||
|
|
||||||
for( int st=0; st<NUM_STEPS_TYPES; st++ )
|
/* NUM_STEPS_TYPES changed after A12. Only read up to the last unchanged type. We
|
||||||
|
* can probably drop all of this compatibility code before the final release, anyway ... */
|
||||||
|
for( int st=0; st<=STEPS_TYPE_DS3DDX_SINGLE; st++ )
|
||||||
{
|
{
|
||||||
for( int rc=0; rc<NUM_RANKING_CATEGORIES; rc++ )
|
for( int rc=0; rc<NUM_RANKING_CATEGORIES; rc++ )
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user