diff --git a/src/GameState.h b/src/GameState.h index 5c83e534ad..d42ee8ab1f 100644 --- a/src/GameState.h +++ b/src/GameState.h @@ -183,6 +183,8 @@ class GameState bool m_bDemonstrationOrJukebox; bool m_bJukeboxUsesModifiers; int m_iNumStagesOfThisSong; + //Used by GameplayScreen to know if it needs to call NSMAN + bool m_bInNetGameplay = false; /** * @brief Increase this every stage while not resetting on a continue. * diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 9fe12f245e..27c30d5127 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -272,7 +272,7 @@ ScreenGameplay::ScreenGameplay() { m_pSongBackground = NULL; m_pSongForeground = NULL; - m_bForceNoNetwork = false; + m_bForceNoNetwork = !GAMESTATE->m_bInNetGameplay; m_delaying_ready_announce= false; GAMESTATE->m_AdjustTokensBySongCostForFinalStageCheck= false; #if !defined(WITHOUT_NETWORKING) diff --git a/src/ScreenNetSelectMusic.cpp b/src/ScreenNetSelectMusic.cpp index 2689e2f0d3..3708eac166 100644 --- a/src/ScreenNetSelectMusic.cpp +++ b/src/ScreenNetSelectMusic.cpp @@ -258,6 +258,7 @@ void ScreenNetSelectMusic::HandleScreenMessage( const ScreenMessage SM ) } else if( SM == SM_GoToNextScreen ) { + GAMESTATE->m_bInNetGameplay = true; SOUND->StopMusic(); SCREENMAN->SetNewScreen( THEME->GetMetric (m_sName, "NextScreen") ); } diff --git a/src/ScreenSelectMusic.cpp b/src/ScreenSelectMusic.cpp index ea80c2cbc6..9801b93c49 100644 --- a/src/ScreenSelectMusic.cpp +++ b/src/ScreenSelectMusic.cpp @@ -1145,7 +1145,7 @@ void ScreenSelectMusic::HandleScreenMessage(const ScreenMessage SM) m_bAllowOptionsMenu = false; if (OPTIONS_MENU_AVAILABLE && !m_bGoToOptions) this->PlayCommand("HidePressStartForOptions"); - + GAMESTATE->m_bInNetGameplay = false; this->PostScreenMessage(SM_GoToNextScreen, this->GetTweenTimeLeft()); } else if (SM == SM_GoToNextScreen)