From e658b6763e1a07fc82ec848f47f22edf5c6bde7f Mon Sep 17 00:00:00 2001 From: "born a rick, raised a morty, died a jerry" Date: Sat, 1 Dec 2018 13:37:04 -0500 Subject: [PATCH] add new screentype to prevent gc from unloading replays at eval --- src/RageTextureManager.cpp | 3 ++- src/Screen.cpp | 1 + src/Screen.h | 1 + src/ScreenEvaluation.h | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/RageTextureManager.cpp b/src/RageTextureManager.cpp index ef30d3c37b..8d62c7edeb 100644 --- a/src/RageTextureManager.cpp +++ b/src/RageTextureManager.cpp @@ -67,7 +67,8 @@ RageTextureManager::Update(float fDeltaTime) static RageTimer garbageCollector; if (garbageCollector.PeekDeltaTime() >= 30.0f) { if ((SCREENMAN != nullptr) && (SCREENMAN->GetTopScreen() != nullptr) && - SCREENMAN->GetTopScreen()->GetScreenType() != gameplay) { + SCREENMAN->GetTopScreen()->GetScreenType() != gameplay && + SCREENMAN->GetTopScreen()->GetScreenType() != evaluation) { DoDelayedDelete(); garbageCollector.Touch(); } diff --git a/src/Screen.cpp b/src/Screen.cpp index a7c39d965a..dcc16c97dc 100644 --- a/src/Screen.cpp +++ b/src/Screen.cpp @@ -19,6 +19,7 @@ static const char* ScreenTypeNames[] = { "Attract", "GameMenu", "Gameplay", + "Evaluation", "SystemMenu", }; XToString(ScreenType); diff --git a/src/Screen.h b/src/Screen.h index 08f001d9cd..7ac55a482f 100644 --- a/src/Screen.h +++ b/src/Screen.h @@ -41,6 +41,7 @@ enum ScreenType game_menu, /**< The menu screens, where options can be set before playing. */ gameplay, /**< The gameplay screen, where the actual game takes place. */ + evaluation, system_menu, /**< The system/operator menu, where special options are set. */ NUM_ScreenType, /**< The number of screen types. */ diff --git a/src/ScreenEvaluation.h b/src/ScreenEvaluation.h index a56b504a0d..d3cdf09237 100644 --- a/src/ScreenEvaluation.h +++ b/src/ScreenEvaluation.h @@ -54,7 +54,7 @@ class ScreenEvaluation : public ScreenWithMenuElements void Init() override; bool Input(const InputEventPlus& input) override; void HandleScreenMessage(ScreenMessage SM) override; - + ScreenType GetScreenType() const override { return evaluation; } bool MenuBack(const InputEventPlus& input) override; bool MenuStart(const InputEventPlus& input) override; void PushSelf(lua_State* L) override;