aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes/scene08.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/scenes/scene08.cpp')
-rw-r--r--engines/fullpipe/scenes/scene08.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index b9aaabe1af..24b23c1506 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -33,9 +33,14 @@
#include "fullpipe/gameloader.h"
#include "fullpipe/behavior.h"
#include "fullpipe/interaction.h"
+#include "fullpipe/modal.h"
namespace Fullpipe {
+void scene08_clockCallback(int *phase) {
+ // do nothing
+}
+
void scene08_initScene(Scene *sc) {
g_vars->scene08_inArcade = false;
g_vars->scene08_inAir = false;
@@ -80,7 +85,7 @@ void scene08_initScene(Scene *sc) {
g_vars->scene08_snoringCountdown = 71;
}
- g_vars->scene08_clock->_callback2 = 0;
+ g_vars->scene08_clock->_callback2 = scene08_clockCallback;
if (g_fp->getObjectState(sO_StairsUp_8) == g_fp->getObjectEnumState(sO_StairsUp_8, sO_Broken)) {
g_vars->scene08_stairsVisible = false;
@@ -405,6 +410,15 @@ void sceneHandler08_checkEndArcade() {
if (y < 80) {
sceneHandler08_finishArcade();
+ if (g_fp->isDemo() && g_fp->getLanguage() == Common::DE_DEU) {
+ ModalDemo *demo = new ModalDemo;
+ demo->launch();
+
+ g_fp->_modalObject = demo;
+
+ return;
+ }
+
ExCommand *ex = new ExCommand(SC_8, 17, 0, 0, 0, 0, 1, 0, 0, 0);
ex->_messageNum = 61;
ex->_excFlags |= 2;