aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-17 13:58:04 +0200
committerEugene Sandulenko2013-12-17 13:59:15 +0200
commite57745ee9520f89a9b946ad205b3b322d14ef1df (patch)
tree5f3f1cfee939b5e2644503ae2590fc71afa86fe6 /engines
parent8bb1666f9f97009a1dbcdb026b25c5bb03fe52ea (diff)
downloadscummvm-rg350-e57745ee9520f89a9b946ad205b3b322d14ef1df.tar.gz
scummvm-rg350-e57745ee9520f89a9b946ad205b3b322d14ef1df.tar.bz2
scummvm-rg350-e57745ee9520f89a9b946ad205b3b322d14ef1df.zip
FULLPIPE: Implement sceneHandler06_takeBall()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/scenes/scene06.cpp27
1 files changed, 22 insertions, 5 deletions
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index a2b9f2771e..07532588e6 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -143,8 +143,29 @@ void sceneHandler06_installHandle() {
chainQueue(QU_SC6_SHOWHANDLE, 0);
}
+void sceneHandler06_sub08() {
+ warning("STUB: sceneHandler06_sub08()");
+}
+
void sceneHandler06_takeBall() {
- warning("STUB: sceneHandler06_takeBall()");
+ if (g_vars->scene06_var09 && !g_vars->scene06_var09->_movement && g_vars->scene06_var09->_statics->_staticsId == ST_NBL_NORM) {
+ if (abs(1158 - g_fullpipe->_aniMan->_ox) > 1
+ || abs(452 - g_fullpipe->_aniMan->_oy) > 1
+ || g_fullpipe->_aniMan->_movement
+ || g_fullpipe->_aniMan->_statics->_staticsId != (0x4000 | ST_MAN_RIGHT)) {
+ MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fullpipe->_aniMan, 1158, 452, 1, (0x4000 | ST_MAN_RIGHT));
+
+ if (mq) {
+ ExCommand *ex = new ExCommand(0, 17, MSG_SC6_TAKEBALL, 0, 0, 0, 1, 0, 0, 0);
+ ex->_excFlags |= 3;
+ mq->addExCommandToEnd(ex);
+
+ postExCommand(g_fullpipe->_aniMan->_id, 2, 1158, 452, 0, -1);
+ }
+ } else {
+ sceneHandler06_sub08();
+ }
+ }
}
void sceneHandler06_sub02() {
@@ -175,10 +196,6 @@ void sceneHandler06_sub07() {
warning("STUB: sceneHandler06_sub07()");
}
-void sceneHandler06_sub08() {
- warning("STUB: sceneHandler06_sub08()");
-}
-
void sceneHandler06_sub09() {
warning("STUB: sceneHandler06_sub09()");
}