diff options
author | Eugene Sandulenko | 2013-12-14 13:51:03 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-14 15:15:10 +0200 |
commit | 87f69f078e483958e8263352ad2d8c5478fb3042 (patch) | |
tree | 2ed2253a4b475a779a7ca8d3da54d2266131e2a1 | |
parent | 7bc700ed276430606d39aac0a2c756c0b44788d2 (diff) | |
download | scummvm-rg350-87f69f078e483958e8263352ad2d8c5478fb3042.tar.gz scummvm-rg350-87f69f078e483958e8263352ad2d8c5478fb3042.tar.bz2 scummvm-rg350-87f69f078e483958e8263352ad2d8c5478fb3042.zip |
FULLPIPE: Implement sceneHandler04_kozFly6()
-rw-r--r-- | engines/fullpipe/constants.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene04.cpp | 39 |
2 files changed, 39 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index b0b6202caa..ee89d4eec8 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -107,6 +107,7 @@ namespace Fullpipe { #define MSG_UPDATEBOTTLE 613 #define MV_EGTR_FATASK 5332 #define MV_IN1MAN_SLEEP 5111 +#define MV_KZW_GOR 564 #define MV_KZW_JUMP 558 #define MV_KZW_JUMPROTATE 561 #define MV_KZW_TOHOLERV 537 @@ -117,6 +118,7 @@ namespace Fullpipe { #define MV_HND_POINT 602 #define MV_KZW_JUMPHIT 2857 #define MV_KZW_JUMPOUT 586 +#define MV_KZW_RAISEHEAD 577 #define MV_KZW_STANDUP 563 #define MV_KZW_TURN 562 #define MV_MAN_GOD 481 diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 6bcefa3086..78695cc33a 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -666,9 +666,44 @@ MessageQueue *sceneHandler04_kozFly5(StaticANIObject *ani, double phase) { } MessageQueue *sceneHandler04_kozFly6(StaticANIObject *ani) { - warning("STUB: sceneHandler04_kozFly6()"); + MGM mgm; + MGMInfo mgminfo; - return 0; + mgm.addItem(ANI_KOZAWKA); + + mgminfo.ani = ani; + mgminfo.staticsId2 = ST_KZW_SIT; + mgminfo.x1 = 397 - 4 * g_fullpipe->_rnd->getRandomNumber(1); + mgminfo.field_1C = ani->_priority; + mgminfo.y1 = g_vars->scene04_bottle->_oy - 4 * g_fullpipe->_rnd->getRandomNumber(1) + 109; + mgminfo.field_10 = 1; + mgminfo.flags = 78; + mgminfo.movementId = MV_KZW_JUMPROTATE; + + MessageQueue *mq = mgm.genMovement(&mgminfo); + + if (mq) { + mq->deleteExCommandByIndex(mq->getCount() - 1, 1); + + ExCommand *ex = new ExCommand(ANI_KOZAWKA, 1, MV_KZW_STANDUP, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags |= 2; + ex->_keyCode = ani->_okeyCode; + mq->addExCommandToEnd(ex); + + ex = new ExCommand(ANI_KOZAWKA, 1, MV_KZW_GOR, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags |= 2; + ex->_keyCode = ani->_okeyCode; + mq->addExCommandToEnd(ex); + + ex = new ExCommand(ANI_KOZAWKA, 1, MV_KZW_RAISEHEAD, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags |= 2; + ex->_keyCode = ani->_okeyCode; + mq->addExCommandToEnd(ex); + + g_vars->scene04_var11 = 1; + } + + return mq; } void sceneHandler04_kozMove(Movement *mov, int from, int to, Common::Point *points, double phase) { |