diff options
author | Eugene Sandulenko | 2013-12-28 00:19:28 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-28 00:19:28 +0200 |
commit | a67dcf27bf88746b7808ef1447bc513e029caeb6 (patch) | |
tree | e84eb40954b41dae4efe5d2c8141fd07b2588e0a | |
parent | 98598d2ec3d17e866ced96f52007a93ccd0e7bd9 (diff) | |
download | scummvm-rg350-a67dcf27bf88746b7808ef1447bc513e029caeb6.tar.gz scummvm-rg350-a67dcf27bf88746b7808ef1447bc513e029caeb6.tar.bz2 scummvm-rg350-a67dcf27bf88746b7808ef1447bc513e029caeb6.zip |
FULLPIPE: Implement sceneHandler11_sub11()
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene11.cpp | 39 |
2 files changed, 39 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 15f73e45eb..f8fa0ef349 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -503,6 +503,7 @@ namespace Fullpipe { #define MSG_SC11_SITSWINGER 5198 #define MV_KCH_MOVE2 1099 #define MV_KCH_START 1121 +#define MV_MAN11_JUMPHIT 1129 #define MV_MAN11_JUMPOVER 1131 #define MV_MAN11_SWING_0 1109 #define MV_MAN11_SWING_1 1111 diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp index 4336432357..44cbf5656f 100644 --- a/engines/fullpipe/scenes/scene11.cpp +++ b/engines/fullpipe/scenes/scene11.cpp @@ -341,7 +341,44 @@ void sceneHandler11_sub10(double angle) { } void sceneHandler11_sub11(double angle) { - warning("STUB: sceneHandler11_sub11()"); + MGMInfo mgminfo; + + sceneHandler11_sub09(); + + if (angle >= 0.0) { + if (angle > 1.0) + angle = 1.0; + } else { + angle = 0.0; + } + + g_fp->_aniMan->show1(690 - (int)(sin(g_vars->scene11_var08) * -267.0), 215 - (int)(cos(g_vars->scene11_var08) * -267.0), + MV_MAN11_JUMPOVER, 0); + g_fp->_aniMan->_priority = 0; + + mgminfo.staticsId2 = ST_MAN_1PIX; + mgminfo.ani = g_fp->_aniMan; + mgminfo.x1 = 1017 - (int)(angle * -214.0); + mgminfo.y1 = 700; + mgminfo.field_1C = 0; + mgminfo.field_10 = 1; + mgminfo.flags = 78; + mgminfo.movementId = MV_MAN11_JUMPHIT; + + MessageQueue *mq = g_vars->scene11_var01.genMovement(&mgminfo); + + if (mq) { + g_vars->scene11_var07 = SND_11_022; + + ExCommand *ex = new ExCommand(0, 17, MSG_SC11_RESTARTMAN, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags = 2; + + mq->addExCommandToEnd(ex); + + if (!mq->chain(g_fp->_aniMan) ) + delete mq; + + } } void sceneHandler11_swingLogic() { |