simplify
fix stage counter increasing on BACK
This commit is contained in:
@@ -442,6 +442,11 @@ void GameState::BeginStage()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameState::CancelStage()
|
||||||
|
{
|
||||||
|
m_iNumStagesOfThisSong = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Called by ScreenSelectMusic (etc). Increment the stage counter if we just played a
|
/* Called by ScreenSelectMusic (etc). Increment the stage counter if we just played a
|
||||||
* song. Might be called more than once. */
|
* song. Might be called more than once. */
|
||||||
void GameState::FinishStage()
|
void GameState::FinishStage()
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ public:
|
|||||||
|
|
||||||
int GetStageIndex() const;
|
int GetStageIndex() const;
|
||||||
void BeginStage();
|
void BeginStage();
|
||||||
|
void CancelStage();
|
||||||
void FinishStage();
|
void FinishStage();
|
||||||
int GetNumStagesLeft() const;
|
int GetNumStagesLeft() const;
|
||||||
bool IsFinalStage() const;
|
bool IsFinalStage() const;
|
||||||
|
|||||||
@@ -1794,6 +1794,9 @@ void ScreenGameplay::StageFinished()
|
|||||||
|
|
||||||
// save current stage stats
|
// save current stage stats
|
||||||
g_vPlayedStageStats.push_back( g_CurStageStats );
|
g_vPlayedStageStats.push_back( g_CurStageStats );
|
||||||
|
|
||||||
|
/* Reset options. */
|
||||||
|
GAMESTATE->RestoreSelectedOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||||
@@ -2114,8 +2117,8 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
SongFinished();
|
SongFinished();
|
||||||
StageFinished();
|
StageFinished();
|
||||||
|
|
||||||
/* Reset options. (Should this be done in ScreenSelect*?) */
|
GAMESTATE->CancelStage();
|
||||||
GAMESTATE->RestoreSelectedOptions();
|
|
||||||
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
|
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2123,9 +2126,6 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
SongFinished();
|
SongFinished();
|
||||||
StageFinished();
|
StageFinished();
|
||||||
|
|
||||||
/* Reset options. (Should this be done in ScreenSelect*?) */
|
|
||||||
GAMESTATE->RestoreSelectedOptions();
|
|
||||||
|
|
||||||
if( m_bChangedOffsetOrBPM )
|
if( m_bChangedOffsetOrBPM )
|
||||||
{
|
{
|
||||||
m_bChangedOffsetOrBPM = false;
|
m_bChangedOffsetOrBPM = false;
|
||||||
@@ -2178,9 +2178,6 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
SongFinished();
|
SongFinished();
|
||||||
StageFinished();
|
StageFinished();
|
||||||
|
|
||||||
/* Reset options. (Should this be done in ScreenSelect*?) */
|
|
||||||
GAMESTATE->RestoreSelectedOptions();
|
|
||||||
|
|
||||||
if( m_bChangedOffsetOrBPM )
|
if( m_bChangedOffsetOrBPM )
|
||||||
{
|
{
|
||||||
m_bChangedOffsetOrBPM = false;
|
m_bChangedOffsetOrBPM = false;
|
||||||
@@ -2201,7 +2198,10 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
}
|
}
|
||||||
else // the theme says just fail and go back to the song select for event mode
|
else // the theme says just fail and go back to the song select for event mode
|
||||||
{
|
{
|
||||||
HandleScreenMessage( SM_GoToScreenAfterBack );
|
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
|
||||||
|
|
||||||
|
/* Don't do this; it'll call SongFinished, etc. again. -glenn */
|
||||||
|
// HandleScreenMessage( SM_GoToScreenAfterBack );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
|
else if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
|
||||||
|
|||||||
Reference in New Issue
Block a user