diff options
author | Eugene Sandulenko | 2013-12-30 00:52:04 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-30 00:52:04 +0200 |
commit | 58f4940848c4b0e9e50a51a809ed18541269573a (patch) | |
tree | b56ae005016417de1db49a1edd907d676f5c5524 /engines/fullpipe | |
parent | 562d539db9ecb8690006236449c78335fab8f120 (diff) | |
download | scummvm-rg350-58f4940848c4b0e9e50a51a809ed18541269573a.tar.gz scummvm-rg350-58f4940848c4b0e9e50a51a809ed18541269573a.tar.bz2 scummvm-rg350-58f4940848c4b0e9e50a51a809ed18541269573a.zip |
FULLPIPE: Implement remaining scene13 functions
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/constants.h | 5 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene13.cpp | 26 |
2 files changed, 26 insertions, 5 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 5214c97145..83721edbcb 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -558,7 +558,11 @@ namespace Fullpipe { #define QU_SC13_OPENSUCCESS 3047 #define QU_SC13_SHOWGUM 1216 #define QU_STR_CHEW 1190 +#define QU_STR_LTOR 3054 #define QU_STR_PLUU 1189 +#define QU_STR_RTOL 3053 +#define QU_STR_TURNR 1186 +#define QU_STR_TURNR_L 3059 #define SND_13_018 3763 #define SND_13_033 4685 #define SND_13_034 4686 @@ -571,6 +575,7 @@ namespace Fullpipe { #define ST_HDLR_DOWN 1199 #define ST_HDLR_DOWN_GUM 3044 #define ST_HDLR_GUM 1201 +#define ST_STR_LEFT 1175 #define ST_STR_RIGHT 1174 // Scene 15 diff --git a/engines/fullpipe/scenes/scene13.cpp b/engines/fullpipe/scenes/scene13.cpp index 5689918dac..42f3ffbb8f 100644 --- a/engines/fullpipe/scenes/scene13.cpp +++ b/engines/fullpipe/scenes/scene13.cpp @@ -217,16 +217,32 @@ void sceneHandler13_showGum() { chainQueue(QU_SC13_SHOWGUM, 0); } +void sceneHandler13_setBehFlag(BehaviorEntryInfo *beh, bool flag) { + warning("STUB: sceneHandler13_sub03()"); +} + void sceneHandler13_sub01(bool flag) { - warning("STUB: sceneHandler13_sub01()"); + BehaviorEntryInfo *beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene13_guard, ST_STR_RIGHT, QU_STR_RTOL); + + sceneHandler13_setBehFlag(beh, flag); + + beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene13_guard, ST_STR_LEFT, QU_STR_TURNR); + + sceneHandler13_setBehFlag(beh, flag); + + beh->_flags &= 0xFE; } void sceneHandler13_sub02(bool flag) { - warning("STUB: sceneHandler13_sub02()"); -} + BehaviorEntryInfo *beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene13_guard, ST_STR_RIGHT|0x4000, QU_STR_LTOR); -void sceneHandler13_sub03(bool flag) { - warning("STUB: sceneHandler13_sub03()"); + sceneHandler13_setBehFlag(beh, flag); + + beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene13_guard, ST_STR_LEFT|0x4000, QU_STR_TURNR_L); + + sceneHandler13_setBehFlag(beh, flag); + + beh->_flags &= 0xFE; } int sceneHandler13(ExCommand *cmd) { |