diff options
author | Eugene Sandulenko | 2013-12-30 00:33:31 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-30 00:33:31 +0200 |
commit | cb647a4dfadf693aeeea0c07e677b5a788ca056e (patch) | |
tree | 6c191e3d42b55af85544d9c5900915e2f8189053 /engines/fullpipe | |
parent | edb26cb56305f7cfec816ba57c0d18e860038ae1 (diff) | |
download | scummvm-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.h | 10 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene13.cpp | 23 |
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() { |