aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/module2600.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/neverhood/module2600.cpp')
-rw-r--r--engines/neverhood/module2600.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/engines/neverhood/module2600.cpp b/engines/neverhood/module2600.cpp
index 4ddcc38978..741f4138b9 100644
--- a/engines/neverhood/module2600.cpp
+++ b/engines/neverhood/module2600.cpp
@@ -124,6 +124,9 @@ void Module2600::createScene(int sceneNum, int which) {
else
createSmackerScene(0x42980941, true, true, false);
break;
+ case 9999:
+ createDemoScene();
+ break;
}
SetUpdateHandler(&Module2600::updateScene);
_childObject->handleUpdate();
@@ -151,8 +154,12 @@ void Module2600::updateScene() {
case 2:
if (_moduleResult == 0)
createScene(1, 0);
- else if (_moduleResult == 1)
- createScene(1002, -1);
+ else if (_moduleResult == 1) {
+ if (_vm->isDemo())
+ createScene(9999, -1);
+ else
+ createScene(1002, -1);
+ }
break;
case 3:
if (_moduleResult == 0) {
@@ -178,8 +185,12 @@ void Module2600::updateScene() {
createScene(3, 1);
break;
case 6:
- if (_moduleResult == 0)
- createScene(1006, -1);
+ if (_moduleResult == 0) {
+ if (_vm->isDemo())
+ createScene(9999, -1);
+ else
+ createScene(1006, -1);
+ }
else if (_moduleResult == 1)
createScene(1, 2);
break;
@@ -201,6 +212,9 @@ void Module2600::updateScene() {
case 1008:
createScene(6, 0);
break;
+ case 9999:
+ createScene(_vm->gameState().sceneNum, -1);
+ break;
}
}
}