aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-07 16:31:03 +0200
committerEugene Sandulenko2014-01-07 16:31:24 +0200
commit51b9d156d535c922cb4240a7686f790d58c97d46 (patch)
tree67839ba765506d7633b3fad4cc89d6ac3aed2d97
parent61268f4424dfb45bd20c69a5ad71aafde48538f4 (diff)
downloadscummvm-rg350-51b9d156d535c922cb4240a7686f790d58c97d46.tar.gz
scummvm-rg350-51b9d156d535c922cb4240a7686f790d58c97d46.tar.bz2
scummvm-rg350-51b9d156d535c922cb4240a7686f790d58c97d46.zip
FULLPIPE: More code to scene32
-rw-r--r--engines/fullpipe/constants.h2
-rw-r--r--engines/fullpipe/scenes.h5
-rw-r--r--engines/fullpipe/scenes/scene32.cpp13
3 files changed, 17 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 11ee8fa2b2..88f5492996 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1080,11 +1080,13 @@ namespace Fullpipe {
#define MV_TSTO_FLOW 2657
#define PIC_SC32_LADDER 4296
#define PIC_SC32_RTRUBA 2292
+#define QU_KBK32_GO 4977
#define QU_KBK32_START 4982
#define QU_SC32_ENTERLIFT 2827
#define QU_SC32_EXITLIFT 2828
#define ST_BTN32_ON 5350
#define ST_FLG_LEFT 2260
+#define ST_FLG_NORM 2259
#define ST_FLG_RIGHT 2264
#define ST_HDL_LAID 3039
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 5a8746fd33..c866e62a80 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -143,6 +143,11 @@ int sceneHandler30(ExCommand *cmd);
void scene31_initScene(Scene *sc);
int sceneHandler31(ExCommand *ex);
+void scene32_initScene(Scene *sc);
+void scene32_setupMusic();
+int sceneHandler32(ExCommand *cmd);
+int scene32_updateCursor();
+
int scene36_updateCursor();
void scene36_initScene(Scene *sc);
int sceneHandler36(ExCommand *cmd);
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 67366e8d65..f03297071d 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -112,7 +112,8 @@ int scene32_updateCursor() {
}
void sceneHandler32_tryCube() {
- warning("STUB: sceneHandler32_tryCube()");
+ if (g_fp->getObjectState(sO_Cube) == g_fp->getObjectEnumState(sO_Cube, sO_In_33))
+ chainQueue(QU_KBK32_GO, 0);
}
void sceneHandler32_startCactus() {
@@ -124,11 +125,17 @@ void sceneHandler32_spin(ExCommand *cmd) {
}
void sceneHandler32_startFlagLeft() {
- warning("STUB: sceneHandler32_startFlagLeft()");
+ g_vars->scene32_flag->changeStatics2(ST_FLG_NORM);
+ g_vars->scene32_flag->startAnim(MV_FLG_STARTL, 0, -1);
+
+ g_vars->scene32_var05 = 1;
}
void sceneHandler32_startFlagRight() {
- warning("STUB: sceneHandler32_startFlagRight()");
+ g_vars->scene32_flag->changeStatics2(ST_FLG_NORM);
+ g_vars->scene32_flag->startAnim(MV_FLG_STARTR, 0, -1);
+
+ g_vars->scene32_var05 = 1;
}
void sceneHandler32_trySit(ExCommand *cmd) {