From 72f2c74062f3d41f8bd8199ab801d06772098056 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Sun, 24 Jun 2018 16:55:45 -0300 Subject: [PATCH] Fix offline gameplayscreen while connected to smo --- src/GameState.h | 2 ++ src/ScreenGameplay.cpp | 2 +- src/ScreenNetSelectMusic.cpp | 1 + src/ScreenSelectMusic.cpp | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) 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)