aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-22 12:02:02 +0200
committerEugene Sandulenko2013-12-22 12:02:02 +0200
commit67c4237a896d2ae4efc5187de2273bb8674bd0aa (patch)
treed5072c5cfdb29993ee56501fe04708e245c2aaf4 /engines
parent4b2cd719565a6dfe5f23a0c2777acd8dec59be35 (diff)
downloadscummvm-rg350-67c4237a896d2ae4efc5187de2273bb8674bd0aa.tar.gz
scummvm-rg350-67c4237a896d2ae4efc5187de2273bb8674bd0aa.tar.bz2
scummvm-rg350-67c4237a896d2ae4efc5187de2273bb8674bd0aa.zip
FULLPIPE: Implement sceneHandler08_badLuck()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/constants.h2
-rw-r--r--engines/fullpipe/scenes/scene08.cpp20
2 files changed, 21 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index af495eec32..77968b68b5 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -208,6 +208,7 @@ namespace Fullpipe {
#define MV_MAN_TURN_SUD 1089
#define MV_MAN6_TAKEBALL 2691
#define MV_MAN6_THROWBALL 2692
+#define MV_MAN8_BADLUCK 783
#define MV_MAN8_SITDOWN 2968
#define MV_MANHDL_HANDLEDOWN 630
#define MV_MANHDL_HANDLEUP 631
@@ -453,6 +454,7 @@ namespace Fullpipe {
#define ST_MAN_UP 449
#define ST_MAN6_BALL 2688
#define ST_MAN8_FLYDOWN 771
+#define ST_MAN8_HANDSUP 773
#define ST_MOM_SITS 659
#define ST_MOM_STANDS 658
#define ST_NBL_NORM 1076
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index 1f2d4bc4cc..1452744b7a 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -187,7 +187,25 @@ void sceneHandler08_checkEndArcade() {
}
void sceneHandler08_badLuck() {
- warning("STUB: sceneHandler08_badLuck()");
+ g_fp->_currentScene->getPictureObjectById(PIC_SC8_LADDER, 0)->_flags &= 0xFFFB;
+
+ g_fp->_aniMan->changeStatics2(ST_MAN8_HANDSUP);
+ g_fp->_aniMan->setOXY(376, 280);
+ g_fp->_aniMan->_priority = 10;
+
+ MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
+
+ ExCommand *ex = new ExCommand(g_fp->_aniMan->_id, 1, MV_MAN8_BADLUCK, 0, 0, 0, 1, 0, 0, 0);
+ ex->_excFlags |= 2;
+ ex->_keyCode = g_fp->_aniMan->_okeyCode;
+ mq->addExCommandToEnd(ex);
+
+ mq->setFlags(mq->getFlags() | 1);
+ mq->chain(0);
+
+ g_fp->setObjectState(sO_StairsUp_8, g_fp->getObjectEnumState(sO_StairsUp_8, sO_NotBroken));
+
+ g_vars->scene08_var01 = 0;
}
void sceneHandler08_calcOffset() {