[Scummvm-cvs-logs] scummvm master -> dc7fc449299e54a07da4fd0335abb9cdbe1db62d
sev-
sev at scummvm.org
Sat Jan 18 12:50:13 CET 2014
This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
66e252bafc FULLPIPE: Initial code for scene37
9dd3c9d2b7 FULLPIPE: Plug scene37 in
9a4d233fc5 FULLPIPE: Implement scene37_updateCursor()
8a229f5a66 FULLPIPE: Implement sceneHandler37()
d122b201d6 FULLPIPE: Implement sceneHandler37_setRingsState()
7445f89353 FULLPIPE: Plug scene37 in
ce69278a48 FULLPIPE: Implement sceneHandler37_updateRing()
dc7fc44929 FULLPIPE: Renames in scene37. This completes the scene
Commit: 66e252bafc7f6f93eb81a0e62e6f09572fe59794
https://github.com/scummvm/scummvm/commit/66e252bafc7f6f93eb81a0e62e6f09572fe59794
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-18T01:17:57-08:00
Commit Message:
FULLPIPE: Initial code for scene37
Changed paths:
A engines/fullpipe/scenes/scene37.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 3e197b4..76f870b 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -505,6 +505,17 @@ public:
PictureObject *selector;
};
+struct Ring {
+ StaticANIObject *ani;
+ int x;
+ int y;
+ int numSubRings;
+ int subRing[10];
+ bool state;
+
+ Ring();
+};
+
} // End of namespace Fullpipe
#endif /* FULLPIPE_SCENES_H */
diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp
new file mode 100644
index 0000000..e0c27b6
--- /dev/null
+++ b/engines/fullpipe/scenes/scene37.cpp
@@ -0,0 +1,152 @@
+/* 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 {
+
+Ring::Ring() {
+ ani = 0;
+ x = 0;
+ y = 0;
+ numSubRings = 0;
+
+ for (int i = 0; i < 10; i++)
+ subRing[i] = 0;
+
+ state = false;
+}
+
+void scene37_initScene(Scene *sc) {
+ Ring *ring;
+ StaticANIObject *ani;
+
+ g_vars->scene37_var01 = 200;
+ g_vars->scene37_var02 = 200;
+ g_vars->scene37_var03 = 300;
+ g_vars->scene37_var04 = 300;
+ g_vars->scene37_var06 = -1;
+
+ ring = new Ring();
+ ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 0);
+ ring->ani = ani;
+ ring->x = ani->_ox - 40;
+ ring->y = ani->_ox + 40;
+ ring->numSubRings = 3;
+ ring->subRing[0] = 1;
+ ring->subRing[1] = 4;
+ ring->subRing[2] = 8;
+ ring->state = false;
+ g_vars->scene37_var05.push_back(ring);
+
+ ring = new Ring();
+ ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 1);
+ ring->ani = ani;
+ ring->x = ani->_ox - 40;
+ ring->y = ani->_ox + 40;
+ ring->numSubRings = 3;
+ ring->subRing[0] = 2;
+ ring->subRing[1] = 5;
+ ring->subRing[2] = 9;
+ ring->state = false;
+ g_vars->scene37_var05.push_back(ring);
+
+ ring = new Ring();
+ ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 2);
+ ring->ani = ani;
+ ring->x = ani->_ox - 40;
+ ring->y = ani->_ox + 40;
+ ring->numSubRings = 3;
+ ring->subRing[0] = 3;
+ ring->subRing[1] = 7;
+ ring->subRing[2] = 11;
+ ring->state = false;
+ g_vars->scene37_var05.push_back(ring);
+
+ g_fp->setObjectState(sO_LeftPipe_37, g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsClosed));
+
+ Scene *oldsc = g_fp->_currentScene;
+
+ g_fp->_currentScene = sc;
+
+ g_vars->scene37_var07 = 0;
+
+ g_vars->scene37_plusMinus1 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 1);
+
+ for (int i = 0; i < g_vars->scene37_var05[0]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[0]->subRings[i]);
+
+ if (g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_On)) {
+ g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_PLUS);
+ ani->changeStatics2(ST_RNG_OPEN);
+ } else {
+ g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_MINUS);
+ ani->changeStatics2(ST_RNG_CLOSED2);
+ }
+ }
+
+ g_vars->scene37_plusMinus2 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 2);
+
+ for (int i = 0; i < g_vars->scene37_var05[1]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[1]->subRings[i]);
+
+ if (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_On)) {
+ g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_PLUS);
+ ani->changeStatics2(ST_RNG_OPEN);
+ } else {
+ g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_MINUS);
+ ani->changeStatics2(ST_RNG_CLOSED2);
+ }
+ }
+
+ g_vars->scene37_plusMinus3 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 3);
+
+ for (int i = 0; i < g_vars->scene37_var05[2]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[2]->subRings[i]);
+
+ if (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_On)) {
+ g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_PLUS);
+ ani->changeStatics2(ST_RNG_OPEN);
+ } else {
+ g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_MINUS);
+ ani->changeStatics2(ST_RNG_CLOSED2);
+ }
+ }
+
+ g_fp->_currentScene = oldsc;
+
+ g_fp->initArcadeKeys("SC_37");
+}
+
+} // End of namespace Fullpipe
Commit: 9dd3c9d2b77e13310d15637f8941a2f7e132166e
https://github.com/scummvm/scummvm/commit/9dd3c9d2b77e13310d15637f8941a2f7e132166e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-18T01:26:51-08:00
Commit Message:
FULLPIPE: Plug scene37 in
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/init.cpp
engines/fullpipe/module.mk
engines/fullpipe/objectnames.h
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene15.cpp
engines/fullpipe/scenes/scene37.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index b3e06bb..7d99393 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1284,6 +1284,12 @@ namespace Fullpipe {
#define PIC_SC36_MASK 5221
#define ST_RHT_OPEN 2362
+// Scene 37
+#define ANI_GUARD_37 2588
+#define ANI_RING 2604
+#define ST_RNG_CLOSED2 4865
+#define ST_RNG_OPEN 2606
+
// Debug scene
#define MSG_RESTARTGAME 4767
#define PIC_SCD_1 727
diff --git a/engines/fullpipe/init.cpp b/engines/fullpipe/init.cpp
index f661340..8de37b5 100644
--- a/engines/fullpipe/init.cpp
+++ b/engines/fullpipe/init.cpp
@@ -116,7 +116,7 @@ void FullpipeEngine::initObjectStates() {
setObjectState(sO_BellyInflater, getObjectEnumState(sO_BellyInflater, sO_WithCork));
setObjectState(sO_Jawcrucnher, getObjectEnumState(sO_Jawcrucnher, sO_WithoutCarpet));
setObjectState(sO_Guard_1, getObjectEnumState(sO_Guard_1, sO_On));
- setObjectState(sO_Gurad_2, getObjectEnumState(sO_Gurad_2, sO_On));
+ setObjectState(sO_Guard_2, getObjectEnumState(sO_Guard_2, sO_On));
setObjectState(sO_Guard_3, getObjectEnumState(sO_Guard_3, sO_On));
setObjectState(sO_Bottle_38, getObjectEnumState(sO_Bottle_38, sO_OnTheTable));
setObjectState(sO_Boss, getObjectEnumState(sO_Boss, sO_WithHammer));
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 5f7d8a4..a692491 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -57,6 +57,7 @@ MODULE_OBJS = \
scenes/scene34.o \
scenes/scene35.o \
scenes/scene36.o \
+ scenes/scene37.o \
scenes/sceneDbg.o
# This module can be built as a plugin
diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h
index 8939f44..eafdb2a 100644
--- a/engines/fullpipe/objectnames.h
+++ b/engines/fullpipe/objectnames.h
@@ -217,7 +217,7 @@ namespace Fullpipe {
#define sO_IsStandingInCorner "\xd1\xf2\xee\xe8\xf2 \xe2 \xf3\xe3\xeb\xf3" // "Стоит в углу"
#define sO_Guardian "\xd1\xf2\xee\xf0\xee\xe6" // "Сторож"
#define sO_Guard_1 "\xd1\xf2\xf0\xe0\xe6 1" // "Страж 1"
-#define sO_Gurad_2 "\xd1\xf2\xf0\xe0\xe6 2" // "Страж 2"
+#define sO_Guard_2 "\xd1\xf2\xf0\xe0\xe6 2" // "Страж 2"
#define sO_Guard_3 "\xd1\xf2\xf0\xe0\xe6 3" // "Страж 3"
#define sO_Stool_34 "\xd2\xe0\xe1\xf3\xf0\xe5\xf2_34" // "Табурет_34"
#define sO_Pipe_9 "\xd2\xf0\xf3\xe1\xe0_9" // "Труба_9"
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index c49b2fc..de7ddfe 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -356,6 +356,17 @@ Vars::Vars() {
scene36_rotohrust = 0;
scene36_scissors = 0;
+ scene37_var01 = 0;
+ scene37_var02 = 0;
+ scene37_var03 = 0;
+ scene37_var04 = 0;
+ scene37_var05.clear();
+ scene37_var06 = 0;
+ scene37_var07 = 0;
+ scene37_plusMinus1 = 0;
+ scene37_plusMinus2 = 0;
+ scene37_plusMinus3 = 0;
+
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 76f870b..0137df3 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -26,9 +26,10 @@
namespace Fullpipe {
struct BehaviorEntryInfo;
-class StaticANIObject;
-class MctlLadder;
class MGM;
+class MctlLadder;
+struct Ring;
+class StaticANIObject;
int defaultUpdateCursor();
@@ -502,6 +503,18 @@ public:
StaticANIObject *scene36_rotohrust;
StaticANIObject *scene36_scissors;
+ int scene37_var01;
+ int scene37_var02;
+ int scene37_var03;
+ int scene37_var04;
+ Common::Array<Ring *> scene37_var05;
+ int scene37_var06;
+ int scene37_var07;
+ StaticANIObject *scene37_plusMinus1;
+ StaticANIObject *scene37_plusMinus2;
+ StaticANIObject *scene37_plusMinus3;
+
+
PictureObject *selector;
};
@@ -510,7 +523,7 @@ struct Ring {
int x;
int y;
int numSubRings;
- int subRing[10];
+ int subRings[10];
bool state;
Ring();
diff --git a/engines/fullpipe/scenes/scene15.cpp b/engines/fullpipe/scenes/scene15.cpp
index fa8db64..046e9c9 100644
--- a/engines/fullpipe/scenes/scene15.cpp
+++ b/engines/fullpipe/scenes/scene15.cpp
@@ -74,7 +74,7 @@ void scene15_initScene(Scene *sc) {
g_vars->scene15_plusminus = sc->getStaticANIObject1ById(ANI_PLUSMINUS, -1);
- if (g_fp->getObjectState(sO_Gurad_2) == g_fp->getObjectEnumState(sO_Gurad_2, sO_Off))
+ if (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_Off))
g_vars->scene15_plusminus->_statics = g_vars->scene15_plusminus->getStaticsById(ST_PMS_MINUS);
else
g_vars->scene15_plusminus->_statics = g_vars->scene15_plusminus->getStaticsById(ST_PMS_PLUS);
diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp
index e0c27b6..ed9ce02 100644
--- a/engines/fullpipe/scenes/scene37.cpp
+++ b/engines/fullpipe/scenes/scene37.cpp
@@ -43,7 +43,7 @@ Ring::Ring() {
numSubRings = 0;
for (int i = 0; i < 10; i++)
- subRing[i] = 0;
+ subRings[i] = 0;
state = false;
}
@@ -64,9 +64,9 @@ void scene37_initScene(Scene *sc) {
ring->x = ani->_ox - 40;
ring->y = ani->_ox + 40;
ring->numSubRings = 3;
- ring->subRing[0] = 1;
- ring->subRing[1] = 4;
- ring->subRing[2] = 8;
+ ring->subRings[0] = 1;
+ ring->subRings[1] = 4;
+ ring->subRings[2] = 8;
ring->state = false;
g_vars->scene37_var05.push_back(ring);
@@ -76,9 +76,9 @@ void scene37_initScene(Scene *sc) {
ring->x = ani->_ox - 40;
ring->y = ani->_ox + 40;
ring->numSubRings = 3;
- ring->subRing[0] = 2;
- ring->subRing[1] = 5;
- ring->subRing[2] = 9;
+ ring->subRings[0] = 2;
+ ring->subRings[1] = 5;
+ ring->subRings[2] = 9;
ring->state = false;
g_vars->scene37_var05.push_back(ring);
@@ -88,9 +88,9 @@ void scene37_initScene(Scene *sc) {
ring->x = ani->_ox - 40;
ring->y = ani->_ox + 40;
ring->numSubRings = 3;
- ring->subRing[0] = 3;
- ring->subRing[1] = 7;
- ring->subRing[2] = 11;
+ ring->subRings[0] = 3;
+ ring->subRings[1] = 7;
+ ring->subRings[2] = 11;
ring->state = false;
g_vars->scene37_var05.push_back(ring);
Commit: 9a4d233fc5457687474c0b08c6e828beb8cafeb4
https://github.com/scummvm/scummvm/commit/9a4d233fc5457687474c0b08c6e828beb8cafeb4
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-18T01:28:57-08:00
Commit Message:
FULLPIPE: Implement scene37_updateCursor()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene37.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 7d99393..b1d0809 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1287,6 +1287,7 @@ namespace Fullpipe {
// Scene 37
#define ANI_GUARD_37 2588
#define ANI_RING 2604
+#define PIC_SC37_MASK 2608
#define ST_RNG_CLOSED2 4865
#define ST_RNG_OPEN 2606
diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp
index ed9ce02..0383212 100644
--- a/engines/fullpipe/scenes/scene37.cpp
+++ b/engines/fullpipe/scenes/scene37.cpp
@@ -149,4 +149,15 @@ void scene37_initScene(Scene *sc) {
g_fp->initArcadeKeys("SC_37");
}
+int scene37_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_cursorId == PIC_CSR_ITN && g_fp->_objectIdAtCursor == PIC_SC37_MASK) {
+ if (g_vars->scene37_var07)
+ g_fp->_cursorId = PIC_CSR_GOL;
+ }
+
+ return g_fp->_cursorId;
+}
+
} // End of namespace Fullpipe
Commit: 8a229f5a665037d0cdf65ae77c818b7c92cd19e8
https://github.com/scummvm/scummvm/commit/8a229f5a665037d0cdf65ae77c818b7c92cd19e8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-18T02:01:06-08:00
Commit Message:
FULLPIPE: Implement sceneHandler37()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene37.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index b1d0809..13c1da6 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1287,7 +1287,11 @@ namespace Fullpipe {
// Scene 37
#define ANI_GUARD_37 2588
#define ANI_RING 2604
+#define MSG_SC37_EXITLEFT 5006
+#define MSG_SC37_PULL 2945
+#define MV_GRD37_PULL 2589
#define PIC_SC37_MASK 2608
+#define SND_37_007 4547
#define ST_RNG_CLOSED2 4865
#define ST_RNG_OPEN 2606
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index de7ddfe..e8df272 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -366,6 +366,9 @@ Vars::Vars() {
scene37_plusMinus1 = 0;
scene37_plusMinus2 = 0;
scene37_plusMinus3 = 0;
+ scene37_var07 = 0;
+ scene37_var09 = 0;
+ scene37_var10 = 0;
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 0137df3..34218e4 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -513,7 +513,8 @@ public:
StaticANIObject *scene37_plusMinus1;
StaticANIObject *scene37_plusMinus2;
StaticANIObject *scene37_plusMinus3;
-
+ int scene37_var09;
+ int scene37_var10;
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp
index 0383212..9bbc6ea 100644
--- a/engines/fullpipe/scenes/scene37.cpp
+++ b/engines/fullpipe/scenes/scene37.cpp
@@ -160,4 +160,107 @@ int scene37_updateCursor() {
return g_fp->_cursorId;
}
+void sceneHandler37_updateRing(int num) {
+ warning("STUB: sceneHandler37_updateRing()");
+}
+
+void sceneHandler37_setRingsState() {
+ warning("STUB: sceneHandler37_setRingsState()");
+}
+
+int sceneHandler37(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch(cmd->_messageNum) {
+ case MSG_SC37_EXITLEFT:
+ sceneHandler37_updateRing(0);
+ sceneHandler37_updateRing(1);
+ sceneHandler37_updateRing(2);
+
+ break;
+
+ case 29:
+ {
+ StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+
+ 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;
+
+ g_vars->scene37_var10 = x;
+
+ if (x >= 500) {
+ if (x < g_fp->_sceneRect.left + g_vars->scene37_var01)
+ g_fp->_currentScene->_x = x - g_vars->scene37_var03 - g_fp->_sceneRect.left;
+ } else {
+ g_fp->_currentScene->_x = -g_fp->_sceneRect.left;
+ }
+ x = g_vars->scene37_var10;
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene37_var01)
+ g_fp->_currentScene->_x = x + g_vars->scene37_var03 - g_fp->_sceneRect.right;
+ }
+
+ sceneHandler37_setRingsState();
+
+ g_fp->_behaviorManager->updateBehaviors();
+ g_fp->startSceneTrack();
+
+ ++g_vars->scene37_var09;
+
+ break;
+
+ case MSG_SC37_PULL:
+ if (g_vars->scene37_var05[0]->ani->_movement && g_vars->scene37_var05[0]->ani->_movement->_id == MV_GRD37_PULL) {
+ if ((g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_On) && !g_vars->scene37_var05[0]->state)
+ || (g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_Off) && g_vars->scene37_var05[0]->state)) {
+ g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_PLUS);
+ } else {
+ g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_MINUS);
+ }
+ } else if (g_vars->scene37_var05[1]->ani->_movement && g_vars->scene37_var05[1]->ani->_movement->_id == MV_GRD37_PULL) {
+ if ((g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_On) && !g_vars->scene37_var05[1]->state)
+ || (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_Off) && g_vars->scene37_var05[1]->state)) {
+ g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_PLUS);
+ } else {
+ g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_MINUS);
+ }
+ } else if (g_vars->scene37_var05[2]->ani->_movement && g_vars->scene37_var05[2]->ani->_movement->_id == MV_GRD37_PULL) {
+ if ((g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_On) && !g_vars->scene37_var05[2]->state)
+ || (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_Off) && g_vars->scene37_var05[2]->state)) {
+ g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_PLUS);
+ } else {
+ g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_MINUS);
+ }
+ }
+
+ if (g_vars->scene37_var09) {
+ g_fp->playSound(SND_37_007, 0);
+
+ g_vars->scene37_var09 = 0;
+ }
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: d122b201d6db593db48f0b8d0bc648cc112d2d85
https://github.com/scummvm/scummvm/commit/d122b201d6db593db48f0b8d0bc648cc112d2d85
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-18T02:06:05-08:00
Commit Message:
FULLPIPE: Implement sceneHandler37_setRingsState()
Changed paths:
engines/fullpipe/scenes/scene37.cpp
diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp
index 9bbc6ea..a20eaab 100644
--- a/engines/fullpipe/scenes/scene37.cpp
+++ b/engines/fullpipe/scenes/scene37.cpp
@@ -165,7 +165,25 @@ void sceneHandler37_updateRing(int num) {
}
void sceneHandler37_setRingsState() {
- warning("STUB: sceneHandler37_setRingsState()");
+ if (g_vars->scene37_var06 == -1) {
+ g_vars->scene37_var06 = g_vars->scene37_var10;
+ } else {
+ for (int i = 0; i < g_vars->scene37_var05.size(); i++) {
+ int x = g_vars->scene37_var05[i]->x;
+
+ if (g_vars->scene37_var06 > x && g_vars->scene37_var10 <= x && !g_vars->scene37_var05[i]->state)
+ sceneHandler37_updateRing(i);
+
+ x = g_vars->scene37_var05[i]->y;
+
+ if (g_vars->scene37_var06 < x && g_vars->scene37_var10 >= x) {
+ if (g_vars->scene37_var05[i]->state)
+ sceneHandler37_updateRing(i);
+ }
+ }
+
+ g_vars->scene37_var06 = g_vars->scene37_var10;
+ }
}
int sceneHandler37(ExCommand *cmd) {
Commit: 7445f8935320739f81dd7a31bc039b37453eea87
https://github.com/scummvm/scummvm/commit/7445f8935320739f81dd7a31bc039b37453eea87
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-18T02:07:28-08:00
Commit Message:
FULLPIPE: Plug scene37 in
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index e8df272..95c5e98 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -948,7 +948,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene36_updateCursor;
break;
-#if 0
case SC_37:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_37");
scene->preloadMovements(sceneVar);
@@ -960,6 +959,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene37_updateCursor;
break;
+#if 0
case SC_38:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_38");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 34218e4..7c91f31 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -169,6 +169,10 @@ int scene36_updateCursor();
void scene36_initScene(Scene *sc);
int sceneHandler36(ExCommand *cmd);
+void scene37_initScene(Scene *sc);
+int sceneHandler37(ExCommand *ex);
+int scene37_updateCursor();
+
void sceneDbgMenu_initScene(Scene *sc);
int sceneHandlerDbgMenu(ExCommand *cmd);
Commit: ce69278a48b5763270d14127bc74963627b3f4eb
https://github.com/scummvm/scummvm/commit/ce69278a48b5763270d14127bc74963627b3f4eb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-18T03:42:18-08:00
Commit Message:
FULLPIPE: Implement sceneHandler37_updateRing()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene37.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 13c1da6..2968048 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1290,8 +1290,11 @@ namespace Fullpipe {
#define MSG_SC37_EXITLEFT 5006
#define MSG_SC37_PULL 2945
#define MV_GRD37_PULL 2589
+#define MV_RNG_CLOSE 2605
+#define MV_RNG_OPEN 4612
#define PIC_SC37_MASK 2608
#define SND_37_007 4547
+#define ST_GRD37_STAND 2590
#define ST_RNG_CLOSED2 4865
#define ST_RNG_OPEN 2606
diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp
index a20eaab..82cf5e4 100644
--- a/engines/fullpipe/scenes/scene37.cpp
+++ b/engines/fullpipe/scenes/scene37.cpp
@@ -160,8 +160,44 @@ int scene37_updateCursor() {
return g_fp->_cursorId;
}
-void sceneHandler37_updateRing(int num) {
- warning("STUB: sceneHandler37_updateRing()");
+void sceneHandler37_updateRing(int ringNum) {
+ g_vars->scene37_var05[ringNum]->ani->changeStatics2(ST_GRD37_STAND);
+ g_vars->scene37_var05[ringNum]->ani->startAnim(MV_GRD37_PULL, 0, -1);
+ g_vars->scene37_var05[ringNum]->state = !g_vars->scene37_var05[ringNum]->state;
+
+ StaticANIObject *ani;
+
+ for (int i = 0; i < g_vars->scene37_var05[ringNum]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[ringNum]->subRings[i]);
+
+ if ((ani->_movement && ani->_movement->_id != MV_RNG_CLOSE) || ani->_statics->_staticsId != ST_RNG_CLOSED2) {
+ ani->changeStatics2(ST_RNG_OPEN);
+ ani->startAnim(MV_RNG_CLOSE, 0, -1);
+ } else {
+ ani->changeStatics2(ST_RNG_CLOSED2);
+ ani->startAnim(MV_RNG_OPEN, 0, -1);
+ }
+ }
+
+ g_vars->scene37_var07 = 1;
+
+ for (int j = 0; j < g_vars->scene37_var05.size(); j++) {
+ for (int i = 0; i < g_vars->scene37_var05[ringNum]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[j]->subRings[i]);
+
+ if ((ani->_movement && ani->_movement->_id != MV_RNG_CLOSE) || ani->_statics->_staticsId != ST_RNG_CLOSED2)
+ g_vars->scene37_var07 = 0;
+ }
+ }
+
+ int state;
+
+ if (g_vars->scene37_var07)
+ state = g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsOpened);
+ else
+ state = g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsClosed);
+
+ g_fp->setObjectState(sO_LeftPipe_37, state);
}
void sceneHandler37_setRingsState() {
Commit: dc7fc449299e54a07da4fd0335abb9cdbe1db62d
https://github.com/scummvm/scummvm/commit/dc7fc449299e54a07da4fd0335abb9cdbe1db62d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-18T03:49:19-08:00
Commit Message:
FULLPIPE: Renames in scene37. This completes the scene
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene37.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 95c5e98..c021a02 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -356,19 +356,14 @@ Vars::Vars() {
scene36_rotohrust = 0;
scene36_scissors = 0;
- scene37_var01 = 0;
- scene37_var02 = 0;
- scene37_var03 = 0;
- scene37_var04 = 0;
- scene37_var05.clear();
- scene37_var06 = 0;
- scene37_var07 = 0;
+ scene37_rings.clear();
+ scene37_lastDudeX = -1;
+ scene37_cursorIsLocked = 0;
scene37_plusMinus1 = 0;
scene37_plusMinus2 = 0;
scene37_plusMinus3 = 0;
- scene37_var07 = 0;
- scene37_var09 = 0;
- scene37_var10 = 0;
+ scene37_soundFlipper = 0;
+ scene37_dudeX = 0;
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 7c91f31..61fb5b3 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -507,18 +507,14 @@ public:
StaticANIObject *scene36_rotohrust;
StaticANIObject *scene36_scissors;
- int scene37_var01;
- int scene37_var02;
- int scene37_var03;
- int scene37_var04;
- Common::Array<Ring *> scene37_var05;
- int scene37_var06;
- int scene37_var07;
+ Common::Array<Ring *> scene37_rings;
+ int scene37_lastDudeX;
+ bool scene37_cursorIsLocked;
StaticANIObject *scene37_plusMinus1;
StaticANIObject *scene37_plusMinus2;
StaticANIObject *scene37_plusMinus3;
- int scene37_var09;
- int scene37_var10;
+ int scene37_soundFlipper;
+ int scene37_dudeX;
PictureObject *selector;
};
diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp
index 82cf5e4..d0135d7 100644
--- a/engines/fullpipe/scenes/scene37.cpp
+++ b/engines/fullpipe/scenes/scene37.cpp
@@ -52,11 +52,7 @@ void scene37_initScene(Scene *sc) {
Ring *ring;
StaticANIObject *ani;
- g_vars->scene37_var01 = 200;
- g_vars->scene37_var02 = 200;
- g_vars->scene37_var03 = 300;
- g_vars->scene37_var04 = 300;
- g_vars->scene37_var06 = -1;
+ g_vars->scene37_lastDudeX = -1;
ring = new Ring();
ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 0);
@@ -68,7 +64,7 @@ void scene37_initScene(Scene *sc) {
ring->subRings[1] = 4;
ring->subRings[2] = 8;
ring->state = false;
- g_vars->scene37_var05.push_back(ring);
+ g_vars->scene37_rings.push_back(ring);
ring = new Ring();
ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 1);
@@ -80,7 +76,7 @@ void scene37_initScene(Scene *sc) {
ring->subRings[1] = 5;
ring->subRings[2] = 9;
ring->state = false;
- g_vars->scene37_var05.push_back(ring);
+ g_vars->scene37_rings.push_back(ring);
ring = new Ring();
ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 2);
@@ -92,7 +88,7 @@ void scene37_initScene(Scene *sc) {
ring->subRings[1] = 7;
ring->subRings[2] = 11;
ring->state = false;
- g_vars->scene37_var05.push_back(ring);
+ g_vars->scene37_rings.push_back(ring);
g_fp->setObjectState(sO_LeftPipe_37, g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsClosed));
@@ -100,12 +96,12 @@ void scene37_initScene(Scene *sc) {
g_fp->_currentScene = sc;
- g_vars->scene37_var07 = 0;
+ g_vars->scene37_cursorIsLocked = false;
g_vars->scene37_plusMinus1 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 1);
- for (int i = 0; i < g_vars->scene37_var05[0]->numSubRings; i++) {
- ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[0]->subRings[i]);
+ for (int i = 0; i < g_vars->scene37_rings[0]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[0]->subRings[i]);
if (g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_On)) {
g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_PLUS);
@@ -118,8 +114,8 @@ void scene37_initScene(Scene *sc) {
g_vars->scene37_plusMinus2 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 2);
- for (int i = 0; i < g_vars->scene37_var05[1]->numSubRings; i++) {
- ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[1]->subRings[i]);
+ for (int i = 0; i < g_vars->scene37_rings[1]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[1]->subRings[i]);
if (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_On)) {
g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_PLUS);
@@ -132,8 +128,8 @@ void scene37_initScene(Scene *sc) {
g_vars->scene37_plusMinus3 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 3);
- for (int i = 0; i < g_vars->scene37_var05[2]->numSubRings; i++) {
- ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[2]->subRings[i]);
+ for (int i = 0; i < g_vars->scene37_rings[2]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[2]->subRings[i]);
if (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_On)) {
g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_PLUS);
@@ -153,7 +149,7 @@ int scene37_updateCursor() {
g_fp->updateCursorCommon();
if (g_fp->_cursorId == PIC_CSR_ITN && g_fp->_objectIdAtCursor == PIC_SC37_MASK) {
- if (g_vars->scene37_var07)
+ if (g_vars->scene37_cursorIsLocked)
g_fp->_cursorId = PIC_CSR_GOL;
}
@@ -161,14 +157,14 @@ int scene37_updateCursor() {
}
void sceneHandler37_updateRing(int ringNum) {
- g_vars->scene37_var05[ringNum]->ani->changeStatics2(ST_GRD37_STAND);
- g_vars->scene37_var05[ringNum]->ani->startAnim(MV_GRD37_PULL, 0, -1);
- g_vars->scene37_var05[ringNum]->state = !g_vars->scene37_var05[ringNum]->state;
+ g_vars->scene37_rings[ringNum]->ani->changeStatics2(ST_GRD37_STAND);
+ g_vars->scene37_rings[ringNum]->ani->startAnim(MV_GRD37_PULL, 0, -1);
+ g_vars->scene37_rings[ringNum]->state = !g_vars->scene37_rings[ringNum]->state;
StaticANIObject *ani;
- for (int i = 0; i < g_vars->scene37_var05[ringNum]->numSubRings; i++) {
- ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[ringNum]->subRings[i]);
+ for (int i = 0; i < g_vars->scene37_rings[ringNum]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[ringNum]->subRings[i]);
if ((ani->_movement && ani->_movement->_id != MV_RNG_CLOSE) || ani->_statics->_staticsId != ST_RNG_CLOSED2) {
ani->changeStatics2(ST_RNG_OPEN);
@@ -179,20 +175,20 @@ void sceneHandler37_updateRing(int ringNum) {
}
}
- g_vars->scene37_var07 = 1;
+ g_vars->scene37_cursorIsLocked = true;
- for (int j = 0; j < g_vars->scene37_var05.size(); j++) {
- for (int i = 0; i < g_vars->scene37_var05[ringNum]->numSubRings; i++) {
- ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[j]->subRings[i]);
+ for (int j = 0; j < g_vars->scene37_rings.size(); j++) {
+ for (int i = 0; i < g_vars->scene37_rings[ringNum]->numSubRings; i++) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[j]->subRings[i]);
if ((ani->_movement && ani->_movement->_id != MV_RNG_CLOSE) || ani->_statics->_staticsId != ST_RNG_CLOSED2)
- g_vars->scene37_var07 = 0;
+ g_vars->scene37_cursorIsLocked = false;
}
}
int state;
- if (g_vars->scene37_var07)
+ if (g_vars->scene37_cursorIsLocked)
state = g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsOpened);
else
state = g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsClosed);
@@ -201,24 +197,24 @@ void sceneHandler37_updateRing(int ringNum) {
}
void sceneHandler37_setRingsState() {
- if (g_vars->scene37_var06 == -1) {
- g_vars->scene37_var06 = g_vars->scene37_var10;
+ if (g_vars->scene37_lastDudeX == -1) {
+ g_vars->scene37_lastDudeX = g_vars->scene37_dudeX;
} else {
- for (int i = 0; i < g_vars->scene37_var05.size(); i++) {
- int x = g_vars->scene37_var05[i]->x;
+ for (int i = 0; i < g_vars->scene37_rings.size(); i++) {
+ int x = g_vars->scene37_rings[i]->x;
- if (g_vars->scene37_var06 > x && g_vars->scene37_var10 <= x && !g_vars->scene37_var05[i]->state)
+ if (g_vars->scene37_lastDudeX > x && g_vars->scene37_dudeX <= x && !g_vars->scene37_rings[i]->state)
sceneHandler37_updateRing(i);
- x = g_vars->scene37_var05[i]->y;
+ x = g_vars->scene37_rings[i]->y;
- if (g_vars->scene37_var06 < x && g_vars->scene37_var10 >= x) {
- if (g_vars->scene37_var05[i]->state)
+ if (g_vars->scene37_lastDudeX < x && g_vars->scene37_dudeX >= x) {
+ if (g_vars->scene37_rings[i]->state)
sceneHandler37_updateRing(i);
}
}
- g_vars->scene37_var06 = g_vars->scene37_var10;
+ g_vars->scene37_lastDudeX = g_vars->scene37_dudeX;
}
}
@@ -258,18 +254,18 @@ int sceneHandler37(ExCommand *cmd) {
if (g_fp->_aniMan2) {
int x = g_fp->_aniMan2->_ox;
- g_vars->scene37_var10 = x;
+ g_vars->scene37_dudeX = x;
if (x >= 500) {
- if (x < g_fp->_sceneRect.left + g_vars->scene37_var01)
- g_fp->_currentScene->_x = x - g_vars->scene37_var03 - g_fp->_sceneRect.left;
+ if (x < g_fp->_sceneRect.left + 200)
+ g_fp->_currentScene->_x = x - 300 - g_fp->_sceneRect.left;
} else {
g_fp->_currentScene->_x = -g_fp->_sceneRect.left;
}
- x = g_vars->scene37_var10;
+ x = g_vars->scene37_dudeX;
- if (x > g_fp->_sceneRect.right - g_vars->scene37_var01)
- g_fp->_currentScene->_x = x + g_vars->scene37_var03 - g_fp->_sceneRect.right;
+ if (x > g_fp->_sceneRect.right - 200)
+ g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
}
sceneHandler37_setRingsState();
@@ -277,38 +273,38 @@ int sceneHandler37(ExCommand *cmd) {
g_fp->_behaviorManager->updateBehaviors();
g_fp->startSceneTrack();
- ++g_vars->scene37_var09;
+ ++g_vars->scene37_soundFlipper;
break;
case MSG_SC37_PULL:
- if (g_vars->scene37_var05[0]->ani->_movement && g_vars->scene37_var05[0]->ani->_movement->_id == MV_GRD37_PULL) {
- if ((g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_On) && !g_vars->scene37_var05[0]->state)
- || (g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_Off) && g_vars->scene37_var05[0]->state)) {
+ if (g_vars->scene37_rings[0]->ani->_movement && g_vars->scene37_rings[0]->ani->_movement->_id == MV_GRD37_PULL) {
+ if ((g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_On) && !g_vars->scene37_rings[0]->state)
+ || (g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_Off) && g_vars->scene37_rings[0]->state)) {
g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_PLUS);
} else {
g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_MINUS);
}
- } else if (g_vars->scene37_var05[1]->ani->_movement && g_vars->scene37_var05[1]->ani->_movement->_id == MV_GRD37_PULL) {
- if ((g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_On) && !g_vars->scene37_var05[1]->state)
- || (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_Off) && g_vars->scene37_var05[1]->state)) {
+ } else if (g_vars->scene37_rings[1]->ani->_movement && g_vars->scene37_rings[1]->ani->_movement->_id == MV_GRD37_PULL) {
+ if ((g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_On) && !g_vars->scene37_rings[1]->state)
+ || (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_Off) && g_vars->scene37_rings[1]->state)) {
g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_PLUS);
} else {
g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_MINUS);
}
- } else if (g_vars->scene37_var05[2]->ani->_movement && g_vars->scene37_var05[2]->ani->_movement->_id == MV_GRD37_PULL) {
- if ((g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_On) && !g_vars->scene37_var05[2]->state)
- || (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_Off) && g_vars->scene37_var05[2]->state)) {
+ } else if (g_vars->scene37_rings[2]->ani->_movement && g_vars->scene37_rings[2]->ani->_movement->_id == MV_GRD37_PULL) {
+ if ((g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_On) && !g_vars->scene37_rings[2]->state)
+ || (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_Off) && g_vars->scene37_rings[2]->state)) {
g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_PLUS);
} else {
g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_MINUS);
}
}
- if (g_vars->scene37_var09) {
+ if (g_vars->scene37_soundFlipper) {
g_fp->playSound(SND_37_007, 0);
- g_vars->scene37_var09 = 0;
+ g_vars->scene37_soundFlipper = 0;
}
break;
More information about the Scummvm-git-logs
mailing list