aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/pages
diff options
context:
space:
mode:
authorwhiterandrek2018-04-27 11:27:45 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commitec96a3b1e7c888fa4b3a2957854942d7fed3e766 (patch)
treed15ccc31f2026afed6915d6dc8febdd98cc109ab /engines/pink/objects/pages
parent2f43cbafa0da1266ab55e39b94a88af65c844ea0 (diff)
downloadscummvm-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.cpp9
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;