add shared Stage values (not per-player Stage values) to simplify StageDisplay

This commit is contained in:
Chris Danford
2008-03-29 15:13:52 +00:00
parent 33d8a5fbf4
commit 4f126462a4
5 changed files with 42 additions and 5 deletions
+10 -1
View File
@@ -383,7 +383,14 @@ StringToX( EditMode );
LuaXType( EditMode ); LuaXType( EditMode );
static const char *StageNames[] = { static const char *StageNames[] = {
"Normal", "1st",
"2nd",
"3rd",
"4th",
"5th",
"6th",
"Next",
"Final",
"Extra1", "Extra1",
"Extra2", "Extra2",
"Nonstop", "Nonstop",
@@ -394,6 +401,8 @@ static const char *StageNames[] = {
}; };
XToString( Stage ); XToString( Stage );
LuaXType( Stage ); LuaXType( Stage );
XToLocalizedString( Stage );
LuaFunction( StageToLocalizedString, StageToLocalizedString(Enum::Check<Stage>(L, 1)) );
static const char *MultiPlayerStatusNames[] = { static const char *MultiPlayerStatusNames[] = {
+10 -2
View File
@@ -455,9 +455,16 @@ const RString& EditModeToString( EditMode em );
EditMode StringToEditMode( const RString& s ); EditMode StringToEditMode( const RString& s );
LuaDeclareType( EditMode ); LuaDeclareType( EditMode );
enum Stage enum Stage // Shared stage values (not per-player) that are shown in StageDisplay
{ {
Stage_Normal, Stage_1st,
Stage_2nd,
Stage_3rd,
Stage_4th,
Stage_5th,
Stage_6th,
Stage_Next, // after Stage_6th but not Final. This won't normally happen because 7 stages is the max in the UI.
Stage_Final,
Stage_Extra1, Stage_Extra1,
Stage_Extra2, Stage_Extra2,
Stage_Nonstop, Stage_Nonstop,
@@ -470,6 +477,7 @@ enum Stage
}; };
const RString& StageToString( Stage s ); const RString& StageToString( Stage s );
LuaDeclareType( Stage ); LuaDeclareType( Stage );
const RString& StageToLocalizedString( Stage i );
enum ProfileLoadResult enum ProfileLoadResult
+20 -1
View File
@@ -911,6 +911,11 @@ int GameState::GetSmallestNumStagesLeftForAnyHumanPlayer() const
return iSmallest; return iSmallest;
} }
bool GameState::IsFinalStageForAnyHumanPlayer() const
{
return GetSmallestNumStagesLeftForAnyHumanPlayer() == 1;
}
bool GameState::IsAnExtraStage() const bool GameState::IsAnExtraStage() const
{ {
if( m_MasterPlayerNumber == PlayerNumber_Invalid ) if( m_MasterPlayerNumber == PlayerNumber_Invalid )
@@ -942,7 +947,21 @@ Stage GameState::GetCurrentStage() const
else if( m_PlayMode == PLAY_MODE_ENDLESS ) return Stage_Endless; else if( m_PlayMode == PLAY_MODE_ENDLESS ) return Stage_Endless;
else if( IsExtraStage() ) return Stage_Extra1; else if( IsExtraStage() ) return Stage_Extra1;
else if( IsExtraStage2() ) return Stage_Extra2; else if( IsExtraStage2() ) return Stage_Extra2;
else return Stage_Normal; else if( IsFinalStageForAnyHumanPlayer() ) return Stage_Final;
else
{
switch( this->m_iCurrentStageIndex )
{
case 0: return Stage_1st;
case 1: return Stage_2nd;
case 2: return Stage_3rd;
case 3: return Stage_4th;
case 4: return Stage_5th;
case 5: return Stage_6th;
default: return Stage_Next;
}
}
} }
int GameState::GetCourseSongIndex() const int GameState::GetCourseSongIndex() const
+1
View File
@@ -141,6 +141,7 @@ public:
void FinishStage(); void FinishStage();
int GetNumStagesLeft( PlayerNumber pn ) const; int GetNumStagesLeft( PlayerNumber pn ) const;
int GetSmallestNumStagesLeftForAnyHumanPlayer() const; int GetSmallestNumStagesLeftForAnyHumanPlayer() const;
bool IsFinalStageForAnyHumanPlayer() const;
bool IsAnExtraStage() const; bool IsAnExtraStage() const;
bool IsExtraStage() const; bool IsExtraStage() const;
bool IsExtraStage2() const; bool IsExtraStage2() const;
+1 -1
View File
@@ -99,7 +99,7 @@ void ScreenEvaluation::Init()
GAMESTATE->SetCurrentStyle( GameManager::GameAndStringToStyle(GameManager::GetDefaultGame(),"versus") ); GAMESTATE->SetCurrentStyle( GameManager::GameAndStringToStyle(GameManager::GetDefaultGame(),"versus") );
ss.m_playMode = GAMESTATE->m_PlayMode; ss.m_playMode = GAMESTATE->m_PlayMode;
ss.m_pStyle = GAMESTATE->GetCurrentStyle(); ss.m_pStyle = GAMESTATE->GetCurrentStyle();
ss.m_Stage = Stage_Normal; ss.m_Stage = Stage_1st;
GAMESTATE->m_MasterPlayerNumber = PLAYER_1; GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
GAMESTATE->m_pCurSong.Set( SONGMAN->GetRandomSong() ); GAMESTATE->m_pCurSong.Set( SONGMAN->GetRandomSong() );
ss.m_vpPlayedSongs.push_back( GAMESTATE->m_pCurSong ); ss.m_vpPlayedSongs.push_back( GAMESTATE->m_pCurSong );