[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