diff options
author | Eugene Sandulenko | 2013-11-06 00:40:09 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-11-06 00:41:35 +0200 |
commit | 5d759d181f228d4b6576647dcf3d668fe931a324 (patch) | |
tree | e90cbaac1909267e85b5f82921c9f3140d65e0c2 /engines | |
parent | b895a88a4f2ad9e4755fb462f295333bf439634c (diff) | |
download | scummvm-rg350-5d759d181f228d4b6576647dcf3d668fe931a324.tar.gz scummvm-rg350-5d759d181f228d4b6576647dcf3d668fe931a324.tar.bz2 scummvm-rg350-5d759d181f228d4b6576647dcf3d668fe931a324.zip |
FULLPIPE: Completed scene03 code
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 11 | ||||
-rw-r--r-- | engines/fullpipe/fullpipe.h | 7 | ||||
-rw-r--r-- | engines/fullpipe/lift.cpp | 28 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 34 |
4 files changed, 62 insertions, 18 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index c8cd05d0ae..9d8f503857 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -47,12 +47,23 @@ namespace Fullpipe { #define MSG_INTR_GETUPMAN 5135 #define MSG_INTR_SWITCHTO1 5145 #define MSG_INTR_SWITCHTO2 5134 +#define MSG_LIFT_CLICKBUTTON 2780 +#define MSG_LIFT_CLOSEDOOR 5194 +#define MSG_LIFT_EXITLIFT 5187 +#define MSG_LIFT_GO 1065 +#define MSG_LIFT_STARTEXITQUEUE 5186 #define MSG_MANSHADOWSOFF 5196 #define MSG_MANSHADOWSON 5197 #define MSG_RESTARTGAME 4767 #define MSG_SC1_SHOWOSK 1019 #define MSG_SC1_SHOWOSK2 468 #define MSG_SC1_UTRUBACLICK 1100 +#define MSG_SC3_HIDEDOMINO 3177 +#define MSG_SC3_ONTAKECOIN 5338 +#define MSG_SC3_RELEASEEGG 2681 +#define MSG_SC3_TAKEEGG 1583 +#define MSG_SC3_TESTFAT 1582 +#define MSG_SC3_UTRUBACLICK 1103 #define MV_EGTR_FATASK 5332 #define MV_IN1MAN_SLEEP 5111 #define MV_MAN_GOLADDER 451 diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h index 7f1c9baa9b..2cd0f87d32 100644 --- a/engines/fullpipe/fullpipe.h +++ b/engines/fullpipe/fullpipe.h @@ -232,6 +232,13 @@ public: int lift_getButtonIdP(int objid); void lift_sub5(Scene *sc, int qu1, int qu2); + void lift_exitSeq(ExCommand *ex); + void lift_closedoorSeq(); + void lift_animation3(); + void lift_goAnimation(); + void lift_sub1(StaticANIObject *ani); + void lift_startExitQueue(); + void lift_sub05(ExCommand *ex); public: diff --git a/engines/fullpipe/lift.cpp b/engines/fullpipe/lift.cpp index 8fa6cf744d..0e38c4f948 100644 --- a/engines/fullpipe/lift.cpp +++ b/engines/fullpipe/lift.cpp @@ -68,4 +68,32 @@ void FullpipeEngine::lift_sub5(Scene *sc, int qu1, int qu2) { warning("STUB: FullpipeEngine::lift_sub5()"); } +void FullpipeEngine::lift_exitSeq(ExCommand *ex) { + warning("STUB: FullpipeEngine::lift_exitSeq()"); +} + +void FullpipeEngine::lift_closedoorSeq() { + warning("STUB: FullpipeEngine::lift_closedoorSeq()"); +} + +void FullpipeEngine::lift_animation3() { + warning("STUB: FullpipeEngine::lift_animation3()"); +} + +void FullpipeEngine::lift_goAnimation() { + warning("STUB: FullpipeEngine::lift_goAnimation()"); +} + +void FullpipeEngine::lift_sub1(StaticANIObject *ani) { + warning("STUB: FullpipeEngine::lift_sub1()"); +} + +void FullpipeEngine::lift_startExitQueue() { + warning("STUB: FullpipeEngine::lift_startExitQueue()"); +} + +void FullpipeEngine::lift_sub05(ExCommand *ex) { + warning("STUB: FullpipeEngine::lift_sub05()"); +} + } // End of namespace Fullpipe diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 245bd02eea..c266a819ed 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -1631,7 +1631,7 @@ int sceneHandler03_swallowedEgg1State() { return g_vars->swallowedEgg1->_value.intValue; } -void sceneHandler03_getCoin(ExCommand *ex) { +void sceneHandler03_giveCoin(ExCommand *ex) { MessageQueue *mq = g_fullpipe->_globalMessageQueueList->getMessageQueueById(ex->_parId); if (mq && mq->getCount() > 0) { @@ -1706,20 +1706,19 @@ void sceneHandler03_takeEgg(ExCommand *ex) { } int sceneHandler03(ExCommand *ex) { -#if 0 if (ex->_messageKind != 17) { if (ex->_messageKind == 57) sceneHandler03_giveItem(ex); return 0; } - switch (ex->messageNum) { + switch (ex->_messageNum) { case MSG_LIFT_EXITLIFT: - lift_exitSeq(ex); + g_fullpipe->lift_exitSeq(ex); break; case MSG_LIFT_CLOSEDOOR: - lift_closedoorSeq(); + g_fullpipe->lift_closedoorSeq(); break; case MSG_SC3_ONTAKECOIN: @@ -1727,7 +1726,7 @@ int sceneHandler03(ExCommand *ex) { break; case MSG_LIFT_STARTEXITQUEUE: - sceneHandlers_startExitQueue(); + g_fullpipe->lift_startExitQueue(); break; case MSG_SC3_RELEASEEGG: @@ -1735,7 +1734,7 @@ int sceneHandler03(ExCommand *ex) { break; case MSG_LIFT_CLICKBUTTON: - lift_animation3(); + g_fullpipe->lift_animation3(); break; case MSG_SC3_HIDEDOMINO: @@ -1747,7 +1746,7 @@ int sceneHandler03(ExCommand *ex) { break; case MSG_LIFT_GO: - lift_goAnimation(); + g_fullpipe->lift_goAnimation(); break; case MSG_SC3_UTRUBACLICK: @@ -1759,14 +1758,14 @@ int sceneHandler03(ExCommand *ex) { break; case 64: - sceneHandlers_sub05(ex); + g_fullpipe->lift_sub05(ex); break; case 93: { - StaticANIObject *ani = Scene_getStaticANIObjectAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); + StaticANIObject *ani = g_fullpipe->_currentScene->getStaticANIObjectAtPos(ex->_sceneClickX, ex->_sceneClickY); if (ani && ani->_id == ANI_LIFTBUTTON) { - lift_sub1(ani); + g_fullpipe->lift_sub1(ani); ex->_messageKind = 0; return 0; @@ -1792,23 +1791,22 @@ int sceneHandler03(ExCommand *ex) { int res = 0; if (g_fullpipe->_aniMan2) { - if (g_fullpipe->_aniMan2->_ox < g_fullpipe->_sceneRect.left + 200) { - g_fullpipe->_currentScene->bg.x = g_fullpipe->_aniMan2->_ox - g_fullpipe->_sceneRect.left - 300; - v7 = g_fullpipe->_aniMan2; - } + if (g_fullpipe->_aniMan2->_ox < g_fullpipe->_sceneRect.left + 200) + g_fullpipe->_currentScene->_x = g_fullpipe->_aniMan2->_ox - g_fullpipe->_sceneRect.left - 300; if (g_fullpipe->_aniMan2->_ox > g_fullpipe->_sceneRect.right - 200) - g_fullpipe->_currentScene->bg.x = g_fullpipe->_aniMan2->_ox - g_fullpipe->_sceneRect.right + 300; + g_fullpipe->_currentScene->_x = g_fullpipe->_aniMan2->_ox - g_fullpipe->_sceneRect.right + 300; + res = 1; } + g_fullpipe->_behaviorManager->updateBehaviors(); - startSceneTrack(); + g_fullpipe->startSceneTrack(); return res; } } -#endif return 0; } |