aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/titanic.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2017-08-18 22:42:21 -0400
committerPaul Gilbert2017-08-18 22:42:21 -0400
commitd9d325ac6c97cb53be64639cf5d6b8a2038c9d0f (patch)
tree7d6513efb986551dc653a118b6dfc0b91b3a2e9a /engines/titanic/titanic.cpp
parent8308341a98991ff0809ee9b38121e3d4a73a39f3 (diff)
downloadscummvm-rg350-d9d325ac6c97cb53be64639cf5d6b8a2038c9d0f.tar.gz
scummvm-rg350-d9d325ac6c97cb53be64639cf5d6b8a2038c9d0f.tar.bz2
scummvm-rg350-d9d325ac6c97cb53be64639cf5d6b8a2038c9d0f.zip
TITANIC: Allow GMM/F7 loading in prologue before player gets the PET
Diffstat (limited to 'engines/titanic/titanic.cpp')
-rw-r--r--engines/titanic/titanic.cpp17
1 files 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) {