From d9d325ac6c97cb53be64639cf5d6b8a2038c9d0f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 18 Aug 2017 22:42:21 -0400 Subject: TITANIC: Allow GMM/F7 loading in prologue before player gets the PET --- engines/titanic/titanic.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/engines/titanic/titanic.cpp b/engines/titanic/titanic.cpp index 5fd72371eb..9b1b9d66d3 100644 --- a/engines/titanic/titanic.cpp +++ b/engines/titanic/titanic.cpp @@ -181,23 +181,30 @@ bool TitanicEngine::canLoadGameStateCurrently() { CGameManager *gameManager = _window->_gameManager; CScreenManager *screenMan = CScreenManager::_screenManagerPtr; - if (!_window->_inputAllowed || !gameManager->_gameState._petActive) + if (!_window->_inputAllowed) return false; if (screenMan && screenMan->_inputHandler->isLocked()) return false; CProjectItem *project = gameManager->_project; if (project) { - CPetControl *pet = project->getPetControl(); - if (pet && !pet->isAreaUnlocked()) - return false; + if (gameManager->_gameState._petActive) { + CPetControl *pet = project->getPetControl(); + if (pet && !pet->isAreaUnlocked()) + return false; + } + } else { + return false; } return true; } bool TitanicEngine::canSaveGameStateCurrently() { - return canLoadGameStateCurrently(); + CGameManager *gameManager = _window->_gameManager; + + return gameManager->_gameState._petActive && + canLoadGameStateCurrently(); } Common::Error TitanicEngine::loadGameState(int slot) { -- cgit v1.2.3