diff options
author | whiterandrek | 2018-04-27 11:27:45 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2018-06-28 23:51:32 +0200 |
commit | ec96a3b1e7c888fa4b3a2957854942d7fed3e766 (patch) | |
tree | d15ccc31f2026afed6915d6dc8febdd98cc109ab /engines/pink/objects/pages | |
parent | 2f43cbafa0da1266ab55e39b94a88af65c844ea0 (diff) | |
download | scummvm-rg350-ec96a3b1e7c888fa4b3a2957854942d7fed3e766.tar.gz scummvm-rg350-ec96a3b1e7c888fa4b3a2957854942d7fed3e766.tar.bz2 scummvm-rg350-ec96a3b1e7c888fa4b3a2957854942d7fed3e766.zip |
PINK: added check for item owner
Diffstat (limited to 'engines/pink/objects/pages')
-rw-r--r-- | engines/pink/objects/pages/game_page.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/pink/objects/pages/game_page.cpp b/engines/pink/objects/pages/game_page.cpp index 6b029fbae3..47437a83a3 100644 --- a/engines/pink/objects/pages/game_page.cpp +++ b/engines/pink/objects/pages/game_page.cpp @@ -86,7 +86,7 @@ void GamePage::init(bool isLoadingSave) { _actors[i]->init(startNow); } - bool isHandler = 0; + bool isHandler = false; if (!isLoadingSave) { isHandler = initHandler(); } @@ -106,6 +106,7 @@ bool GamePage::initHandler() { void GamePage::loadManagers() { _isLoaded = true; + _cursorMgr = new CursorMgr(_module->getGame(), this); _walkMgr = new WalkMgr; _sequencer = new Sequencer(this); @@ -114,6 +115,7 @@ void GamePage::loadManagers() { if (_memFile != nullptr) { loadState(); + delete _memFile; _memFile = nullptr; } @@ -176,18 +178,23 @@ void GamePage::saveState() { void GamePage::unload() { _leadActor->setAction(_leadActor->findAction("Idle")); + saveState(); clear(); + _isLoaded = false; } void GamePage::clear() { Page::clear(); _variables.clear(1); + for (int i = 0; i < _handlers.size(); ++i) { delete _handlers[i]; } + _handlers.clear(); + delete _cursorMgr; _cursorMgr = nullptr; delete _sequencer; _sequencer = nullptr; delete _walkMgr; _walkMgr = nullptr; |