[Scummvm-cvs-logs] scummvm master -> 0c570712f1a97d2d8def020a7991a04db4574245

sev- sev at scummvm.org
Mon Jan 13 21:24:02 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:
f4e6482863 FULLPIPE: Implement sceneHandler34_setExits()
aef56559f0 FULLPIPE: Implement sceneHandler34_testVent() and showVent()
5a274117ef FULLPIPE: Implement sceneHandler34_animateAction()
4366409f4c FULLPIPE: Implement sceneHandler34_animateLeaveBoard()
3d1e84ac6e FULLPIPE: Implement sceneHandler34_genFlies()
0c570712f1 FULLPIPE: Renames in scene34. This completes the scene


Commit: f4e6482863e4a242040adc7777e58924ed867ed8
    https://github.com/scummvm/scummvm/commit/f4e6482863e4a242040adc7777e58924ed867ed8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-13T11:36:27-08:00

Commit Message:
FULLPIPE: Implement sceneHandler34_setExits()

Changed paths:
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index 55217c9..ad8c41a 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -37,7 +37,25 @@
 namespace Fullpipe {
 
 void sceneHandler34_setExits() {
-	warning("STUB: sceneHandler34_setExits()");
+	int state;
+
+	if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_NearPipeWithStool)) {
+		if (g_fp->getObjectState(sO_Hatch_34) == g_fp->getObjectEnumState(sO_Hatch_34, sO_Closed))
+			state = g_fp->getObjectEnumState(sO_Plank_34, sO_ClosedWithBoot);
+		else
+			state = g_fp->getObjectEnumState(sO_Plank_34, sO_OpenedWithBoot);
+	} else {
+		if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_OnStool)) {
+			if (g_fp->getObjectState(sO_Hatch_34) == g_fp->getObjectEnumState(sO_Hatch_34, sO_Closed))
+				state = g_fp->getObjectEnumState(sO_Plank_34, sO_IsClosed);
+			else
+				state = g_fp->getObjectEnumState(sO_Plank_34, sO_IsOpened);
+		} else {
+			state = g_fp->getObjectEnumState(sO_Plank_34, sO_Passive);
+		}
+	}
+
+	g_fp->setObjectState(sO_Plank_34, state);
 }
 
 void scene34_initScene(Scene *sc) {


Commit: aef56559f04f76eada718aa44cd5632a05a6e133
    https://github.com/scummvm/scummvm/commit/aef56559f04f76eada718aa44cd5632a05a6e133
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-13T11:45:34-08:00

Commit Message:
FULLPIPE: Implement sceneHandler34_testVent() and showVent()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index cfd0dc6..89760e0 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1154,15 +1154,23 @@ namespace Fullpipe {
 #define MSG_SC34_SHOWVENT 2481
 #define MSG_SC34_TESTVENT 2557
 #define MSG_SC34_UNCLIMB 2492
+#define MV_MAN34_TURNVENT_L 4307
+#define MV_MAN34_TURNVENT_R 2500
 #define QU_SC34_ENTERLIFT 2819
 #define QU_SC34_EXITLIFT 2820
 #define QU_SC34_FROMCACTUS 4312
 #define QU_SC34_SHOWSTOOL 2496
 #define QU_CTS34_FALLEFT 4316
 #define QU_CTS34_FALLRIGHT 4317
+#define QU_LUK34_CLOSE 2547
+#define QU_LUK34_OPEN 2546
 #define ST_CTS34_EMPTY 2383
 #define ST_CTS34_GROWNEMPTY2 2475
+#define ST_LUK34_CLOSED 2543
+#define ST_LUK34_OPEN 2544
 #define ST_STL34_BOX2 4305
+#define ST_VNT34_RIGHT3 4318
+#define ST_VNT34_UP2 4310
 
 // Scene 36
 #define ANI_SCISSORS_36 2647
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index ad8c41a..edc3783 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -137,7 +137,15 @@ void sceneHandler34_onBoard() {
 }
 
 void sceneHandler34_testVent() {
-	warning("STUB: sceneHandler34_testVent()");
+	if (g_fp->_aniMan->_movement->_id == MV_MAN34_TURNVENT_R) {
+		g_vars->scene34_hatch->changeStatics2(ST_LUK34_CLOSED);
+
+		chainQueue(QU_LUK34_OPEN, 0);
+	} else if (g_fp->_aniMan->_movement->_id == MV_MAN34_TURNVENT_L) {
+		g_vars->scene34_hatch->changeStatics2(ST_LUK34_OPEN);
+
+		chainQueue(QU_LUK34_CLOSE, 0);
+	}
 }
 
 void sceneHandler34_hideStool() {
@@ -191,7 +199,12 @@ void sceneHandler34_sub01(ExCommand *cmd) {
 }
 
 void sceneHandler34_showVent() {
-	warning("STUB: sceneHandler34_showVent()");
+	if (g_vars->scene34_vent->_statics->_staticsId == ST_VNT34_UP2)
+		g_vars->scene34_vent->changeStatics2(ST_VNT34_RIGHT3);
+	else if (g_vars->scene34_vent->_statics->_staticsId == ST_VNT34_RIGHT3)
+		g_vars->scene34_vent->changeStatics2(ST_VNT34_UP2);
+
+	g_vars->scene34_vent->show1(-1, -1, -1, 0);
 }
 
 void sceneHandler34_showBox() {


Commit: 5a274117efd3049e2fe2aa3d31d115dce0692064
    https://github.com/scummvm/scummvm/commit/5a274117efd3049e2fe2aa3d31d115dce0692064
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-13T12:00:44-08:00

Commit Message:
FULLPIPE: Implement sceneHandler34_animateAction()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 89760e0..f38d019 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1154,11 +1154,16 @@ namespace Fullpipe {
 #define MSG_SC34_SHOWVENT 2481
 #define MSG_SC34_TESTVENT 2557
 #define MSG_SC34_UNCLIMB 2492
+#define MV_MAN34_TRY 2485
+#define MV_MAN34_TRYTABUR 2489
 #define MV_MAN34_TURNVENT_L 4307
 #define MV_MAN34_TURNVENT_R 2500
 #define QU_SC34_ENTERLIFT 2819
 #define QU_SC34_EXITLIFT 2820
+#define QU_SC34_FROMBOX 2494
+#define QU_SC34_FROMBOX_FLOOR 4572
 #define QU_SC34_FROMCACTUS 4312
+#define QU_SC34_FROMSTOOL 2491
 #define QU_SC34_SHOWSTOOL 2496
 #define QU_CTS34_FALLEFT 4316
 #define QU_CTS34_FALLRIGHT 4317
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index edc3783..39df6f9 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -194,8 +194,69 @@ void sceneHandler34_sub02(ExCommand *cmd) {
 	warning("STUB: sceneHandler34_sub02(cmd)");
 }
 
-void sceneHandler34_sub01(ExCommand *cmd) {
-	warning("STUB: sceneHandler34_sub01(cmd)");
+void sceneHandler34_animateAction(ExCommand *cmd) {
+	if (g_fp->_aniMan->_movement)
+		return;
+
+	int ox = g_fp->_aniMan->_ox;
+	int oy = g_fp->_aniMan->_oy;
+	StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(g_fp->_sceneRect.left + cmd->_x, g_fp->_sceneRect.top + cmd->_y);
+
+	if (!ani || ani->_id != ANI_VENT_34) {
+		int qId = 0;
+
+		if (ox == 887) {
+			if (oy != 370) 
+				return;
+
+			qId = QU_SC34_FROMSTOOL;
+		} else {
+			if (ox != 916)
+				return;
+
+			if (oy == 286) {
+				MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC34_FROMBOX), 0, 0);
+
+				mq->addExCommandToEnd(cmd->createClone());
+				mq->chain(0);
+
+				sceneHandler34_setExits();
+
+				return;
+			}
+
+			if (oy != 345)
+				return;
+
+			qId = QU_SC34_FROMBOX_FLOOR;
+		}
+
+		if (qId) {
+			MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(qId), 0, 0);
+
+			mq->addExCommandToEnd(cmd->createClone());
+			mq->chain(0);
+		}
+
+		return;
+	}
+
+	if (ox == 887) {
+		if (oy == 370)
+			g_fp->_aniMan->startAnim(MV_MAN34_TRYTABUR, 0, -1);
+
+	} else if (ox == 916) {
+		if (oy == 286) {
+			int id = g_vars->scene34_vent->_statics->_staticsId;
+			if (id == ST_VNT34_UP2) {
+				g_fp->_aniMan->startAnim(MV_MAN34_TURNVENT_R, 0, -1);
+			} else if (id == ST_VNT34_RIGHT3) {
+				g_fp->_aniMan->startAnim(MV_MAN34_TURNVENT_L, 0, -1);
+			}
+		} else if (oy == 345) {
+			g_fp->_aniMan->startAnim(MV_MAN34_TRY, 0, -1);
+		}
+	}
 }
 
 void sceneHandler34_showVent() {
@@ -331,7 +392,7 @@ int sceneHandler34(ExCommand *cmd) {
 	case 29:
 		{
 			if (g_vars->scene34_var05) {
-				sceneHandler34_sub01(cmd);
+				sceneHandler34_animateAction(cmd);
 				break;
 			}
 


Commit: 4366409f4cb471573bb10ae5cf6ff2cfb5608b77
    https://github.com/scummvm/scummvm/commit/4366409f4cb471573bb10ae5cf6ff2cfb5608b77
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-13T12:06:55-08:00

Commit Message:
FULLPIPE: Implement sceneHandler34_animateLeaveBoard()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index f38d019..bfae414 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1164,6 +1164,7 @@ namespace Fullpipe {
 #define QU_SC34_FROMBOX_FLOOR 4572
 #define QU_SC34_FROMCACTUS 4312
 #define QU_SC34_FROMSTOOL 2491
+#define QU_SC34_LEAVEBOARD 2575
 #define QU_SC34_SHOWSTOOL 2496
 #define QU_CTS34_FALLEFT 4316
 #define QU_CTS34_FALLRIGHT 4317
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index 39df6f9..51da888 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -190,8 +190,16 @@ void sceneHandler34_fromCactus(ExCommand *cmd) {
 	g_fp->_aniMan->_flags |= 1;
 }
 
-void sceneHandler34_sub02(ExCommand *cmd) {
-	warning("STUB: sceneHandler34_sub02(cmd)");
+void sceneHandler34_animateLeaveBoard(ExCommand *cmd) {
+	if (!g_fp->_aniMan->_movement) {
+		MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC34_LEAVEBOARD), 0, 0);
+
+		mq->addExCommandToEnd(cmd->createClone());
+		mq->setFlags(mq->getFlags() | 1);
+		mq->chain(0);
+	}
+
+	cmd->_messageKind = 0;
 }
 
 void sceneHandler34_animateAction(ExCommand *cmd) {
@@ -397,7 +405,7 @@ int sceneHandler34(ExCommand *cmd) {
 			}
 
 			if (g_vars->scene34_var06) {
-				sceneHandler34_sub02(cmd);
+				sceneHandler34_animateLeaveBoard(cmd);
 				break;
 			}
 


Commit: 3d1e84ac6e58d18064e125d18432b587f955f514
    https://github.com/scummvm/scummvm/commit/3d1e84ac6e58d18064e125d18432b587f955f514
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-13T12:16:24-08:00

Commit Message:
FULLPIPE: Implement sceneHandler34_genFlies()

Changed paths:
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index 51da888..9026c81 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -161,8 +161,14 @@ void sceneHandler34_climb() {
 	g_vars->scene34_var05 = 1;
 }
 
-void sceneHandler34_sub04() {
-	warning("STUB: sceneHandler34_sub04()");
+void sceneHandler34_genFlies() {
+	g_fp->_floaters->genFlies(g_fp->_currentScene, 1072, -50, 100, 4);
+
+	g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->countdown = 1;
+	g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val6 = 1072;
+	g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val7 = -50;
+
+	g_vars->scene34_var08 = g_fp->_rnd->getRandomNumber(500) + 500;
 }
 
 void sceneHandler34_fromCactus(ExCommand *cmd) {
@@ -460,7 +466,7 @@ int sceneHandler34(ExCommand *cmd) {
 		--g_vars->scene34_var08;
 
 		if (!g_vars->scene34_var08)
-			sceneHandler34_sub04();
+			sceneHandler34_genFlies();
 
 		g_fp->_floaters->update();
 


Commit: 0c570712f1a97d2d8def020a7991a04db4574245
    https://github.com/scummvm/scummvm/commit/0c570712f1a97d2d8def020a7991a04db4574245
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-13T12:23:11-08:00

Commit Message:
FULLPIPE: Renames in scene34. This completes the scene

Changed paths:
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h
    engines/fullpipe/scenes/scene34.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 36ec78d..32c26cc 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -339,18 +339,14 @@ Vars::Vars() {
 		scene33_ventsState[i] = 0;
 	}
 
-	scene34_var01 = 0;
-	scene34_var02 = 0;
-	scene34_var03 = 0;
-	scene34_var04 = 0;
 	scene34_cactus = 0;
 	scene34_vent = 0;
 	scene34_hatch = 0;
 	scene34_boot = 0;
-	scene34_var05 = 0;
-	scene34_var06 = 0;
-	scene34_var07 = 0;
-	scene34_var08 = 0;
+	scene34_dudeClimbed = false;
+	scene34_dudeOnBoard = false;
+	scene34_dudeOnCactus = false;
+	scene34_fliesCountdown = 0;
 
 	scene36_rotohrust = 0;
 	scene36_scissors = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index b3ebae93..d4757ba 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -482,18 +482,14 @@ public:
 	int scene33_ventsX[9];
 	int scene33_ventsState[9];
 
-	int scene34_var01;
-	int scene34_var02;
-	int scene34_var03;
-	int scene34_var04;
 	StaticANIObject *scene34_cactus;
 	StaticANIObject *scene34_vent;
 	StaticANIObject *scene34_hatch;
 	StaticANIObject *scene34_boot;
-	int scene34_var05;
-	int scene34_var06;
-	int scene34_var07;
-	int scene34_var08;
+	bool scene34_dudeClimbed;
+	bool scene34_dudeOnBoard;
+	bool scene34_dudeOnCactus;
+	int scene34_fliesCountdown;
 
 	StaticANIObject *scene36_rotohrust;
 	StaticANIObject *scene36_scissors;
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index 9026c81..942a0ab 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -59,10 +59,6 @@ void sceneHandler34_setExits() {
 }
 
 void scene34_initScene(Scene *sc) {
-	g_vars->scene34_var01 = 200;
-	g_vars->scene34_var02 = 200;
-	g_vars->scene34_var03 = 300;
-	g_vars->scene34_var04 = 300;
 	g_vars->scene34_cactus = sc->getStaticANIObject1ById(ANI_CACTUS_34, -1);
 	g_vars->scene34_vent = sc->getStaticANIObject1ById(ANI_VENT_34, -1);
 	g_vars->scene34_hatch = sc->getStaticANIObject1ById(ANI_LUK_34, -1);
@@ -88,10 +84,10 @@ void scene34_initScene(Scene *sc) {
 
 	sceneHandler34_setExits();
 
-	g_vars->scene34_var05 = 0;
-	g_vars->scene34_var06 = 0;
-	g_vars->scene34_var07 = 0;
-	g_vars->scene34_var08 = g_fp->_rnd->getRandomNumber(500) + 500;
+	g_vars->scene34_dudeClimbed = false;
+	g_vars->scene34_dudeOnBoard = false;
+	g_vars->scene34_dudeOnCactus = false;
+	g_vars->scene34_fliesCountdown = g_fp->_rnd->getRandomNumber(500) + 500;
 
 	g_fp->_floaters->init(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_34"));
 
@@ -124,7 +120,7 @@ void sceneHandler34_leaveBoard() {
 
 	g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 1);
 
-	g_vars->scene34_var06 = 0;
+	g_vars->scene34_dudeOnBoard = false;
 }
 
 void sceneHandler34_onBoard() {
@@ -133,7 +129,7 @@ void sceneHandler34_onBoard() {
 
 	g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
 
-	g_vars->scene34_var06 = 1;
+	g_vars->scene34_dudeOnBoard = true;
 }
 
 void sceneHandler34_testVent() {
@@ -158,7 +154,7 @@ void sceneHandler34_climb() {
 
 	g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
 
-	g_vars->scene34_var05 = 1;
+	g_vars->scene34_dudeClimbed = true;
 }
 
 void sceneHandler34_genFlies() {
@@ -168,7 +164,7 @@ void sceneHandler34_genFlies() {
 	g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val6 = 1072;
 	g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val7 = -50;
 
-	g_vars->scene34_var08 = g_fp->_rnd->getRandomNumber(500) + 500;
+	g_vars->scene34_fliesCountdown = g_fp->_rnd->getRandomNumber(500) + 500;
 }
 
 void sceneHandler34_fromCactus(ExCommand *cmd) {
@@ -296,7 +292,7 @@ void sceneHandler34_unclimb() {
 
 	g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 1);
 
-	g_vars->scene34_var05 = 0;
+	g_vars->scene34_dudeClimbed = false;
 }
 
 int sceneHandler34(ExCommand *cmd) {
@@ -325,7 +321,7 @@ int sceneHandler34(ExCommand *cmd) {
 		break;
 
 	case MSG_SC34_FROMCACTUS:
-		g_vars->scene34_var07 = 0;
+		g_vars->scene34_dudeOnCactus = false;
 
 		getCurrSceneSc2MotionController()->setEnabled();
 		getGameLoaderInteractionController()->enableFlag24();
@@ -383,7 +379,7 @@ int sceneHandler34(ExCommand *cmd) {
 		break;
 
 	case MSG_SC34_ONCACTUS:
-		g_vars->scene34_var07 = 1;
+		g_vars->scene34_dudeOnCactus = true;
 
 		getCurrSceneSc2MotionController()->clearEnabled();
 		getGameLoaderInteractionController()->disableFlag24();
@@ -405,17 +401,17 @@ int sceneHandler34(ExCommand *cmd) {
 
 	case 29:
 		{
-			if (g_vars->scene34_var05) {
+			if (g_vars->scene34_dudeClimbed) {
 				sceneHandler34_animateAction(cmd);
 				break;
 			}
 
-			if (g_vars->scene34_var06) {
+			if (g_vars->scene34_dudeOnBoard) {
 				sceneHandler34_animateLeaveBoard(cmd);
 				break;
 			}
 
-			if (g_vars->scene34_var07) {
+			if (g_vars->scene34_dudeOnCactus) {
 				sceneHandler34_fromCactus(cmd);
 				break;
 			}
@@ -456,16 +452,16 @@ int sceneHandler34(ExCommand *cmd) {
 		if (g_fp->_aniMan2) {
 			int x = g_fp->_aniMan2->_ox;
 
-			if (x < g_fp->_sceneRect.left + g_vars->scene34_var01)
-				g_fp->_currentScene->_x = x - g_vars->scene34_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->scene34_var01)
-				g_fp->_currentScene->_x = x + g_vars->scene34_var03 - g_fp->_sceneRect.right;
+			if (x > g_fp->_sceneRect.right - 200)
+				g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
 		}
 
-		--g_vars->scene34_var08;
+		--g_vars->scene34_fliesCountdown;
 
-		if (!g_vars->scene34_var08)
+		if (!g_vars->scene34_fliesCountdown)
 			sceneHandler34_genFlies();
 
 		g_fp->_floaters->update();






More information about the Scummvm-git-logs mailing list