This commit is contained in:
Glenn Maynard
2005-08-30 04:30:08 +00:00
parent e89c7c2a60
commit c9b88edeb9
3 changed files with 34 additions and 16 deletions
+12 -2
View File
@@ -242,7 +242,12 @@ static const CString PerDifficultyAwardNames[] = {
XToString( PerDifficultyAward, NUM_PER_DIFFICULTY_AWARDS );
XToThemedString( PerDifficultyAward, NUM_PER_DIFFICULTY_AWARDS );
StringToX( PerDifficultyAward );
static void LuaPerDifficultyAward( lua_State* L )
{
FOREACH_PerDifficultyAward( i )
LUA->SetGlobal( PerDifficultyAwardNames[i], i );
}
REGISTER_WITH_LUA_FUNCTION( LuaPerDifficultyAward );
// Numbers are intentially not at the front of these strings so that the
// strings can be used as XML entity names.
@@ -263,7 +268,12 @@ static const CString PeakComboAwardNames[] = {
XToString( PeakComboAward, NUM_PEAK_COMBO_AWARDS );
XToThemedString( PeakComboAward, NUM_PEAK_COMBO_AWARDS );
StringToX( PeakComboAward );
static void LuaPeakComboAward( lua_State* L )
{
FOREACH_PeakComboAward( i )
LUA->SetGlobal( PeakComboAwardNames[i], i );
}
REGISTER_WITH_LUA_FUNCTION( LuaPeakComboAward );
LuaXToString( Difficulty );
LuaStringToX( Difficulty );
+18 -14
View File
@@ -255,12 +255,8 @@ void ScreenEvaluation::Init()
//
// update persistent statistics
//
int iPersonalHighScoreIndex[NUM_PLAYERS];
int iMachineHighScoreIndex[NUM_PLAYERS];
RankingCategory rc[NUM_PLAYERS];;
PerDifficultyAward pdaToShow[NUM_PLAYERS];
PeakComboAward pcaToShow[NUM_PLAYERS];
CommitScores( m_StageStats, iPersonalHighScoreIndex, iMachineHighScoreIndex, rc, pdaToShow, pcaToShow );
CommitScores( m_StageStats, m_iPersonalHighScoreIndex, m_iMachineHighScoreIndex, rc, m_pdaToShow, m_pcaToShow );
m_bTryExtraStage =
GAMESTATE->HasEarnedExtraStage() &&
@@ -694,32 +690,32 @@ void ScreenEvaluation::Init()
//
FOREACH_EnabledPlayer( p )
{
if( iMachineHighScoreIndex[p] != -1 )
if( m_iMachineHighScoreIndex[p] != -1 )
{
m_sprMachineRecord[p].Load( THEME->GetPathG( m_sName, ssprintf("MachineRecord %02d",iMachineHighScoreIndex[p]+1) ) );
m_sprMachineRecord[p].Load( THEME->GetPathG( m_sName, ssprintf("MachineRecord %02d",m_iMachineHighScoreIndex[p]+1) ) );
m_sprMachineRecord[p]->SetName( ssprintf("MachineRecordP%d",p+1) );
SET_XY_AND_ON_COMMAND( m_sprMachineRecord[p] );
this->AddChild( m_sprMachineRecord[p] );
}
if( iPersonalHighScoreIndex[p] != -1 )
if( m_iPersonalHighScoreIndex[p] != -1 )
{
m_sprPersonalRecord[p].Load( THEME->GetPathG( m_sName, ssprintf("PersonalRecord %02d",iPersonalHighScoreIndex[p]+1) ) );
m_sprPersonalRecord[p].Load( THEME->GetPathG( m_sName, ssprintf("PersonalRecord %02d",m_iPersonalHighScoreIndex[p]+1) ) );
m_sprPersonalRecord[p]->SetName( ssprintf("PersonalRecordP%d",p+1) );
SET_XY_AND_ON_COMMAND( m_sprPersonalRecord[p] );
this->AddChild( m_sprPersonalRecord[p] );
}
if( SHOW_PER_DIFFICULTY_AWARD && pdaToShow[p]!=PER_DIFFICULTY_AWARD_INVALID )
if( SHOW_PER_DIFFICULTY_AWARD && m_pdaToShow[p]!=PER_DIFFICULTY_AWARD_INVALID )
{
CString sAward = PerDifficultyAwardToString( pdaToShow[p] );
CString sAward = PerDifficultyAwardToString( m_pdaToShow[p] );
m_PerDifficultyAward[p].Load( THEME->GetPathG(m_sName,"PerDifficultyAward "+sAward) );
m_PerDifficultyAward[p]->SetName( ssprintf("PerDifficultyAwardP%d",p+1) );
SET_XY_AND_ON_COMMAND( m_PerDifficultyAward[p] );
this->AddChild( m_PerDifficultyAward[p] );
}
if( SHOW_PEAK_COMBO_AWARD && pcaToShow[p]!=PEAK_COMBO_AWARD_INVALID )
if( SHOW_PEAK_COMBO_AWARD && m_pcaToShow[p]!=PEAK_COMBO_AWARD_INVALID )
{
CString sAward = PeakComboAwardToString( pcaToShow[p] );
CString sAward = PeakComboAwardToString( m_pcaToShow[p] );
m_PeakComboAward[p].Load( THEME->GetPathG(m_sName,"PeakComboAward "+sAward) );
m_PeakComboAward[p]->SetName( ssprintf("PeakComboAwardP%d",p+1) );
@@ -730,7 +726,7 @@ void ScreenEvaluation::Init()
bool bOneHasNewTopRecord = false;
FOREACH_PlayerNumber( p )
if( GAMESTATE->IsPlayerEnabled(p) && (iMachineHighScoreIndex[p] != -1 || iPersonalHighScoreIndex[p] != -1) )
if( GAMESTATE->IsPlayerEnabled(p) && (m_iMachineHighScoreIndex[p] != -1 || m_iPersonalHighScoreIndex[p] != -1) )
bOneHasNewTopRecord = true;
Grade best_grade = Grade_NoData;
@@ -1352,10 +1348,18 @@ class LunaScreenEvaluation: public Luna<ScreenEvaluation>
public:
LunaScreenEvaluation() { LUA->Register( Register ); }
static int GetEvalStageStats( T* p, lua_State *L ) { p->m_StageStats.PushSelf( L ); return 1; }
static int GetPersonalHighScoreIndex( T* p, lua_State *L ) { lua_pushnumber( L, p->m_iPersonalHighScoreIndex[IArg(1)] ); return 1; }
static int GetMachineHighScoreIndex( T* p, lua_State *L ) { lua_pushnumber( L, p->m_iMachineHighScoreIndex[IArg(1)] ); return 1; }
static int GetPerDifficultyAward( T* p, lua_State *L ) { lua_pushnumber( L, p->m_pdaToShow[IArg(1)] ); return 1; }
static int GetPeakComboAward( T* p, lua_State *L ) { lua_pushnumber( L, p->m_pcaToShow[IArg(1)] ); return 1; }
static void Register( Lua *L )
{
ADD_METHOD( GetEvalStageStats )
ADD_METHOD( GetPersonalHighScoreIndex )
ADD_METHOD( GetMachineHighScoreIndex )
ADD_METHOD( GetPerDifficultyAward )
ADD_METHOD( GetPeakComboAward )
Luna<T>::Register( L );
}
};
+4
View File
@@ -48,6 +48,10 @@ public:
virtual void PushSelf( lua_State *L );
StageStats m_StageStats;
int m_iPersonalHighScoreIndex[NUM_PLAYERS];
int m_iMachineHighScoreIndex[NUM_PLAYERS];
PerDifficultyAward m_pdaToShow[NUM_PLAYERS];
PeakComboAward m_pcaToShow[NUM_PLAYERS];
protected:
void CommitScores(