diff options
| -rw-r--r-- | engines/fullpipe/scenes/scene06.cpp | 27 | 
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()");  } | 
