[Scummvm-cvs-logs] scummvm master -> b0b3e918812334426e108fee212df657c8056676
sev-
sev at scummvm.org
Mon Jan 6 00:20:14 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:
07448e89f7 FULLPIPE: Implement sceneHandler26_clickVent()
9e8d3c0949 FULLPIPE: Implement sceneHandler26_showVent()
9a5fc82afa FULLPIPE: Implement sceneHandler26_updatePool()
3b5e4afa40 FULLPIPE: Implement sceneHandler26_testVent()
073241dea7 FULLPIPE: Implement sceneHandler26_animateVents()
b0b3e91881 FULLPIPE: Renames in scene26. This completes the scene
Commit: 07448e89f70bbd2e210f5f80f36c634affe40c6c
https://github.com/scummvm/scummvm/commit/07448e89f70bbd2e210f5f80f36c634affe40c6c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T14:23:07-08:00
Commit Message:
FULLPIPE: Implement sceneHandler26_clickVent()
Changed paths:
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index 0c53130..4fbcbf3 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -120,12 +120,38 @@ void sceneHandler26_hideVent() {
g_vars->scene26_var05->hide();
}
-void sceneHandler26_clickVent(StaticANIObject *ani, ExCommand *cmd) {
- warning("STUB: sceneHandler26_clickVent(ani, cmd)");
+void sceneHandler26_sub01(StaticANIObject *ani) {
+ warning("STUB: sceneHandler26_sub01()");
}
-void sceneHandler26_sub01() {
- warning("STUB: sceneHandler26_sub01()");
+void sceneHandler26_clickVent(StaticANIObject *ani, ExCommand *cmd) {
+ if (ani->_okeyCode || g_fp->getObjectState(sO_Hatch_26) == g_fp->getObjectEnumState(sO_Hatch_26, sO_Opened)) {
+ if (g_fp->_aniMan->isIdle() && !(g_fp->_aniMan->_flags & 0x100)) {
+ g_vars->scene26_var05 = ani;
+
+ int x = ani->_ox - 20;
+ int y = ani->_oy + 61;
+
+ if (abs(x - g_fp->_aniMan->_ox) > 1 || abs(y - g_fp->_aniMan->_oy) > 1 || g_fp->_aniMan->_movement || g_fp->_aniMan->_statics->_staticsId != ST_MAN_UP) {
+ MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, x, y, 1, ST_MAN_UP);
+
+ if (mq) {
+ ExCommand *ex = new ExCommand(0, 17, MSG_SC26_CLICKVENT, 0, 0, 0, 1, 0, 0, 0);
+
+ ex->_excFlags |= 3;
+ ex->_keyCode = ani->_okeyCode;
+
+ mq->addExCommandToEnd(ex);
+
+ postExCommand(g_fp->_aniMan->_id, 2, x, y, 0, -1);
+ }
+ } else {
+ sceneHandler26_sub01(ani);
+ }
+ }
+ }
+
+ cmd->_messageKind = 0;
}
int sceneHandler26(ExCommand *cmd) {
Commit: 9e8d3c094954db049883ef5b2a8f0b2afd53ace4
https://github.com/scummvm/scummvm/commit/9e8d3c094954db049883ef5b2a8f0b2afd53ace4
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T14:29:58-08:00
Commit Message:
FULLPIPE: Implement sceneHandler26_showVent()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 40809d4..5ab328a 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -948,6 +948,8 @@ namespace Fullpipe {
#define SND_26_018 5340
#define ST_CHI_EMPTY 1959
#define ST_CHI_NORM 1960
+#define ST_VNT26_RIGHT2 3348
+#define ST_VNT26_UP2 1948
// Scene 30
#define ANI_LEG 2322
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index 4fbcbf3..65ce6dd 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -112,7 +112,19 @@ void sceneHandler26_testVent() {
}
void sceneHandler26_showVent() {
- warning("STUB: sceneHandler26_showVent()");
+ if (g_vars->scene26_var05) {
+ int id = g_vars->scene26_var05->_statics->_staticsId;
+
+ if (id == ST_VNT26_UP2) {
+ g_vars->scene26_var05->changeStatics2(ST_VNT26_RIGHT2);
+ } else {
+ if (id != ST_VNT26_RIGHT2)
+ return;
+
+ g_vars->scene26_var05->changeStatics2(ST_VNT26_UP2);
+ }
+ g_vars->scene26_var05->show1(-1, -1, -1, 0);
+ }
}
void sceneHandler26_hideVent() {
Commit: 9a5fc82afa1635e3055ecda7476f60359affff77
https://github.com/scummvm/scummvm/commit/9a5fc82afa1635e3055ecda7476f60359affff77
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T14:42:08-08:00
Commit Message:
FULLPIPE: Implement sceneHandler26_updatePool()
Changed paths:
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index 65ce6dd..9587e5b 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -98,7 +98,20 @@ void sceneHandler26_showChi() {
}
void sceneHandler26_updatePool() {
- warning("STUB: sceneHandler26_updatePool()");
+ if (g_fp->getObjectState(sO_Valve1_26) == g_fp->getObjectEnumState(sO_Valve1_26, sO_Valve1_26))
+ g_fp->setObjectState(sO_Pool, g_fp->getObjectEnumState(sO_Pool, sO_Overfull));
+ else if (g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_Overfull))
+ g_fp->setObjectState(sO_Pool, g_fp->getObjectEnumState(sO_Pool, sO_Full));
+
+ if (g_fp->getObjectState(sO_Valve2_26) == g_fp->getObjectEnumState(sO_Valve2_26, sO_Valve1_26)) {
+ if (g_fp->getObjectState(sO_Pool) >= g_fp->getObjectEnumState(sO_Pool, sO_Full))
+ g_fp->setObjectState(sO_Pool, g_fp->getObjectEnumState(sO_Pool, sO_HalfFull));
+ }
+
+ if (g_fp->getObjectState(sO_Valve3_26) == g_fp->getObjectEnumState(sO_Valve3_26, sO_Valve1_26)) {
+ if (g_fp->getObjectState(sO_Pool) >= g_fp->getObjectEnumState(sO_Pool, sO_HalfFull))
+ g_fp->setObjectState(sO_Pool, g_fp->getObjectEnumState(sO_Pool, sO_Empty));
+ }
}
void sceneHandler26_hideChi() {
Commit: 3b5e4afa40cfbe7981beb59dcb3f08309c8c7687
https://github.com/scummvm/scummvm/commit/3b5e4afa40cfbe7981beb59dcb3f08309c8c7687
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T15:00:06-08:00
Commit Message:
FULLPIPE: Implement sceneHandler26_testVent()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 5ab328a..2dab3f4 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -945,7 +945,13 @@ namespace Fullpipe {
#define PIC_SC26_SOCK 5312
#define QU_CHI_HIDE 1965
#define QU_CHI_SHOW 1964
+#define QU_SC26_AUTOCLOSE1 1949
+#define QU_SC26_AUTOCLOSE2 1950
+#define QU_SC26_AUTOCLOSE3 1951
+#define SND_26_003 4079
#define SND_26_018 5340
+#define SND_26_019 5341
+#define SND_26_020 5342
#define ST_CHI_EMPTY 1959
#define ST_CHI_NORM 1960
#define ST_VNT26_RIGHT2 3348
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index 9587e5b..3ddd638 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -121,7 +121,58 @@ void sceneHandler26_hideChi() {
}
void sceneHandler26_testVent() {
- warning("STUB: sceneHandler26_testVent()");
+ if (!g_vars->scene26_var05)
+ return;
+
+ if (g_vars->scene26_var05->_okeyCode == 0) {
+ if (g_fp->getObjectState(sO_Valve1_26) == g_fp->getObjectEnumState(sO_Valve1_26, sO_Opened))
+ g_fp->stopAllSoundInstances(SND_26_018);
+ else
+ g_fp->playSound(SND_26_018, 1);
+
+ if (g_fp->getObjectState(sO_Valve2_26) == g_fp->getObjectEnumState(sO_Valve2_26, sO_Opened)) {
+ chainQueue(QU_SC26_AUTOCLOSE2, 0);
+
+ g_fp->playSound(SND_26_020, 0);
+ }
+
+ if (g_fp->getObjectState(sO_Valve3_26) == g_fp->getObjectEnumState(sO_Valve3_26, sO_Opened)) {
+ chainQueue(QU_SC26_AUTOCLOSE3, 0);
+
+ g_fp->playSound(SND_26_020, 0);
+ }
+ } else if (g_vars->scene26_var05->_okeyCode == 1) {
+ if (g_fp->getObjectState(sO_Valve2_26) == g_fp->getObjectEnumState(sO_Valve2_26, sO_Opened))
+ g_fp->playSound(SND_26_020, 0);
+ else
+ g_fp->playSound(SND_26_019, 0);
+
+ if (g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_Overfull)
+ || g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_Full))
+ g_fp->playSound(SND_26_003, 0);
+
+ if (g_fp->getObjectState(sO_Valve1_26) == g_fp->getObjectEnumState(sO_Valve1_26, sO_Opened)) {
+ g_fp->stopAllSoundInstances(SND_26_018);
+
+ chainQueue(QU_SC26_AUTOCLOSE1, 0);
+ }
+ } else if (g_vars->scene26_var05->_okeyCode == 2) {
+ if (g_fp->getObjectState(sO_Valve3_26) == g_fp->getObjectEnumState(sO_Valve3_26, sO_Opened))
+ g_fp->playSound(SND_26_020, 0);
+ else
+ g_fp->playSound(SND_26_019, 0);
+
+ if (g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_Overfull)
+ || g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_Full)
+ || g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_HalfFull))
+ g_fp->playSound(SND_26_003, 0);
+
+ if (g_fp->getObjectState(sO_Valve1_26) == g_fp->getObjectEnumState(sO_Valve1_26, sO_Opened)) {
+ g_fp->stopAllSoundInstances(SND_26_018);
+
+ chainQueue(QU_SC26_AUTOCLOSE1, 0);
+ }
+ }
}
void sceneHandler26_showVent() {
Commit: 073241dea78dc82e00064308dc8cdda2d02c1f32
https://github.com/scummvm/scummvm/commit/073241dea78dc82e00064308dc8cdda2d02c1f32
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T15:16:42-08:00
Commit Message:
FULLPIPE: Implement sceneHandler26_animateVents()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene26.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 2dab3f4..e42479d 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -948,6 +948,16 @@ namespace Fullpipe {
#define QU_SC26_AUTOCLOSE1 1949
#define QU_SC26_AUTOCLOSE2 1950
#define QU_SC26_AUTOCLOSE3 1951
+#define QU_SC26_CLOSE1 1936
+#define QU_SC26_CLOSE2 1938
+#define QU_SC26_CLOSE3 1940
+#define QU_SC26_CLOSE4 1942
+#define QU_SC26_CLOSE5 1944
+#define QU_SC26_OPEN1 1935
+#define QU_SC26_OPEN2 1937
+#define QU_SC26_OPEN3 1939
+#define QU_SC26_OPEN4 1941
+#define QU_SC26_OPEN5 1943
#define SND_26_003 4079
#define SND_26_018 5340
#define SND_26_019 5341
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index 3ddd638..8a0a39e 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -196,8 +196,60 @@ void sceneHandler26_hideVent() {
g_vars->scene26_var05->hide();
}
-void sceneHandler26_sub01(StaticANIObject *ani) {
- warning("STUB: sceneHandler26_sub01()");
+void sceneHandler26_animateVents(StaticANIObject *ani) {
+ int qId = 0;
+
+ switch (ani->_okeyCode) {
+ case 0:
+ if (g_fp->getObjectState(sO_Valve1_26) == g_fp->getObjectEnumState(sO_Valve1_26, sO_Closed))
+ qId = QU_SC26_OPEN1;
+ else
+ qId = QU_SC26_CLOSE1;
+
+ break;
+
+ case 1:
+ if (g_fp->getObjectState(sO_Valve2_26) == g_fp->getObjectEnumState(sO_Valve2_26, sO_Closed))
+ qId = QU_SC26_OPEN2;
+ else
+ qId = QU_SC26_CLOSE2;
+
+ break;
+
+ case 2:
+ if (g_fp->getObjectState(sO_Valve3_26) == g_fp->getObjectEnumState(sO_Valve3_26, sO_Closed))
+ qId = QU_SC26_OPEN3;
+ else
+ qId = QU_SC26_CLOSE3;
+
+ break;
+
+ case 3:
+ if (g_fp->getObjectState(sO_Valve4_26) == g_fp->getObjectEnumState(sO_Valve4_26, sO_Closed))
+ qId = QU_SC26_OPEN4;
+ else
+ qId = QU_SC26_CLOSE4;
+
+ break;
+
+ case 4:
+ if (g_fp->getObjectState(sO_Valve5_26) == g_fp->getObjectEnumState(sO_Valve5_26, sO_Closed))
+ qId = QU_SC26_OPEN5;
+ else
+ qId = QU_SC26_CLOSE5;
+
+ break;
+
+ default:
+ return;
+ }
+
+ if (qId) {
+ MessageQueue *mq = g_fp->_currentScene->getMessageQueueById(qId);
+
+ mq->setFlags(mq->getFlags() | 1);
+ mq->chain(0);
+ }
}
void sceneHandler26_clickVent(StaticANIObject *ani, ExCommand *cmd) {
@@ -222,7 +274,7 @@ void sceneHandler26_clickVent(StaticANIObject *ani, ExCommand *cmd) {
postExCommand(g_fp->_aniMan->_id, 2, x, y, 0, -1);
}
} else {
- sceneHandler26_sub01(ani);
+ sceneHandler26_animateVents(ani);
}
}
}
Commit: b0b3e918812334426e108fee212df657c8056676
https://github.com/scummvm/scummvm/commit/b0b3e918812334426e108fee212df657c8056676
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-05T15:19:22-08:00
Commit Message:
FULLPIPE: Renames in scene26. This completes the scene
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 322c7d7..50335a4 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -296,11 +296,7 @@ Vars::Vars() {
scene26_drop = 0;
scene26_sockPic = 0;
scene26_sock = 0;
- scene26_var01 = 0;
- scene26_var02 = 0;
- scene26_var03 = 0;
- scene26_var04 = 0;
- scene26_var05 = 0;
+ scene26_activeVent = 0;
scene30_leg = 0;
scene30_liftFlag = 1;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index f2843b2..169ee8b 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -420,11 +420,7 @@ public:
StaticANIObject *scene26_drop;
PictureObject *scene26_sockPic;
StaticANIObject *scene26_sock;
- int scene26_var01;
- int scene26_var02;
- int scene26_var03;
- int scene26_var04;
- StaticANIObject *scene26_var05;
+ StaticANIObject *scene26_activeVent;
StaticANIObject *scene30_leg;
int scene30_liftFlag;
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp
index 8a0a39e..9167934 100644
--- a/engines/fullpipe/scenes/scene26.cpp
+++ b/engines/fullpipe/scenes/scene26.cpp
@@ -41,10 +41,6 @@ void scene26_initScene(Scene *sc) {
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));
@@ -121,10 +117,10 @@ void sceneHandler26_hideChi() {
}
void sceneHandler26_testVent() {
- if (!g_vars->scene26_var05)
+ if (!g_vars->scene26_activeVent)
return;
- if (g_vars->scene26_var05->_okeyCode == 0) {
+ if (g_vars->scene26_activeVent->_okeyCode == 0) {
if (g_fp->getObjectState(sO_Valve1_26) == g_fp->getObjectEnumState(sO_Valve1_26, sO_Opened))
g_fp->stopAllSoundInstances(SND_26_018);
else
@@ -141,7 +137,7 @@ void sceneHandler26_testVent() {
g_fp->playSound(SND_26_020, 0);
}
- } else if (g_vars->scene26_var05->_okeyCode == 1) {
+ } else if (g_vars->scene26_activeVent->_okeyCode == 1) {
if (g_fp->getObjectState(sO_Valve2_26) == g_fp->getObjectEnumState(sO_Valve2_26, sO_Opened))
g_fp->playSound(SND_26_020, 0);
else
@@ -156,7 +152,7 @@ void sceneHandler26_testVent() {
chainQueue(QU_SC26_AUTOCLOSE1, 0);
}
- } else if (g_vars->scene26_var05->_okeyCode == 2) {
+ } else if (g_vars->scene26_activeVent->_okeyCode == 2) {
if (g_fp->getObjectState(sO_Valve3_26) == g_fp->getObjectEnumState(sO_Valve3_26, sO_Opened))
g_fp->playSound(SND_26_020, 0);
else
@@ -176,24 +172,24 @@ void sceneHandler26_testVent() {
}
void sceneHandler26_showVent() {
- if (g_vars->scene26_var05) {
- int id = g_vars->scene26_var05->_statics->_staticsId;
+ if (g_vars->scene26_activeVent) {
+ int id = g_vars->scene26_activeVent->_statics->_staticsId;
if (id == ST_VNT26_UP2) {
- g_vars->scene26_var05->changeStatics2(ST_VNT26_RIGHT2);
+ g_vars->scene26_activeVent->changeStatics2(ST_VNT26_RIGHT2);
} else {
if (id != ST_VNT26_RIGHT2)
return;
- g_vars->scene26_var05->changeStatics2(ST_VNT26_UP2);
+ g_vars->scene26_activeVent->changeStatics2(ST_VNT26_UP2);
}
- g_vars->scene26_var05->show1(-1, -1, -1, 0);
+ g_vars->scene26_activeVent->show1(-1, -1, -1, 0);
}
}
void sceneHandler26_hideVent() {
- if (g_vars->scene26_var05)
- g_vars->scene26_var05->hide();
+ if (g_vars->scene26_activeVent)
+ g_vars->scene26_activeVent->hide();
}
void sceneHandler26_animateVents(StaticANIObject *ani) {
@@ -255,7 +251,7 @@ void sceneHandler26_animateVents(StaticANIObject *ani) {
void sceneHandler26_clickVent(StaticANIObject *ani, ExCommand *cmd) {
if (ani->_okeyCode || g_fp->getObjectState(sO_Hatch_26) == g_fp->getObjectEnumState(sO_Hatch_26, sO_Opened)) {
if (g_fp->_aniMan->isIdle() && !(g_fp->_aniMan->_flags & 0x100)) {
- g_vars->scene26_var05 = ani;
+ g_vars->scene26_activeVent = ani;
int x = ani->_ox - 20;
int y = ani->_oy + 61;
@@ -339,11 +335,11 @@ int sceneHandler26(ExCommand *cmd) {
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.left + 200)
+ g_fp->_currentScene->_x = x - 300 - 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;
+ if (x > g_fp->_sceneRect.right - 200)
+ g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
}
g_fp->_behaviorManager->updateBehaviors();
More information about the Scummvm-git-logs
mailing list