[Scummvm-cvs-logs] scummvm master -> 5ccec11d5263ef0596126ff6168e0263e6c8816e
sev-
sev at scummvm.org
Thu Jan 16 22:39:58 CET 2014
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ad33e9c026 FULLPIPE: Implement sceneHandler35()
0bb98d6876 FULLPIPE: Implement sceneHandler35_stopFlow() and _shrink()
5ccec11d52 FULLPIPE: Implement sceneHandler35_startFlow()
Commit: ad33e9c026e77ab6c5fe330a1b53ccc039fc788a
https://github.com/scummvm/scummvm/commit/ad33e9c026e77ab6c5fe330a1b53ccc039fc788a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-16T13:39:06-08:00
Commit Message:
FULLPIPE: Implement sceneHandler35()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene35.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index af7dc45..fc845e3 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1260,6 +1260,12 @@ namespace Fullpipe {
// Scene 35
#define ANI_HOSE 2424
#define ANI_PUZODUV 2418
+#define MSG_SC35_CHECKPIPESOUND 4761
+#define MSG_SC35_PLUGHOSE 2524
+#define MSG_SC35_SHRINK 2570
+#define MSG_SC35_STARTFLOW 2523
+#define MSG_SC35_STOPFLOW 4864
+#define MSG_SC35_TRYFLY 4985
#define QU_SC35_ENTERLIFT 2815
#define QU_SC35_EXITLIFT 2816
#define SND_35_011 4509
diff --git a/engines/fullpipe/scenes/scene35.cpp b/engines/fullpipe/scenes/scene35.cpp
index 5698cbc..5677125 100644
--- a/engines/fullpipe/scenes/scene35.cpp
+++ b/engines/fullpipe/scenes/scene35.cpp
@@ -75,4 +75,131 @@ void scene35_initScene(Scene *sc) {
g_fp->_floaters->init(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_35"));
}
+void sceneHandler35_stopFlow() {
+ warning("STUB: sceneHandler35_stopFlow()");
+}
+
+void sceneHandler35_shrink() {
+ warning("STUB: sceneHandler35_shrink()");
+}
+
+void sceneHandler35_startFlow() {
+ warning("STUB: sceneHandler35_startFlow()");
+}
+
+void sceneHandler35_genFlies() {
+ warning("STUB: sceneHandler35_genFlies()");
+}
+
+int sceneHandler35(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch (cmd->_messageNum) {
+ case MSG_LIFT_CLOSEDOOR:
+ g_fp->lift_closedoorSeq();
+ break;
+
+ case MSG_LIFT_EXITLIFT:
+ g_fp->lift_exitSeq(cmd);
+ break;
+
+ case MSG_LIFT_STARTEXITQUEUE:
+ g_fp->lift_startExitQueue();
+ break;
+
+ case MSG_LIFT_CLICKBUTTON:
+ g_fp->lift_animation3();
+ break;
+
+ case MSG_SC35_STOPFLOW:
+ sceneHandler35_stopFlow();
+ break;
+
+ case MSG_SC35_CHECKPIPESOUND:
+ if (g_fp->getObjectState(sO_Valve_35) == g_fp->getObjectEnumState(sO_Valve_35, sO_TurnedOn)) {
+ g_fp->stopAllSoundInstances(SND_35_011);
+ g_fp->playSound(SND_35_012, 1);
+
+ g_vars->scene35_var05 = 0;
+ break;
+ }
+ break;
+
+ case MSG_SC35_SHRINK:
+ sceneHandler35_shrink();
+ break;
+
+ case MSG_LIFT_GO:
+ g_fp->lift_goAnimation();
+ break;
+
+ case MSG_SC35_STARTFLOW:
+ case MSG_SC35_PLUGHOSE:
+ sceneHandler35_startFlow();
+ break;
+
+ case 64:
+ g_fp->lift_sub05(cmd);
+ break;
+
+ case 29:
+ {
+ StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(g_fp->_sceneRect.left + cmd->_x, g_fp->_sceneRect.top + cmd->_y);
+
+ if (ani)
+ if (ani->_id == ANI_LIFTBUTTON) {
+ g_fp->lift_sub1(ani);
+ cmd->_messageKind = 0;
+ break;
+ }
+
+ if (!ani || !canInteractAny(g_fp->_aniMan, ani, cmd->_keyCode)) {
+ int picId = g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+ PictureObject *pic = g_fp->_currentScene->getPictureObjectById(picId, 0);
+
+ if (!pic || !canInteractAny(g_fp->_aniMan, pic, cmd->_keyCode)) {
+ if ((g_fp->_sceneRect.right - cmd->_sceneClickX < 47 && g_fp->_sceneRect.right < g_fp->_sceneWidth - 1) || (cmd->_sceneClickX - g_fp->_sceneRect.left < 47 && g_fp->_sceneRect.left > 0)) {
+ g_fp->processArcade(cmd);
+ break;
+ }
+ }
+ }
+ break;
+ }
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ int x = g_fp->_aniMan2->_ox;
+
+ if (x < g_fp->_sceneRect.left + g_vars->scene35_var01)
+ g_fp->_currentScene->_x = x - g_vars->scene35_var03 - g_fp->_sceneRect.left;
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene35_var01)
+ g_fp->_currentScene->_x = x + g_vars->scene35_var03 - g_fp->_sceneRect.right;
+ }
+
+ if (g_vars->scene35_var05 > 0) {
+ --g_vars->scene35_var05;
+
+ if (!g_vars->scene35_var05)
+ sceneHandler35_stopFlow();
+ }
+
+ g_vars->scene35_var06++;
+
+ if (g_vars->scene35_var06 >= 160)
+ sceneHandler35_genFlies();
+
+ g_fp->_floaters->update();
+
+ g_fp->_behaviorManager->updateBehaviors();
+ g_fp->startSceneTrack();
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: 0bb98d68767fd0d1f480ea820eed07b02fd5d04c
https://github.com/scummvm/scummvm/commit/0bb98d68767fd0d1f480ea820eed07b02fd5d04c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-16T13:39:06-08:00
Commit Message:
FULLPIPE: Implement sceneHandler35_stopFlow() and _shrink()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene35.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index fc845e3..b82813b 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1270,6 +1270,7 @@ namespace Fullpipe {
#define QU_SC35_EXITLIFT 2816
#define SND_35_011 4509
#define SND_35_012 4510
+#define SND_35_026 4863
#define ST_HZE_NORM 2426
#define ST_PDV_LARGE 2421
#define ST_PDV_SMALL 2420
diff --git a/engines/fullpipe/scenes/scene35.cpp b/engines/fullpipe/scenes/scene35.cpp
index 5677125..b6453fa 100644
--- a/engines/fullpipe/scenes/scene35.cpp
+++ b/engines/fullpipe/scenes/scene35.cpp
@@ -76,11 +76,13 @@ void scene35_initScene(Scene *sc) {
}
void sceneHandler35_stopFlow() {
- warning("STUB: sceneHandler35_stopFlow()");
+ g_fp->setObjectState(sO_Valve_35, g_fp->getObjectEnumState(sO_Valve_35, sO_TurnedOff));
+ g_fp->stopAllSoundInstances(SND_35_011);
+ g_fp->playSound(SND_35_026, 0);
}
void sceneHandler35_shrink() {
- warning("STUB: sceneHandler35_shrink()");
+ getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing, 0);
}
void sceneHandler35_startFlow() {
Commit: 5ccec11d5263ef0596126ff6168e0263e6c8816e
https://github.com/scummvm/scummvm/commit/5ccec11d5263ef0596126ff6168e0263e6c8816e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-16T13:39:06-08:00
Commit Message:
FULLPIPE: Implement sceneHandler35_startFlow()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene35.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index b82813b..b3e06bb 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1266,6 +1266,9 @@ namespace Fullpipe {
#define MSG_SC35_STARTFLOW 2523
#define MSG_SC35_STOPFLOW 4864
#define MSG_SC35_TRYFLY 4985
+#define QU_PDV_SML_BLINK 2553
+#define QU_PDV_SML_TRY 2554
+#define QU_SC35_EATHOZE 2540
#define QU_SC35_ENTERLIFT 2815
#define QU_SC35_EXITLIFT 2816
#define SND_35_011 4509
diff --git a/engines/fullpipe/scenes/scene35.cpp b/engines/fullpipe/scenes/scene35.cpp
index b6453fa..4cf7fb4 100644
--- a/engines/fullpipe/scenes/scene35.cpp
+++ b/engines/fullpipe/scenes/scene35.cpp
@@ -86,7 +86,41 @@ void sceneHandler35_shrink() {
}
void sceneHandler35_startFlow() {
- warning("STUB: sceneHandler35_startFlow()");
+ if (g_fp->getObjectState(sO_Valve_35) == g_fp->getObjectEnumState(sO_Valve_35, sO_TurnedOn)) {
+ if ((g_vars->scene35_hose->_flags & 4) && g_vars->scene35_hose->_statics->_staticsId == ST_HZE_NORM) {
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene35_bellyInflater, ST_PDV_SMALL, QU_PDV_SML_BLINK, 0);
+ g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene35_bellyInflater, ST_PDV_SMALL, QU_PDV_SML_TRY, 0);
+
+ g_vars->scene35_bellyInflater->changeStatics2(ST_PDV_SMALL);
+ g_vars->scene35_bellyInflater->_flags &= 0xFEFF;
+
+ MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC35_EATHOZE), 0, 0);
+
+ mq->setFlags(mq->getFlags() | 1);
+
+ ExCommand *cmd = new ExCommand(g_vars->scene35_bellyInflater->_id, 34, 256, 0, 0, 0, 1, 0, 0, 0);
+
+ cmd->_excFlags |= 3;
+ cmd->_field_14 = 256;
+ cmd->_messageNum = 0;
+
+ mq->addExCommandToEnd(cmd);
+
+ if (!mq->chain(g_vars->scene35_bellyInflater))
+ delete mq;
+
+ g_vars->scene35_bellyInflater->_flags |= 1;
+
+ getCurrSceneSc2MotionController()->enableLinks(sO_CloseThing, 1);
+
+ g_fp->playSound(SND_35_012, 1);
+ } else {
+ if (!g_vars->scene35_var05)
+ g_vars->scene35_var05 = 98;
+
+ g_fp->playSound(SND_35_011, 1);
+ }
+ }
}
void sceneHandler35_genFlies() {
More information about the Scummvm-git-logs
mailing list