aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes/scene13.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-30 00:52:04 +0200
committerEugene Sandulenko2013-12-30 00:52:04 +0200
commit58f4940848c4b0e9e50a51a809ed18541269573a (patch)
treeb56ae005016417de1db49a1edd907d676f5c5524 /engines/fullpipe/scenes/scene13.cpp
parent562d539db9ecb8690006236449c78335fab8f120 (diff)
downloadscummvm-rg350-58f4940848c4b0e9e50a51a809ed18541269573a.tar.gz
scummvm-rg350-58f4940848c4b0e9e50a51a809ed18541269573a.tar.bz2
scummvm-rg350-58f4940848c4b0e9e50a51a809ed18541269573a.zip
FULLPIPE: Implement remaining scene13 functions
Diffstat (limited to 'engines/fullpipe/scenes/scene13.cpp')
-rw-r--r--engines/fullpipe/scenes/scene13.cpp26
1 files changed, 21 insertions, 5 deletions
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) {