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:
@@ -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] )
|
||||
|
||||
Reference in New Issue
Block a user