add shared Stage values (not per-player Stage values) to simplify StageDisplay
This commit is contained in:
@@ -383,7 +383,14 @@ StringToX( EditMode );
|
||||
LuaXType( EditMode );
|
||||
|
||||
static const char *StageNames[] = {
|
||||
"Normal",
|
||||
"1st",
|
||||
"2nd",
|
||||
"3rd",
|
||||
"4th",
|
||||
"5th",
|
||||
"6th",
|
||||
"Next",
|
||||
"Final",
|
||||
"Extra1",
|
||||
"Extra2",
|
||||
"Nonstop",
|
||||
@@ -394,6 +401,8 @@ static const char *StageNames[] = {
|
||||
};
|
||||
XToString( Stage );
|
||||
LuaXType( Stage );
|
||||
XToLocalizedString( Stage );
|
||||
LuaFunction( StageToLocalizedString, StageToLocalizedString(Enum::Check<Stage>(L, 1)) );
|
||||
|
||||
|
||||
static const char *MultiPlayerStatusNames[] = {
|
||||
|
||||
@@ -455,9 +455,16 @@ const RString& EditModeToString( EditMode em );
|
||||
EditMode StringToEditMode( const RString& s );
|
||||
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_Extra2,
|
||||
Stage_Nonstop,
|
||||
@@ -470,6 +477,7 @@ enum Stage
|
||||
};
|
||||
const RString& StageToString( Stage s );
|
||||
LuaDeclareType( Stage );
|
||||
const RString& StageToLocalizedString( Stage i );
|
||||
|
||||
|
||||
enum ProfileLoadResult
|
||||
|
||||
@@ -911,6 +911,11 @@ int GameState::GetSmallestNumStagesLeftForAnyHumanPlayer() const
|
||||
return iSmallest;
|
||||
}
|
||||
|
||||
bool GameState::IsFinalStageForAnyHumanPlayer() const
|
||||
{
|
||||
return GetSmallestNumStagesLeftForAnyHumanPlayer() == 1;
|
||||
}
|
||||
|
||||
bool GameState::IsAnExtraStage() const
|
||||
{
|
||||
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( IsExtraStage() ) return Stage_Extra1;
|
||||
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
|
||||
|
||||
@@ -141,6 +141,7 @@ public:
|
||||
void FinishStage();
|
||||
int GetNumStagesLeft( PlayerNumber pn ) const;
|
||||
int GetSmallestNumStagesLeftForAnyHumanPlayer() const;
|
||||
bool IsFinalStageForAnyHumanPlayer() const;
|
||||
bool IsAnExtraStage() const;
|
||||
bool IsExtraStage() const;
|
||||
bool IsExtraStage2() const;
|
||||
|
||||
@@ -99,7 +99,7 @@ void ScreenEvaluation::Init()
|
||||
GAMESTATE->SetCurrentStyle( GameManager::GameAndStringToStyle(GameManager::GetDefaultGame(),"versus") );
|
||||
ss.m_playMode = GAMESTATE->m_PlayMode;
|
||||
ss.m_pStyle = GAMESTATE->GetCurrentStyle();
|
||||
ss.m_Stage = Stage_Normal;
|
||||
ss.m_Stage = Stage_1st;
|
||||
GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
|
||||
GAMESTATE->m_pCurSong.Set( SONGMAN->GetRandomSong() );
|
||||
ss.m_vpPlayedSongs.push_back( GAMESTATE->m_pCurSong );
|
||||
|
||||
Reference in New Issue
Block a user