Revamped the unlock system. Currently it supports the following methods:

DP - dance points, what Miryokuteki had in place
AP - arcade points, like MAX2 arcade
SP - song points, like MAX2 home (though I don't know the exact system)
CS - clear stages, like 5th home

Somewhat strewn but not supported yet:
!! - Toastys seen
EC - cleared extra stages
EF - fail extra stage (don't quote me on these two yet, I haven't tried them yet)
RO - roulette (theres fifteen roulette slots, but its not implemented yet)

Also updated the INI to store values for these means of unlocking.  The system
still isn't "optimized" yet, though.
This commit is contained in:
Andrew Wong
2003-07-07 10:22:53 +00:00
parent 7622dc7282
commit d27a25e472
7 changed files with 336 additions and 54 deletions
+45
View File
@@ -201,6 +201,12 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) : Screen(sCl
if( GAMESTATE->IsHumanPlayer(p) )
{
GAMESTATE->m_pCurNotes[p]->AddScore( (PlayerNumber)p, grade[p], stageStats.iScore[p], bNewRecord[p] );
// update unlock data
PREFSMAN->m_fTotalStagesCleared += 1;
// switch (
}
}
}
@@ -632,6 +638,45 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) : Screen(sCl
}
}
// If unlocking is enabled, save the dance points
for( p=0; p<NUM_PLAYERS; p++)
if( PREFSMAN->m_bUseUnlockSystem )
{
switch (m_Grades[p].GetGrade())
{
case GRADE_AAAA:
PREFSMAN->m_fArcadePointsAccumulated += 10;
PREFSMAN->m_fSongPointsAccumulated += 20;
break;
case GRADE_AAA:
PREFSMAN->m_fArcadePointsAccumulated += 10;
PREFSMAN->m_fSongPointsAccumulated += 10;
break;
case GRADE_AA:
PREFSMAN->m_fArcadePointsAccumulated += 1;
PREFSMAN->m_fSongPointsAccumulated += 5;
break;
case GRADE_A:
PREFSMAN->m_fArcadePointsAccumulated += 1;
PREFSMAN->m_fSongPointsAccumulated += 4;
break;
case GRADE_B:
PREFSMAN->m_fArcadePointsAccumulated += 1;
PREFSMAN->m_fSongPointsAccumulated += 3;
break;
case GRADE_C:
PREFSMAN->m_fArcadePointsAccumulated += 1;
PREFSMAN->m_fSongPointsAccumulated += 2;
break;
case GRADE_D:
// no points PREFSMAN->m_fArcadePointsAccumulated += 0;
PREFSMAN->m_fSongPointsAccumulated += 1;
break;
}
PREFSMAN->SaveGlobalPrefsToDisk();
}
bool bOneHasNewRecord = false;
for( p=0; p<NUM_PLAYERS; p++ )
if( GAMESTATE->IsPlayerEnabled(p) && bNewRecord[p] )