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
|
||||
* song. Might be called more than once. */
|
||||
void GameState::FinishStage()
|
||||
|
||||
@@ -111,6 +111,7 @@ public:
|
||||
|
||||
int GetStageIndex() const;
|
||||
void BeginStage();
|
||||
void CancelStage();
|
||||
void FinishStage();
|
||||
int GetNumStagesLeft() const;
|
||||
bool IsFinalStage() const;
|
||||
|
||||
@@ -1794,6 +1794,9 @@ void ScreenGameplay::StageFinished()
|
||||
|
||||
// save current stage stats
|
||||
g_vPlayedStageStats.push_back( g_CurStageStats );
|
||||
|
||||
/* Reset options. */
|
||||
GAMESTATE->RestoreSelectedOptions();
|
||||
}
|
||||
|
||||
void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
@@ -2114,8 +2117,8 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
SongFinished();
|
||||
StageFinished();
|
||||
|
||||
/* Reset options. (Should this be done in ScreenSelect*?) */
|
||||
GAMESTATE->RestoreSelectedOptions();
|
||||
GAMESTATE->CancelStage();
|
||||
|
||||
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
|
||||
break;
|
||||
|
||||
@@ -2123,9 +2126,6 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
SongFinished();
|
||||
StageFinished();
|
||||
|
||||
/* Reset options. (Should this be done in ScreenSelect*?) */
|
||||
GAMESTATE->RestoreSelectedOptions();
|
||||
|
||||
if( m_bChangedOffsetOrBPM )
|
||||
{
|
||||
m_bChangedOffsetOrBPM = false;
|
||||
@@ -2178,9 +2178,6 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
SongFinished();
|
||||
StageFinished();
|
||||
|
||||
/* Reset options. (Should this be done in ScreenSelect*?) */
|
||||
GAMESTATE->RestoreSelectedOptions();
|
||||
|
||||
if( m_bChangedOffsetOrBPM )
|
||||
{
|
||||
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
|
||||
{
|
||||
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() )
|
||||
|
||||
Reference in New Issue
Block a user