[Scummvm-cvs-logs] scummvm master -> 86e244bbe5581cdf04d093dcd894f5aa646a0bca
sev-
sev at scummvm.org
Sun Jan 5 21:43:01 CET 2014
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
c58fa780c3 FULLPIPE: Initial code for scene26
c5126d6efe FULLPIPE: Plug scene26 in
541ac83096 FULLPIPE: Implement scene26_updateCursor()
031d47e07b FULLPIPE: Implement sceneHandler26()
8707660f31 FULLPIPE: More code to scene26
86e244bbe5 FULLPIPE: Enable scene26
Commit: c58fa780c36a4a142b157c1a638e5a87c4cf8d22
https://github.com/scummvm/scummvm/commit/c58fa780c36a4a142b157c1a638e5a87c4cf8d22
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T12:42:14-08:00
Commit Message:
FULLPIPE: Initial code for scene26
Changed paths:
A engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
new file mode 100644
index 0000000..cc6eeb8
--- /dev/null
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -0,0 +1,70 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "fullpipe/fullpipe.h"
+
+#include "fullpipe/objectnames.h"
+#include "fullpipe/constants.h"
+
+#include "fullpipe/gameloader.h"
+#include "fullpipe/motion.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/statics.h"
+
+#include "fullpipe/interaction.h"
+#include "fullpipe/behavior.h"
+
+
+namespace Fullpipe {
+
+void scene26_initScene(Scene *sc) {
+ g_vars->scene26_chhi = sc->getStaticANIObject1ById(ANI_CHHI, -1);
+ g_vars->scene26_drop = sc->getStaticANIObject1ById(ANI_DROP_26, -1);
+ g_vars->scene26_sockPic = sc->getPictureObjectById(PIC_SC26_SOCK, 0);
+ g_vars->scene26_sock = sc->getStaticANIObject1ById(ANI_SOCK_26, -1);
+ g_vars->scene26_var01 = 200;
+ g_vars->scene26_var02 = 200;
+ g_vars->scene26_var03 = 300;
+ g_vars->scene26_var04 = 300;
+
+ if (g_fp->getObjectState(sO_Hatch_26) == g_fp->getObjectEnumState(sO_Hatch_26, sO_WithSock)) {
+ g_fp->setObjectState(sO_Hatch_26, g_fp->getObjectEnumState(sO_Hatch_26, sO_Closed));
+ g_fp->setObjectState(sO_Sock_26, g_fp->getObjectEnumState(sO_Sock_26, sO_HangsOnPipe));
+ }
+
+ Interaction *inter = getGameLoaderInteractionController()->getInteractionByObjectIds(ANI_LUK26, ANI_MAN, ANI_INV_SOCK);
+
+ if (getGameLoaderInventory()->getCountItemsWithId(ANI_INV_VENT) == 0)
+ inter->_flags &= 0xFFFDFFFF;
+ else
+ inter->_flags |= 0x20000;
+
+ if (g_fp->getObjectState(sO_Sock_26) == g_fp->getObjectEnumState(sO_Sock_26, sO_HangsOnPipe))
+ g_vars->scene26_sockPic->_flags |= 4;
+ else
+ g_vars->scene26_sockPic->_flags &= 0xFFFB;
+
+ if (g_fp->getObjectState(sO_Valve1_26) == g_fp->getObjectEnumState(sO_Valve1_26, sO_Opened))
+ g_fp->playSound(SND_26_018, 1);
+}
+
+} // End of namespace Fullpipe
Commit: c5126d6efec27deaa736d80f636a5b021b882367
https://github.com/scummvm/scummvm/commit/c5126d6efec27deaa736d80f636a5b021b882367
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T12:42:14-08:00
Commit Message:
FULLPIPE: Plug scene26 in
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/module.mk
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 3eb6364..186f2f5 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -925,6 +925,16 @@ namespace Fullpipe {
#define ST_MAN_LADDERDOWN_R 3419
#define ST_MAN25_ONBOARD 1879
+// Scene 26
+#define ANI_CHHI 1957
+#define ANI_DROP_26 3345
+#define ANI_INV_SOCK 1698
+#define ANI_INV_VENT 1968
+#define ANI_LUK26 1867
+#define ANI_SOCK_26 4553
+#define PIC_SC26_SOCK 5312
+#define SND_26_018 5340
+
// Scene 30
#define ANI_LEG 2322
#define MSG_SC30_UPDATEPATH 2358
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 3d781e6..8a4350e 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -46,6 +46,7 @@ MODULE_OBJS = \
scenes/scene23.o \
scenes/scene24.o \
scenes/scene25.o \
+ scenes/scene26.o \
scenes/scene30.o \
scenes/scene31.o \
scenes/scene36.o \
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 8f42419..81dd7e1 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -292,6 +292,15 @@ Vars::Vars() {
scene25_bearders.clear();
scene25_sneezeFlipper = false;
+ scene26_chhi = 0;
+ scene26_drop = 0;
+ scene26_sockPic = 0;
+ scene26_sock = 0;
+ scene26_var01 = 0;
+ scene26_var02 = 0;
+ scene26_var03 = 0;
+ scene26_var04 = 0;
+
scene30_leg = 0;
scene30_liftFlag = 1;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 9b1e4fa..a568baf 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -411,6 +411,15 @@ public:
Common::Array<StaticANIObject *> scene25_bearders;
bool scene25_sneezeFlipper;
+ StaticANIObject *scene26_chhi;
+ StaticANIObject *scene26_drop;
+ PictureObject *scene26_sockPic;
+ StaticANIObject *scene26_sock;
+ int scene26_var01;
+ int scene26_var02;
+ int scene26_var03;
+ int scene26_var04;
+
StaticANIObject *scene30_leg;
int scene30_liftFlag;
Commit: 541ac8309683d8bebb32ef3f93c82e94a594c89c
https://github.com/scummvm/scummvm/commit/541ac8309683d8bebb32ef3f93c82e94a594c89c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T12:42:14-08:00
Commit Message:
FULLPIPE: Implement scene26_updateCursor()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 186f2f5..811afd4 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -932,6 +932,8 @@ namespace Fullpipe {
#define ANI_INV_VENT 1968
#define ANI_LUK26 1867
#define ANI_SOCK_26 4553
+#define ANI_VENT 1927
+#define PIC_SC26_LTRUBA 1864
#define PIC_SC26_SOCK 5312
#define SND_26_018 5340
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index cc6eeb8..bf81f2f 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -67,4 +67,17 @@ void scene26_initScene(Scene *sc) {
g_fp->playSound(SND_26_018, 1);
}
+int scene26_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_objectIdAtCursor != ANI_VENT || g_fp->_cursorId != PIC_CSR_DEFAULT) {
+ if (g_fp->_cursorId == PIC_CSR_ITN && g_fp->_objectIdAtCursor == PIC_SC26_LTRUBA)
+ g_fp->_cursorId = PIC_CSR_GOL;
+ } else {
+ g_fp->_cursorId = PIC_CSR_ITN;
+ }
+
+ return g_fp->_cursorId;
+}
+
} // End of namespace Fullpipe
Commit: 031d47e07b3666400ce48e053b1b50b365d165ce
https://github.com/scummvm/scummvm/commit/031d47e07b3666400ce48e053b1b50b365d165ce
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T12:42:14-08:00
Commit Message:
FULLPIPE: Implement sceneHandler26()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 811afd4..8f6e956 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -933,6 +933,14 @@ namespace Fullpipe {
#define ANI_LUK26 1867
#define ANI_SOCK_26 4553
#define ANI_VENT 1927
+#define MSG_SC26_CLICKVENT 1947
+#define MSG_SC26_HIDECHI 1967
+#define MSG_SC26_HIDEVENT 1945
+#define MSG_SC26_SHOWCHI 3495
+#define MSG_SC26_SHOWVENT 1946
+#define MSG_SC26_TESTVENT 1952
+#define MSG_SC26_UPDATEDROP 3496
+#define MSG_SC26_UPDATEPOOL 1956
#define PIC_SC26_LTRUBA 1864
#define PIC_SC26_SOCK 5312
#define SND_26_018 5340
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index bf81f2f..a4f23b1 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -80,4 +80,114 @@ int scene26_updateCursor() {
return g_fp->_cursorId;
}
+void sceneHandler26_updateDrop() {
+ warning("STUB: sceneHandler26_updateDrop()");
+}
+
+void sceneHandler26_showChi() {
+ warning("STUB: sceneHandler26_showChi()");
+}
+
+void sceneHandler26_updatePool() {
+ warning("STUB: sceneHandler26_updatePool()");
+}
+
+void sceneHandler26_hideChi() {
+ warning("STUB: sceneHandler26_hideChi()");
+}
+
+void sceneHandler26_testVent() {
+ warning("STUB: sceneHandler26_testVent()");
+}
+
+void sceneHandler26_showVent() {
+ warning("STUB: sceneHandler26_showVent()");
+}
+
+void sceneHandler26_hideVent() {
+ warning("STUB: sceneHandler26_hideVent()");
+}
+
+void sceneHandler26_clickVent(StaticANIObject *ani, ExCommand *cmd) {
+ warning("STUB: sceneHandler26_clickVent(ani, cmd)");
+}
+
+void sceneHandler26_sub01() {
+ warning("STUB: sceneHandler26_sub01()");
+}
+
+int sceneHandler26(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch (cmd->_messageNum) {
+ case MSG_SC26_UPDATEDROP:
+ sceneHandler26_updateDrop();
+ break;
+
+ case MSG_SC26_SHOWCHI:
+ sceneHandler26_showChi();
+ break;
+
+ case MSG_SC26_UPDATEPOOL:
+ sceneHandler26_updatePool();
+ break;
+
+ case MSG_SC26_HIDECHI:
+ sceneHandler26_hideChi();
+ break;
+
+ case MSG_SC26_TESTVENT:
+ sceneHandler26_testVent();
+ break;
+
+ case MSG_SC26_SHOWVENT:
+ sceneHandler26_showVent();
+ break;
+
+ case MSG_SC26_CLICKVENT:
+ {
+ StaticANIObject *ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_VENT, cmd->_keyCode);
+
+ if (ani && ani->_id == ANI_VENT)
+ sceneHandler26_clickVent(ani, cmd);
+
+ break;
+ }
+
+ case MSG_SC26_HIDEVENT:
+ sceneHandler26_hideVent();
+ break;
+
+ case 29:
+ {
+ StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+
+ if (ani && ani->_id == ANI_VENT)
+ sceneHandler26_clickVent(ani, cmd);
+
+ break;
+ }
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ int x = g_fp->_aniMan2->_ox;
+
+ if (x < g_fp->_sceneRect.left + g_vars->scene26_var01)
+ g_fp->_currentScene->_x = x - g_vars->scene26_var03 - g_fp->_sceneRect.left;
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene26_var01)
+ g_fp->_currentScene->_x = x + g_vars->scene26_var03 - g_fp->_sceneRect.right;
+ }
+
+ g_fp->_behaviorManager->updateBehaviors();
+
+ g_fp->startSceneTrack();
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: 8707660f3145317f8c0b0c83ce53b96681106f48
https://github.com/scummvm/scummvm/commit/8707660f3145317f8c0b0c83ce53b96681106f48
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T12:42:15-08:00
Commit Message:
FULLPIPE: More code to scene26
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 8f6e956..40809d4 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -943,7 +943,11 @@ namespace Fullpipe {
#define MSG_SC26_UPDATEPOOL 1956
#define PIC_SC26_LTRUBA 1864
#define PIC_SC26_SOCK 5312
+#define QU_CHI_HIDE 1965
+#define QU_CHI_SHOW 1964
#define SND_26_018 5340
+#define ST_CHI_EMPTY 1959
+#define ST_CHI_NORM 1960
// Scene 30
#define ANI_LEG 2322
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 81dd7e1..cf40c6b 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -300,6 +300,7 @@ Vars::Vars() {
scene26_var02 = 0;
scene26_var03 = 0;
scene26_var04 = 0;
+ scene26_var05 = 0;
scene30_leg = 0;
scene30_liftFlag = 1;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index a568baf..bdd2307 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -419,6 +419,7 @@ public:
int scene26_var02;
int scene26_var03;
int scene26_var04;
+ StaticANIObject *scene26_var05;
StaticANIObject *scene30_leg;
int scene30_liftFlag;
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index a4f23b1..841e189 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -81,11 +81,20 @@ int scene26_updateCursor() {
}
void sceneHandler26_updateDrop() {
- warning("STUB: sceneHandler26_updateDrop()");
+ if (g_fp->getObjectState(sO_Valve5_26) == g_fp->getObjectEnumState(sO_Valve5_26, sO_Closed))
+ g_fp->_behaviorManager->setFlagByStaticAniObject(g_vars->scene26_drop, 0);
+ else
+ g_fp->_behaviorManager->setFlagByStaticAniObject(g_vars->scene26_drop, 1);
+}
+
+void scene26_setupDrop() {
+ sceneHandler26_updateDrop();
}
void sceneHandler26_showChi() {
- warning("STUB: sceneHandler26_showChi()");
+ g_vars->scene26_chhi->changeStatics2(ST_CHI_EMPTY);
+
+ chainQueue(QU_CHI_SHOW, 1);
}
void sceneHandler26_updatePool() {
@@ -93,7 +102,9 @@ void sceneHandler26_updatePool() {
}
void sceneHandler26_hideChi() {
- warning("STUB: sceneHandler26_hideChi()");
+ g_vars->scene26_chhi->changeStatics2(ST_CHI_NORM);
+
+ chainQueue(QU_CHI_HIDE, 1);
}
void sceneHandler26_testVent() {
@@ -105,7 +116,8 @@ void sceneHandler26_showVent() {
}
void sceneHandler26_hideVent() {
- warning("STUB: sceneHandler26_hideVent()");
+ if (g_vars->scene26_var05)
+ g_vars->scene26_var05->hide();
}
void sceneHandler26_clickVent(StaticANIObject *ani, ExCommand *cmd) {
Commit: 86e244bbe5581cdf04d093dcd894f5aa646a0bca
https://github.com/scummvm/scummvm/commit/86e244bbe5581cdf04d093dcd894f5aa646a0bca
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T12:42:15-08:00
Commit Message:
FULLPIPE: Enable scene26
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index cf40c6b..322c7d7 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -761,7 +761,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene25_updateCursor;
break;
-#if 0
case SC_26:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_26");
scene->preloadMovements(sceneVar);
@@ -770,10 +769,11 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
scene->initObjectCursors("SC_26");
setSceneMusicParameters(sceneVar);
insertMessageHandler(sceneHandler26, 2, 2);
- scene26_sub_426140(scene);
+ scene26_setupDrop(scene);
_updateCursorCallback = scene26_updateCursor;
break;
+#if 0
case SC_27:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_27");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index bdd2307..f2843b2 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -127,6 +127,11 @@ void scene25_setupWater(Scene *sc, int entrance);
int sceneHandler25(ExCommand *cmd);
int scene25_updateCursor();
+void scene26_initScene(Scene *sc);
+void scene26_setupDrop(Scene *sc);
+int sceneHandler26(ExCommand *cmd);
+int scene26_updateCursor();
+
int scene30_updateCursor();
void scene30_initScene(Scene *sc, int flag);
int sceneHandler30(ExCommand *cmd);
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index 841e189..0c53130 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -87,7 +87,7 @@ void sceneHandler26_updateDrop() {
g_fp->_behaviorManager->setFlagByStaticAniObject(g_vars->scene26_drop, 1);
}
-void scene26_setupDrop() {
+void scene26_setupDrop(Scene *sc) {
sceneHandler26_updateDrop();
}
More information about the Scummvm-git-logs
mailing list