aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-27 21:23:59 +0200
committerEugene Sandulenko2013-12-27 21:23:59 +0200
commitea66761b0466a8ba58fa6b1d9650fa518c8ea513 (patch)
tree4f7686290f8066d33829e810473506cf155f3eca
parent271e85a1bc7d517568dc4798d242aa585576fa3b (diff)
downloadscummvm-rg350-ea66761b0466a8ba58fa6b1d9650fa518c8ea513.tar.gz
scummvm-rg350-ea66761b0466a8ba58fa6b1d9650fa518c8ea513.tar.bz2
scummvm-rg350-ea66761b0466a8ba58fa6b1d9650fa518c8ea513.zip
FULLPIPE: Implement sceneHandler11_hitMan()
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/gameloader.cpp2
-rw-r--r--engines/fullpipe/gameloader.h2
-rw-r--r--engines/fullpipe/scenes/scene11.cpp12
4 files changed, 14 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index ce406d0e6f..fa9b3c15b5 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -502,6 +502,7 @@ namespace Fullpipe {
#define MSG_SC11_SHOWSWING 1124
#define MSG_SC11_SITSWINGER 5198
#define PIC_SC11_HINT 5170
+#define QU_SC11_MANFALL 3017
#define ST_BTS11_2 2707
#define ST_KCH_STATIC 1122
#define ST_SWR_SIT 1147
diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp
index 57c1b23f66..64e6b93fb2 100644
--- a/engines/fullpipe/gameloader.cpp
+++ b/engines/fullpipe/gameloader.cpp
@@ -510,7 +510,7 @@ InputController *FullpipeEngine::getGameLoaderInputController() {
return 0;
}
-MotionController *getCurrSceneSc2MotionController() {
+MctlCompound *getCurrSceneSc2MotionController() {
return getSc2MctlCompoundBySceneId(g_fp->_currentScene->_sceneId);
}
diff --git a/engines/fullpipe/gameloader.h b/engines/fullpipe/gameloader.h
index 074537500c..4cfb803d8e 100644
--- a/engines/fullpipe/gameloader.h
+++ b/engines/fullpipe/gameloader.h
@@ -111,7 +111,7 @@ class GameLoader : public CObject {
Inventory2 *getGameLoaderInventory();
InteractionController *getGameLoaderInteractionController();
MctlCompound *getSc2MctlCompoundBySceneId(int16 sceneId);
-MotionController *getCurrSceneSc2MotionController();
+MctlCompound *getCurrSceneSc2MotionController();
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp
index 0782ef8b7a..388421fc22 100644
--- a/engines/fullpipe/scenes/scene11.cpp
+++ b/engines/fullpipe/scenes/scene11.cpp
@@ -150,7 +150,17 @@ void sceneHandler11_restartMan() {
}
void sceneHandler11_hitMan() {
- warning("STUB: sceneHandler11_hitMan()");
+ if (g_fp->_aniMan->_ox > 345 && g_fp->_aniMan->_ox < 355) {
+ g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT);
+
+ MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC11_MANFALL), 0, 0);
+
+ mq->setFlags(mq->getFlags() | 1);
+ if (!mq->chain(g_fp->_aniMan))
+ delete mq;
+
+ getCurrSceneSc2MotionController()->replaceNodeX(353, 303);
+ }
}
void sceneHandler11_manToSwing() {