aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-11-06 00:40:09 +0200
committerEugene Sandulenko2013-11-06 00:41:35 +0200
commit5d759d181f228d4b6576647dcf3d668fe931a324 (patch)
treee90cbaac1909267e85b5f82921c9f3140d65e0c2 /engines
parentb895a88a4f2ad9e4755fb462f295333bf439634c (diff)
downloadscummvm-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.h11
-rw-r--r--engines/fullpipe/fullpipe.h7
-rw-r--r--engines/fullpipe/lift.cpp28
-rw-r--r--engines/fullpipe/scenes.cpp34
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;
}