Skip to content

Commit

Permalink
Move gameplay restart bool from gameman to gamestate
Browse files Browse the repository at this point in the history
  • Loading branch information
poco0317 committed Sep 15, 2019
1 parent 4621adb commit e8cd51c
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 8 deletions.
6 changes: 2 additions & 4 deletions src/Etterna/Screen/Gameplay/ScreenGameplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1203,7 +1203,7 @@ ScreenGameplay::BeginBackingOutFromGameplay()

m_Cancel.StartTransitioning(SM_DoPrevScreen);

GAMEMAN->m_bRestartedGameplay = true;
GAMESTATE->m_bRestartedGameplay = true;
}

void
Expand Down Expand Up @@ -1348,11 +1348,9 @@ ScreenGameplay::Input(const InputEventPlus& input)
}

// RestartGameplay may only be pressed when in Singleplayer.
// RestartGameplay may not be pressed within Replays.
// Clever theming or something can probably break this, but we should at
// least try.
if (SCREENMAN->GetTopScreen()->GetPrevScreen() == "ScreenSelectMusic" &&
GamePreferences::m_AutoPlay != PC_REPLAY) {
if (SCREENMAN->GetTopScreen()->GetPrevScreen() == "ScreenSelectMusic") {
/* Restart gameplay button moved from theme to allow for rebinding for
* people who dont want to edit lua files :)
*/
Expand Down
4 changes: 3 additions & 1 deletion src/Etterna/Screen/Gameplay/ScreenGameplayReplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ ScreenGameplayReplay::~ScreenGameplayReplay()
m_pSoundMusic->StopPlaying();

m_GameplayAssist.StopPlaying();
GAMESTATE->m_gameplayMode.Set(GameplayMode_Normal);

if (!GAMESTATE->m_bRestartedGameplay)
GAMESTATE->m_gameplayMode.Set(GameplayMode_Normal);

DLMAN->UpdateDLSpeed(false);
}
Expand Down
2 changes: 1 addition & 1 deletion src/Etterna/Screen/Others/ScreenSelectMusic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ ScreenSelectMusic::BeginScreen()
0)
DLMAN->RequestChartLeaderBoard(GAMESTATE->m_pCurSteps->GetChartKey());

GAMEMAN->m_bRestartedGameplay = false;
GAMESTATE->m_bRestartedGameplay = false;

ScreenWithMenuElements::BeginScreen();
}
Expand Down
1 change: 0 additions & 1 deletion src/Etterna/Singletons/GameManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1437,7 +1437,6 @@ GameManager::GameManager()
m_fPreviousRate = 1.f;
m_sModsToReset;
m_vTurnsToReset;
m_bRestartedGameplay;
// Register with Lua.
{
Lua* L = LUA->Get();
Expand Down
1 change: 0 additions & 1 deletion src/Etterna/Singletons/GameManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ class GameManager
float m_fPreviousRate;
RString m_sModsToReset;
vector<RString> m_vTurnsToReset;
bool m_bRestartedGameplay;

// Lua
void PushSelf(lua_State* L);
Expand Down
3 changes: 3 additions & 0 deletions src/Etterna/Singletons/GameState.h
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,9 @@ class GameState
BroadcastOnChange<GameplayMode> m_gameplayMode;
GameplayMode GetGameplayMode() { return m_gameplayMode; }

// A "persistent" way to know if we restarted gameplay (hack)
bool m_bRestartedGameplay;

// Discord Rich Presence
void discordInit();
void updateDiscordPresence(const RString& largeImageText,
Expand Down

0 comments on commit e8cd51c

Please sign in to comment.