[Scummvm-cvs-logs] scummvm master -> 2c8476377149fa716b892d0e49b16656abe9769c
sev-
sev at scummvm.org
Mon Dec 16 21:29:03 CET 2013
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5fc18c023d FULLPIPE: Implement sceneHandler06()
65512ffd97 FULLPIPE: Implement scene06_initMumsy()
9ecdb4c1fc FULLPIPE: Enable scene06
2c84763771 FULLPIPE: Implement scene06_updateCursor()
Commit: 5fc18c023d76d85624417b4c9fc90b0e61823faa
https://github.com/scummvm/scummvm/commit/5fc18c023d76d85624417b4c9fc90b0e61823faa
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-16T12:28:11-08:00
Commit Message:
FULLPIPE: Implement sceneHandler06()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/gameloader.cpp
engines/fullpipe/gameloader.h
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene06.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 7abfd8a..f36006c 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -113,10 +113,22 @@ namespace Fullpipe {
#define MSG_SC5_MAKEOTMFEEDBACK 1169
#define MSG_SC5_SHOWHANDLE 918
#define MSG_SC5_TESTLUK 914
+#define MSG_SC6_BTNPUSH 1017
+#define MSG_SC6_ENABLEDROPS 687
+#define MSG_SC6_INSTHANDLE 1012
+#define MSG_SC6_JUMPBK 2900
+#define MSG_SC6_JUMPFW 2901
+#define MSG_SC6_RESTORESCROLL 2906
+#define MSG_SC6_SHOWNEXTBALL 790
+#define MSG_SC6_STARTDROPS 2897
+#define MSG_SC6_TAKEBALL 682
+#define MSG_SC6_TESTNUMBALLS 2904
+#define MSG_SC6_UTRUBACLICK 1105
#define MSG_GOTOLADDER 618
#define MSG_SHAKEBOTTLE 584
#define MSG_SHOOTKOZAW 557
#define MSG_SHOWCOIN 1033
+#define MSG_SPINHANDLE 2398
#define MSG_STARTHAND 612
#define MSG_TAKEBOTTLE 614
#define MSG_TAKEKOZAW 611
@@ -354,6 +366,7 @@ namespace Fullpipe {
#define ST_MAN_SIT 1164
#define ST_MAN_STANDLADDER 453
#define ST_MAN_UP 449
+#define ST_MAN6_BALL 2688
#define ST_NBL_NORM 1076
#define ST_OTM_BOX_LEFT 429
#define ST_OTM_GLS_LEFT 421
diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp
index e130337..0b66712 100644
--- a/engines/fullpipe/gameloader.cpp
+++ b/engines/fullpipe/gameloader.cpp
@@ -510,4 +510,8 @@ InputController *FullpipeEngine::getGameLoaderInputController() {
return 0;
}
+MotionController *getCurrSceneSc2MotionController() {
+ return getSc2MctlCompoundBySceneId(g_fullpipe->_currentScene->_sceneId);
+}
+
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/gameloader.h b/engines/fullpipe/gameloader.h
index 4f54626..0745375 100644
--- a/engines/fullpipe/gameloader.h
+++ b/engines/fullpipe/gameloader.h
@@ -111,6 +111,7 @@ class GameLoader : public CObject {
Inventory2 *getGameLoaderInventory();
InteractionController *getGameLoaderInteractionController();
MctlCompound *getSc2MctlCompoundBySceneId(int16 sceneId);
+MotionController *getCurrSceneSc2MotionController();
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 74beb1c..9578675 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -110,6 +110,10 @@ Vars::Vars() {
scene05_handleFlipper = 0;
scene05_floatersTicker = 0;
+ scene06_var01 = 0;
+ scene06_var02 = 0;
+ scene06_var03 = 0;
+ scene06_var04 = 0;
scene06_mumsy = 0;
scene06_var06 = 0;
scene06_invHandle = 0;
@@ -124,6 +128,16 @@ Vars::Vars() {
scene06_var13 = 0;
scene06_var14 = 0;
scene06_var15 = 1;
+ scene06_var16 = 0;
+ scene06_var17 = 0;
+ scene06_var18 = 0;
+ scene06_sceneClickX = 0;
+ scene06_sceneClickY = 0;
+ scene06_mumsyPos = 0;
+ scene06_mumsyJumpBk = 0;
+ scene06_mumsyJumpFw = 0;
+ scene06_mumsyJumpBkPercent = 0;
+ scene06_mumsyJumpFwPercent = 0;
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 7c1e338..73ebb41 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -25,8 +25,9 @@
namespace Fullpipe {
+struct BehaviorEntryInfo;
class StaticANIObject;
- class MctlLadder;
+class MctlLadder;
int defaultUpdateCursor();
@@ -142,20 +143,34 @@ public:
int scene05_floatersTicker;
StaticANIObject *scene06_mumsy;
+ int scene06_var01;
+ int scene06_var02;
+ int scene06_var03;
+ int scene06_var04;
int scene06_var06;
StaticANIObject *scene06_invHandle;
StaticANIObject *scene06_liftButton;
StaticANIObject *scene06_ballDrop;
int scene06_var07;
int scene06_var08;
- int scene06_var09;
+ StaticANIObject *scene06_var09;
int scene06_var10;
- int scene06_var11;
+ StaticANIObject *scene06_var11;
Common::Array<StaticANIObject *> scene06_balls;
int scene06_var12;
int scene06_var13;
int scene06_var14;
int scene06_var15;
+ int scene06_var16;
+ int scene06_var17;
+ int scene06_var18;
+ int scene06_sceneClickX;
+ int scene06_sceneClickY;
+ int scene06_mumsyPos;
+ BehaviorEntryInfo *scene06_mumsyJumpBk;
+ BehaviorEntryInfo *scene06_mumsyJumpFw;
+ int scene06_mumsyJumpBkPercent;
+ int scene06_mumsyJumpFwPercent;
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index f341216..1ec6edd 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -29,6 +29,11 @@
#include "fullpipe/scenes.h"
#include "fullpipe/statics.h"
#include "fullpipe/scene.h"
+#include "fullpipe/messages.h"
+#include "fullpipe/gameloader.h"
+#include "fullpipe/behavior.h"
+#include "fullpipe/motion.h"
+#include "fullpipe/interaction.h"
namespace Fullpipe {
@@ -36,6 +41,83 @@ void sceneHandler06_setExits(Scene *sc) {
warning("STUB: sceneHandler06_setExits()");
}
+void sceneHandler06_winArcade() {
+ warning("STUB: sceneHandler06_winArcade()");
+}
+
+void sceneHandler06_enableDrops() {
+ warning("STUB: sceneHandler06_enableDrops()");
+}
+
+void sceneHandler06_sub01() {
+ warning("STUB: sceneHandler06_sub01()");
+}
+
+void sceneHandler06_spinHandle() {
+ warning("STUB: sceneHandler06_spinHandle()");
+}
+
+void sceneHandler06_uPipeClick() {
+ warning("STUB: sceneHandler06_uPipeClick()");
+}
+
+void sceneHandler06_buttonPush() {
+ warning("STUB: sceneHandler06_buttonPush()");
+}
+
+void sceneHandler06_showNextBall() {
+ warning("STUB: sceneHandler06_showNextBall()");
+}
+
+void sceneHandler06_installHandle() {
+ warning("STUB: sceneHandler06_installHandle()");
+}
+
+void sceneHandler06_takeBall() {
+ warning("STUB: sceneHandler06_takeBall()");
+}
+
+void sceneHandler06_sub02() {
+ warning("STUB: sceneHandler06_sub02()");
+}
+
+void sceneHandler06_throwBall() {
+ warning("STUB: sceneHandler06_throwBall()");
+}
+
+void sceneHandler06_sub03() {
+ warning("STUB: sceneHandler06_sub03()");
+}
+
+void sceneHandler06_sub04(int par) {
+ warning("STUB: sceneHandler06_sub04()");
+}
+
+void sceneHandler06_sub05() {
+ warning("STUB: sceneHandler06_sub05()");
+}
+
+void sceneHandler06_sub06() {
+ warning("STUB: sceneHandler06_sub06()");
+}
+
+void sceneHandler06_sub07() {
+ warning("STUB: sceneHandler06_sub07()");
+}
+
+void sceneHandler06_sub08() {
+ warning("STUB: sceneHandler06_sub08()");
+}
+
+void sceneHandler06_sub09() {
+ warning("STUB: sceneHandler06_sub09()");
+}
+
+void sceneHandler06_sub10() {
+ warning("STUB: sceneHandler06_sub10()");
+}
+
+
void scene06_initScene(Scene *sc) {
g_vars->scene06_mumsy = sc->getStaticANIObject1ById(ANI_MAMASHA, -1);
g_vars->scene06_var06 = 0;
@@ -85,4 +167,231 @@ void scene06_initScene(Scene *sc) {
g_fullpipe->setArcadeOverlay(PIC_CSR_ARCADE2);
}
+int sceneHandler06(ExCommand *ex) {
+ if (ex->_messageKind != 17)
+ return 0;
+
+ switch(ex->_messageNum) {
+ case MSG_LIFT_CLOSEDOOR:
+ g_fullpipe->lift_closedoorSeq();
+ break;
+
+ case MSG_LIFT_EXITLIFT:
+ g_fullpipe->lift_exitSeq(ex);
+ break;
+
+ case MSG_CMN_WINARCADE:
+ sceneHandler06_winArcade();
+ break;
+
+ case MSG_LIFT_STARTEXITQUEUE:
+ g_fullpipe->lift_startExitQueue();
+ break;
+
+ case MSG_SC6_RESTORESCROLL:
+ g_fullpipe->_aniMan2 = g_fullpipe->_aniMan;
+ getCurrSceneSc2MotionController()->setEnabled();
+ getGameLoaderInteractionController()->enableFlag24();
+ sceneHandler06_setExits(g_fullpipe->_currentScene);
+ break;
+
+ case MSG_SC6_STARTDROPS:
+ if (g_fullpipe->getObjectState(sO_BigMumsy) == g_fullpipe->getObjectEnumState(sO_BigMumsy, sO_IsSleeping))
+ sceneHandler06_enableDrops();
+ break;
+
+ case MSG_SC6_TESTNUMBALLS:
+ g_vars->scene06_var16 = 0;
+
+ if (g_vars->scene06_var13 < 5 || !g_vars->scene06_var07)
+ return 0;
+
+ sceneHandler06_sub01();
+ break;
+
+ case MSG_SC6_JUMPFW:
+ ++g_vars->scene06_mumsyPos;
+ break;
+
+ case MSG_SC6_JUMPBK:
+ --g_vars->scene06_mumsyPos;
+ break;
+
+ case MSG_LIFT_CLICKBUTTON:
+ g_fullpipe->lift_animation3();
+ break;
+
+ case MSG_SPINHANDLE:
+ sceneHandler06_spinHandle();
+ break;
+
+ case MSG_LIFT_GO:
+ g_fullpipe->lift_goAnimation();
+ break;
+
+ case MSG_SC6_UTRUBACLICK:
+ sceneHandler06_uPipeClick();
+ break;
+
+ case MSG_SC6_BTNPUSH:
+ sceneHandler06_buttonPush();
+ break;
+
+ case MSG_SC6_SHOWNEXTBALL:
+ sceneHandler06_showNextBall();
+ break;
+
+ case MSG_SC6_INSTHANDLE:
+ sceneHandler06_installHandle();
+ break;
+
+ case MSG_SC6_ENABLEDROPS:
+ sceneHandler06_enableDrops();
+ break;
+
+ case 64:
+ g_fullpipe->lift_sub05(ex);
+ break;
+
+ case MSG_SC6_TAKEBALL:
+ sceneHandler06_takeBall();
+ break;
+
+ case 30:
+ if (g_vars->scene06_var08) {
+ sceneHandler06_sub02();
+ break;
+ }
+
+ if (!g_vars->scene06_var07) {
+ // Do nothing
+ break;
+ }
+ break;
+
+ case 29:
+ {
+ StaticANIObject *st = g_fullpipe->_currentScene->getStaticANIObjectAtPos(ex->_sceneClickX, ex->_sceneClickY);
+
+ if (st) {
+ if (!g_vars->scene06_var07 && st->_id == ANI_LIFTBUTTON) {
+ g_fullpipe->lift_sub1(st);
+ ex->_messageKind = 0;
+ return 0;
+ }
+
+ if (g_vars->scene06_var09 == st) {
+ if (g_vars->scene06_var12 == 1)
+ sceneHandler06_takeBall();
+
+ ex->_messageKind = 0;
+ } else if (g_vars->scene06_var10 && g_fullpipe->_aniMan == st && !g_fullpipe->_aniMan->_movement && g_fullpipe->_aniMan->_statics->_staticsId == ST_MAN6_BALL) {
+ g_vars->scene06_sceneClickX = ex->_sceneClickX;
+ g_vars->scene06_sceneClickY = ex->_sceneClickY;
+
+ sceneHandler06_throwBall();
+ }
+ }
+
+ if (!st || !canInteractAny(g_fullpipe->_aniMan, st, ex->_keyCode)) {
+ int picId = g_fullpipe->_currentScene->getPictureObjectIdAtPos(ex->_sceneClickX, ex->_sceneClickY);
+ PictureObject *pic = g_fullpipe->_currentScene->getPictureObjectById(picId, 0);
+
+ if (!pic || !canInteractAny(g_fullpipe->_aniMan, pic, ex->_keyCode)) {
+ if ((g_fullpipe->_sceneRect.right - ex->_sceneClickX < 47
+ && g_fullpipe->_sceneRect.right < g_fullpipe->_sceneWidth - 1)
+ || (ex->_sceneClickX - g_fullpipe->_sceneRect.left < 47 && g_fullpipe->_sceneRect.left > 0)) {
+ g_fullpipe->processArcade(ex);
+ return 0;
+ }
+ }
+ }
+ }
+
+ break;
+
+ case 33:
+ {
+ int res = 0;
+
+ if (g_fullpipe->_aniMan2) {
+ int ox = g_fullpipe->_aniMan2->_ox;
+ int oy = g_fullpipe->_aniMan2->_oy;
+
+ g_vars->scene06_var01 = ox;
+ g_vars->scene06_var02 = oy;
+
+ if (g_vars->scene06_var07 && oy <= 470 && ox >= 1088) {
+ if (ox < g_fullpipe->_sceneRect.left + 600) {
+ g_fullpipe->_currentScene->_x = ox - g_fullpipe->_sceneRect.left - 700;
+ ox = g_vars->scene06_var01;
+ }
+
+ if (ox > g_fullpipe->_sceneRect.right - 50)
+ g_fullpipe->_currentScene->_x = ox - g_fullpipe->_sceneRect.right + 70;
+ } else {
+ if (ox < g_fullpipe->_sceneRect.left + 200) {
+ g_fullpipe->_currentScene->_x = ox - g_fullpipe->_sceneRect.left - 300;
+ ox = g_vars->scene06_var01;
+ }
+
+ if (ox > g_fullpipe->_sceneRect.right - 200)
+ g_fullpipe->_currentScene->_x = ox - g_fullpipe->_sceneRect.right + 300;
+ }
+
+ res = 1;
+ }
+ if (g_vars->scene06_var07) {
+ if (g_vars->scene06_mumsyPos > -3)
+ g_vars->scene06_mumsyJumpBk->_percent = g_vars->scene06_mumsyJumpBkPercent;
+ else
+ g_vars->scene06_mumsyJumpBk->_percent = 0;
+
+ if (g_vars->scene06_mumsyPos < 4)
+ g_vars->scene06_mumsyJumpFw->_percent = g_vars->scene06_mumsyJumpFwPercent;
+ else
+ g_vars->scene06_mumsyJumpFw->_percent = 0;
+
+ if (g_vars->scene06_var08) {
+ g_vars->scene06_var14++;
+ if (g_vars->scene06_var14 >= 600)
+ sceneHandler06_sub03();
+ }
+ } else {
+ g_vars->scene06_mumsyJumpFw->_percent = 0;
+ g_vars->scene06_mumsyJumpBk->_percent = 0;
+ }
+
+ if (g_vars->scene06_var11) {
+ g_vars->scene06_var03 = g_vars->scene06_var11->_ox - g_vars->scene06_var17;
+ g_vars->scene06_var04 = g_vars->scene06_var11->_oy - g_vars->scene06_var18;
+
+ g_vars->scene06_var11->setOXY(g_vars->scene06_var03, g_vars->scene06_var04);
+
+ if (g_vars->scene06_var17 >= 2)
+ g_vars->scene06_var17 -= 2;
+
+ g_vars->scene06_var18 -= 5;
+
+ sceneHandler06_sub04(g_vars->scene06_var17);
+ }
+ if (g_vars->scene06_var07
+ && !g_vars->scene06_var09
+ && !g_vars->scene06_var10
+ && !g_vars->scene06_var11
+ && g_vars->scene06_var12 >= 15
+ && !g_vars->scene06_ballDrop->_movement
+ && !g_vars->scene06_mumsy->_movement
+ && !g_vars->scene06_var16)
+ sceneHandler06_sub01();
+ g_fullpipe->_behaviorManager->updateBehaviors();
+ g_fullpipe->startSceneTrack();
+
+ return res;
+ }
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: 65512ffd970b9d2ad0ebc1920213c77f4a0ebbcb
https://github.com/scummvm/scummvm/commit/65512ffd970b9d2ad0ebc1920213c77f4a0ebbcb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-16T12:28:12-08:00
Commit Message:
FULLPIPE: Implement scene06_initMumsy()
Changed paths:
engines/fullpipe/behavior.cpp
engines/fullpipe/behavior.h
engines/fullpipe/constants.h
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes/scene06.cpp
diff --git a/engines/fullpipe/behavior.cpp b/engines/fullpipe/behavior.cpp
index c27f108..bcf5f0d 100644
--- a/engines/fullpipe/behavior.cpp
+++ b/engines/fullpipe/behavior.cpp
@@ -198,6 +198,12 @@ void BehaviorManager::setFlagByStaticAniObject(StaticANIObject *ani, int flag) {
}
}
+BehaviorEntryInfo *BehaviorManager::getBehaviorEntryInfoByMessageQueueDataId(StaticANIObject *ani, int id1, int id2) {
+ warning("STUB: getBehaviorEntryInfoByMessageQueueDataId()");
+
+ return 0;
+}
+
void BehaviorInfo::clear() {
_ani = 0;
_staticsId = 0;
diff --git a/engines/fullpipe/behavior.h b/engines/fullpipe/behavior.h
index 1ac0b5b..90bb38d 100644
--- a/engines/fullpipe/behavior.h
+++ b/engines/fullpipe/behavior.h
@@ -81,6 +81,8 @@ class BehaviorManager : public CObject {
bool setBehaviorEnabled(StaticANIObject *obj, int aniId, int quId, int flag);
void setFlagByStaticAniObject(StaticANIObject *ani, int flag);
+
+ BehaviorEntryInfo *getBehaviorEntryInfoByMessageQueueDataId(StaticANIObject *ani, int id1, int id2);
};
} // End of namespace Fullpipe
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index f36006c..1729c5a 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -251,6 +251,8 @@ namespace Fullpipe {
#define QU_INTR_GETUPMAN 5136
#define QU_INTR_STARTINTRO 5133
#define QU_KOZAW_WALK 505
+#define QU_MOM_JUMPBK 671
+#define QU_MOM_JUMPFW 670
#define QU_PNK_CLICK 550
#define QU_SC3_ENTERLIFT 2779
#define QU_SC3_EXITLIFT 2808
@@ -367,6 +369,7 @@ namespace Fullpipe {
#define ST_MAN_STANDLADDER 453
#define ST_MAN_UP 449
#define ST_MAN6_BALL 2688
+#define ST_MOM_STANDS 658
#define ST_NBL_NORM 1076
#define ST_OTM_BOX_LEFT 429
#define ST_OTM_GLS_LEFT 421
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 9578675..74f7c87 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -320,7 +320,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_behaviorManager->initBehavior(scene, sceneVar);
scene->initObjectCursors("SC_6");
setSceneMusicParameters(sceneVar);
- sub_415300();
+ scene06_initMumsy();
insertMessageHandler(sceneHandler06, 2, 2);
_updateCursorCallback = scene06_updateCursor;
break;
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index 1ec6edd..cddb260 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -37,6 +37,13 @@
namespace Fullpipe {
+void scene06_initMumsy() {
+ g_vars->scene06_mumsyJumpFw = g_fullpipe->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene06_mumsy, ST_MOM_STANDS, QU_MOM_JUMPFW);
+ g_vars->scene06_mumsyJumpBk = g_fullpipe->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene06_mumsy, ST_MOM_STANDS, QU_MOM_JUMPBK);
+ g_vars->scene06_mumsyJumpFwPercent = g_vars->scene06_mumsyJumpFw->_percent;
+ g_vars->scene06_mumsyJumpBkPercent = g_vars->scene06_mumsyJumpBk->_percent;
+}
+
void sceneHandler06_setExits(Scene *sc) {
warning("STUB: sceneHandler06_setExits()");
}
Commit: 9ecdb4c1fce7efb6a7cfa673b33d6be12f8b5752
https://github.com/scummvm/scummvm/commit/9ecdb4c1fce7efb6a7cfa673b33d6be12f8b5752
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-16T12:28:12-08:00
Commit Message:
FULLPIPE: Enable scene06
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene06.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 74f7c87..2aa852b 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -312,7 +312,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = defaultUpdateCursor;
break;
-#if 0
case SC_6:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_6");
scene->preloadMovements(sceneVar);
@@ -325,6 +324,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene06_updateCursor;
break;
+#if 0
case SC_7:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_7");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 73ebb41..e8a240d 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -54,6 +54,11 @@ int sceneHandler04(ExCommand *cmd);
void scene05_initScene(Scene *sc);
int sceneHandler05(ExCommand *cmd);
+void scene06_initScene(Scene *sc);
+void scene06_initMumsy();
+int sceneHandler06(ExCommand *cmd);
+int scene06_updateCursor();
+
void sceneDbgMenu_initScene(Scene *sc);
int sceneHandlerDbgMenu(ExCommand *cmd);
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index cddb260..bd1b205 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -44,6 +44,12 @@ void scene06_initMumsy() {
g_vars->scene06_mumsyJumpBkPercent = g_vars->scene06_mumsyJumpBk->_percent;
}
+int scene06_updateCursor() {
+ warning("STUB: scene06_updateCursor()");
+
+ return 0;
+}
+
void sceneHandler06_setExits(Scene *sc) {
warning("STUB: sceneHandler06_setExits()");
}
Commit: 2c8476377149fa716b892d0e49b16656abe9769c
https://github.com/scummvm/scummvm/commit/2c8476377149fa716b892d0e49b16656abe9769c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-16T12:28:12-08:00
Commit Message:
FULLPIPE: Implement scene06_updateCursor()
Changed paths:
engines/fullpipe/scenes/scene06.cpp
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index bd1b205..76f61ff 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -45,9 +45,27 @@ void scene06_initMumsy() {
}
int scene06_updateCursor() {
- warning("STUB: scene06_updateCursor()");
+ g_fullpipe->updateCursorCommon();
- return 0;
+ if (g_vars->scene06_var07) {
+ if (g_vars->scene06_var08) {
+ g_fullpipe->_cursorId = PIC_CSR_ARCADE2_D;
+
+ return PIC_CSR_ARCADE2_D;
+ }
+ if (g_fullpipe->_aniMan == (StaticANIObject *)g_fullpipe->_objectAtCursor) {
+ if (g_fullpipe->_aniMan->_statics->_staticsId == ST_MAN6_BALL && g_fullpipe->_cursorId == PIC_CSR_DEFAULT) {
+ g_fullpipe->_cursorId = PIC_CSR_ITN;
+
+ return PIC_CSR_ITN;
+ }
+ } else if (g_fullpipe->_objectAtCursor && (StaticANIObject *)g_fullpipe->_objectAtCursor == g_vars->scene06_var09
+ && g_fullpipe->_cursorId == PIC_CSR_DEFAULT) {
+ g_fullpipe->_cursorId = PIC_CSR_ITN;
+ }
+ }
+
+ return g_fullpipe->_cursorId;
}
void sceneHandler06_setExits(Scene *sc) {
More information about the Scummvm-git-logs
mailing list