aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/module1000.cpp
diff options
context:
space:
mode:
authorjohndoe1232011-09-16 20:02:07 +0000
committerWillem Jan Palenstijn2013-05-08 20:39:39 +0200
commitc30e16628e01b5be671330b24ed73d1294205f6b (patch)
treefa959f5c2ed76fbb7d74f7e79880af98b9156656 /engines/neverhood/module1000.cpp
parent5d63bef6a25a990603444026a8cb033108410019 (diff)
downloadscummvm-rg350-c30e16628e01b5be671330b24ed73d1294205f6b.tar.gz
scummvm-rg350-c30e16628e01b5be671330b24ed73d1294205f6b.tar.bz2
scummvm-rg350-c30e16628e01b5be671330b24ed73d1294205f6b.zip
NEVERHOOD: Add Module::updateChild and use it (in most places)
Diffstat (limited to 'engines/neverhood/module1000.cpp')
-rw-r--r--engines/neverhood/module1000.cpp30
1 files changed, 5 insertions, 25 deletions
diff --git a/engines/neverhood/module1000.cpp b/engines/neverhood/module1000.cpp
index 1e5b0765ea..51e1d1959d 100644
--- a/engines/neverhood/module1000.cpp
+++ b/engines/neverhood/module1000.cpp
@@ -101,11 +101,7 @@ void Module1000::createScene1005(int which) {
}
void Module1000::updateScene1001() {
- _childObject->handleUpdate();
- if (_done) {
- _done = false;
- delete _childObject;
- _childObject = NULL;
+ if (!updateChild()) {
if (_field20 == 2) {
createScene1003(0);
_childObject->handleUpdate();
@@ -117,11 +113,7 @@ void Module1000::updateScene1001() {
}
void Module1000::updateScene1002() {
- _childObject->handleUpdate();
- if (_done) {
- _done = false;
- delete _childObject;
- _childObject = NULL;
+ if (!updateChild()) {
if (_field20 == 1) {
sendMessage(_parentModule, 0x1009, 0);
} else if (_field20 == 2) {
@@ -135,22 +127,14 @@ void Module1000::updateScene1002() {
}
void Module1000::updateScene1003() {
- _childObject->handleUpdate();
- if (_done) {
- _done = false;
- delete _childObject;
- _childObject = NULL;
+ if (!updateChild()) {
createScene1001(2);
_childObject->handleUpdate();
}
}
void Module1000::updateScene1004() {
- _childObject->handleUpdate();
- if (_done) {
- _done = false;
- delete _childObject;
- _childObject = NULL;
+ if (!updateChild()) {
if (_field20 == 1) {
createScene1005(0);
_childObject->handleUpdate();
@@ -162,12 +146,8 @@ void Module1000::updateScene1004() {
}
void Module1000::updateScene1005() {
- _childObject->handleUpdate();
- if (_done) {
+ if (!updateChild()) {
// TODO Music18hList_stop(_musicFileHash, 0, 1);
- _done = false;
- delete _childObject;
- _childObject = NULL;
createScene1004(1);
_childObject->handleUpdate();
}