aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-30 00:33:31 +0200
committerEugene Sandulenko2013-12-30 00:33:31 +0200
commitcb647a4dfadf693aeeea0c07e677b5a788ca056e (patch)
tree6c191e3d42b55af85544d9c5900915e2f8189053 /engines/fullpipe
parentedb26cb56305f7cfec816ba57c0d18e860038ae1 (diff)
downloadscummvm-rg350-cb647a4dfadf693aeeea0c07e677b5a788ca056e.tar.gz
scummvm-rg350-cb647a4dfadf693aeeea0c07e677b5a788ca056e.tar.bz2
scummvm-rg350-cb647a4dfadf693aeeea0c07e677b5a788ca056e.zip
FULLPIPE: Implement sceneHandler13_testClose()/testOpen()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/constants.h10
-rw-r--r--engines/fullpipe/scenes/scene13.cpp23
2 files changed, 31 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 472943c12d..dc50b565a6 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -552,6 +552,10 @@ namespace Fullpipe {
#define MV_BDG_CLOSE 1382
#define MV_BDG_OPEN 1379
#define MV_WHR13_SPIN 1384
+#define QU_SC13_CLOSEFAIL 3063
+#define QU_SC13_CLOSESUCCESS 3062
+#define QU_SC13_OPENFAIL 3042
+#define QU_SC13_OPENSUCCESS 3047
#define QU_SC13_SHOWGUM 1216
#define QU_STR_CHEW 1190
#define SND_13_018 3763
@@ -560,6 +564,12 @@ namespace Fullpipe {
#define SND_13_037 5335
#define ST_BDG_CLOSED 1380
#define ST_BDG_OPEN2 1381
+#define ST_HDLL_FIRECAN 1310
+#define ST_HDLL_HAMMER 3205
+#define ST_HDLL_UP 1211
+#define ST_HDLR_DOWN 1199
+#define ST_HDLR_DOWN_GUM 3044
+#define ST_HDLR_GUM 1201
#define ST_STR_RIGHT 1174
// Scene 15
diff --git a/engines/fullpipe/scenes/scene13.cpp b/engines/fullpipe/scenes/scene13.cpp
index e2d7f88551..2df5d1ad9e 100644
--- a/engines/fullpipe/scenes/scene13.cpp
+++ b/engines/fullpipe/scenes/scene13.cpp
@@ -102,11 +102,30 @@ void sceneHandler13_openBridge() {
}
void sceneHandler13_testClose() {
- warning("STUB: sceneHandler13_testClose()");
+ int id = g_vars->scene13_handleL->_statics->_staticsId;
+
+ if (id == ST_HDLL_UP)
+ chainQueue(QU_SC13_CLOSEFAIL, 1);
+ else if (id == ST_HDLL_FIRECAN || id == ST_HDLL_HAMMER)
+ chainQueue(QU_SC13_CLOSESUCCESS, 1);
}
void sceneHandler13_testOpen() {
- warning("STUB: sceneHandler13_testOpen()");
+ switch (g_vars->scene13_handleR->_statics->_staticsId) {
+ case ST_HDLR_DOWN:
+ chainQueue(QU_SC13_OPENFAIL, 1);
+ break;
+
+ case ST_HDLR_DOWN_GUM:
+ chainQueue(QU_SC13_OPENSUCCESS, 1);
+ break;
+
+ case ST_HDLR_GUM:
+ g_vars->scene13_handleR->changeStatics2(ST_HDLR_DOWN_GUM);
+
+ chainQueue(QU_SC13_OPENSUCCESS, 1);
+ break;
+ }
}
void sceneHandler13_closeBridge() {