[Scummvm-cvs-logs] scummvm master -> 1ec92edb87ef2cf68da77091231b971a0e8c70ad

sev- sev at scummvm.org
Thu Jan 2 09:47:44 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:
f5c36318fe FULLPIPE: Plug scene21 in
2873bdb6af FULLPIPE: Implement sceneHandler21()
ada85fbfcd FULLPIPE: Implement sceneHandler21_doWiggle()
e19530ce37 FULLPIPE: Rename vars in scene21
0fc133eab7 FULLPIPE: Implement scene21_updateCursor()
1ec92edb87 FULLPIPE: Enable scene21. This completes the scene


Commit: f5c36318fe085ed548a7b3628cb6ef01a54e6207
    https://github.com/scummvm/scummvm/commit/f5c36318fe085ed548a7b3628cb6ef01a54e6207
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00

Commit Message:
FULLPIPE: Plug scene21 in

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/module.mk
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h
    engines/fullpipe/scenes/scene21.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index c1a7487..0dafd6f 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -723,6 +723,10 @@ namespace Fullpipe {
 #define ST_MUG17_EMPTY 2739
 #define ST_SMG_SIT 1399
 
+// Scene 21
+#define ANI_GIRAFFE_BOTTOM 1633
+#define ST_GRFB_HANG 1638
+
 // Scene 24
 #define ANI_DROP_24 3505
 #define ANI_INV_HAMMER 884
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index ea83767..75b34dc 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -40,6 +40,7 @@ MODULE_OBJS = \
 	scenes/scene15.o \
 	scenes/scene16.o \
 	scenes/scene17.o \
+	scenes/scene21.o \
 	scenes/scene24.o \
 	scenes/sceneDbg.o \
 	scenes/sceneIntro.o
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index c8ace3c..fcacb04 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -247,6 +247,17 @@ Vars::Vars() {
 	scene17_handPhase = false;
 	scene17_sceneEdgeX = 0;
 
+	scene21_var01 = 0;
+	scene21_var02 = 0;
+	scene21_var03 = 0;
+	scene21_var04 = 0;
+	scene21_giraffeBottom = 0;
+	scene21_giraffeBottomX = 0;
+	scene21_giraffeBottomY = 0;
+	scene21_var05 = 0;
+	scene21_var06 = 0.0;
+	scene21_var07 = 0;
+
 	scene24_jetIsOn = false;
 	scene24_flowIsLow = false;
 	scene24_waterIsOn = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 358c6bc..ee52f8c 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -333,6 +333,17 @@ public:
 	bool scene17_handPhase;
 	int scene17_sceneEdgeX;
 
+	int scene21_var01;
+	int scene21_var02;
+	int scene21_var03;
+	int scene21_var04;
+	StaticANIObject *scene21_giraffeBottom;
+	int scene21_giraffeBottomX;
+	int scene21_giraffeBottomY;
+	int scene21_var05;
+	double scene21_var06;
+	int scene21_var07;
+
 	bool scene24_jetIsOn;
 	bool scene24_flowIsLow;
 	bool scene24_waterIsOn;
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index 3198a18..017716d 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -47,7 +47,7 @@ void scene21_initScene(Scene *sc) {
 	g_vars->scene21_giraffeBottom = sc->getStaticANIObject1ById(ANI_GIRAFFE_BOTTOM, -1);
 	g_fp->_currentScene = sc;
 
-	if (g_fp->getObjectState(sO_LowerPipe_21) == g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsOpened )) {
+	if (g_fp->getObjectState(sO_LowerPipe_21) == g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsOpened)) {
 		g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_HANG);
 		g_vars->scene21_var05 = 1;
 		g_vars->scene21_var06 = 0.0;


Commit: 2873bdb6af09dc76a49287a98ec7df0d8132408e
    https://github.com/scummvm/scummvm/commit/2873bdb6af09dc76a49287a98ec7df0d8132408e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00

Commit Message:
FULLPIPE: Implement sceneHandler21()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 0dafd6f..53c6977 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -725,6 +725,8 @@ namespace Fullpipe {
 
 // Scene 21
 #define ANI_GIRAFFE_BOTTOM 1633
+#define MSG_SC21_UPDATEASS 4211
+#define ST_GRFB_SIT 1687
 #define ST_GRFB_HANG 1638
 
 // Scene 24
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index 017716d..2656a5f 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -61,4 +61,73 @@ void scene21_initScene(Scene *sc) {
 	g_fp->initArcadeKeys("SC_21");
 }
 
+void sceneHandler21_doWiggle() {
+	warning("STUB: sceneHandler21_doWiggle()");
+}
+
+int sceneHandler21(ExCommand *cmd) {
+	if (cmd->_messageKind != 17)
+		return 0;
+
+	switch (cmd->_messageNum) {
+	case MSG_SC21_UPDATEASS:
+		if (g_fp->getObjectState(sO_LowerPipe_21) == g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsOpened)) {
+			g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_HANG);
+			g_vars->scene21_giraffeBottom->setOXY(g_vars->scene21_giraffeBottomX, g_vars->scene21_giraffeBottomY);
+			g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_SIT);
+
+			g_vars->scene21_var05 = 0;
+
+			g_fp->setObjectState(sO_LowerPipe_21, g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsClosed));
+		}
+
+		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;
+		}
+
+	case 33:
+		if (g_fp->_aniMan2) {
+			int x = g_fp->_aniMan2->_ox;
+
+			if (x <= g_fp->_sceneWidth - 460) {
+				if (x < g_fp->_sceneRect.left + g_vars->scene21_var01)
+					g_fp->_currentScene->_x = x - g_vars->scene21_var03 - g_fp->_sceneRect.left;
+			} else {
+				g_fp->_currentScene->_x = g_fp->_sceneWidth - x;
+			}
+
+			if (x > g_fp->_sceneRect.right - g_vars->scene21_var01)
+				g_fp->_currentScene->_x = x + g_vars->scene21_var03 - g_fp->_sceneRect.right;
+		}
+
+		if (g_vars->scene21_var05 && !g_vars->scene21_var07)
+			sceneHandler21_doWiggle();
+
+		g_vars->scene21_var07 = g_vars->scene21_var07 == 0;
+
+		g_fp->_behaviorManager->updateBehaviors();
+		g_fp->startSceneTrack();
+
+		break;
+	}
+
+	return 0;
+}
+
 } // End of namespace Fullpipe


Commit: ada85fbfcdf3013ef371b9f7df0b9ebe6cfaac8b
    https://github.com/scummvm/scummvm/commit/ada85fbfcdf3013ef371b9f7df0b9ebe6cfaac8b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00

Commit Message:
FULLPIPE: Implement sceneHandler21_doWiggle()

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



diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index 2656a5f..9b47fc5 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -62,7 +62,17 @@ void scene21_initScene(Scene *sc) {
 }
 
 void sceneHandler21_doWiggle() {
-	warning("STUB: sceneHandler21_doWiggle()");
+	g_vars->scene21_giraffeBottom->setOXY((int)(cos(g_vars->scene21_var06) * 4.0) + g_vars->scene21_giraffeBottom->_ox,
+										  g_vars->scene21_giraffeBottom->_oy);
+
+	g_vars->scene21_var06 += 0.19635;
+
+	if (g_vars->scene21_var06 > 6.2831853) {
+		g_vars->scene21_var06 = 0;
+
+		if (!g_vars->scene21_giraffeBottom->_movement)
+			g_vars->scene21_giraffeBottom->setOXY(g_vars->scene21_giraffeBottomX, g_vars->scene21_giraffeBottomY);
+	}
 }
 
 int sceneHandler21(ExCommand *cmd) {


Commit: e19530ce37abfefc91bbbe7182d38171b3e5b909
    https://github.com/scummvm/scummvm/commit/e19530ce37abfefc91bbbe7182d38171b3e5b909
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00

Commit Message:
FULLPIPE: Rename vars in scene21

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



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index fcacb04..36ee8cc 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -247,16 +247,12 @@ Vars::Vars() {
 	scene17_handPhase = false;
 	scene17_sceneEdgeX = 0;
 
-	scene21_var01 = 0;
-	scene21_var02 = 0;
-	scene21_var03 = 0;
-	scene21_var04 = 0;
 	scene21_giraffeBottom = 0;
 	scene21_giraffeBottomX = 0;
 	scene21_giraffeBottomY = 0;
-	scene21_var05 = 0;
-	scene21_var06 = 0.0;
-	scene21_var07 = 0;
+	scene21_pipeIsOpen = false;
+	scene21_wigglePos = 0.0;
+	scene21_wiggleTrigger = 0;
 
 	scene24_jetIsOn = false;
 	scene24_flowIsLow = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index ee52f8c..9313bf0 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -333,16 +333,12 @@ public:
 	bool scene17_handPhase;
 	int scene17_sceneEdgeX;
 
-	int scene21_var01;
-	int scene21_var02;
-	int scene21_var03;
-	int scene21_var04;
 	StaticANIObject *scene21_giraffeBottom;
 	int scene21_giraffeBottomX;
 	int scene21_giraffeBottomY;
-	int scene21_var05;
-	double scene21_var06;
-	int scene21_var07;
+	int scene21_pipeIsOpen;
+	double scene21_wigglePos;
+	bool scene21_wiggleTrigger;
 
 	bool scene24_jetIsOn;
 	bool scene24_flowIsLow;
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index 9b47fc5..a915d76 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -37,11 +37,6 @@
 namespace Fullpipe {
 
 void scene21_initScene(Scene *sc) {
-	g_vars->scene21_var01 = 200;
-	g_vars->scene21_var02 = 200;
-	g_vars->scene21_var03 = 300;
-	g_vars->scene21_var04 = 300;
-
 	Scene *oldsc = g_fp->_currentScene;
 
 	g_vars->scene21_giraffeBottom = sc->getStaticANIObject1ById(ANI_GIRAFFE_BOTTOM, -1);
@@ -49,26 +44,26 @@ void scene21_initScene(Scene *sc) {
 
 	if (g_fp->getObjectState(sO_LowerPipe_21) == g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsOpened)) {
 		g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_HANG);
-		g_vars->scene21_var05 = 1;
-		g_vars->scene21_var06 = 0.0;
+		g_vars->scene21_pipeIsOpen = true;
+		g_vars->scene21_wigglePos = 0.0;
 		g_vars->scene21_giraffeBottomX = g_vars->scene21_giraffeBottom->_ox;
 		g_vars->scene21_giraffeBottomY = g_vars->scene21_giraffeBottom->_oy;
-		g_vars->scene21_var07 = 0;
+		g_vars->scene21_wiggleTrigger = false;
 	} else {
-		g_vars->scene21_var05 = 0;
+		g_vars->scene21_pipeIsOpen = false;
 	}
 	g_fp->_currentScene = oldsc;
 	g_fp->initArcadeKeys("SC_21");
 }
 
 void sceneHandler21_doWiggle() {
-	g_vars->scene21_giraffeBottom->setOXY((int)(cos(g_vars->scene21_var06) * 4.0) + g_vars->scene21_giraffeBottom->_ox,
+	g_vars->scene21_giraffeBottom->setOXY((int)(cos(g_vars->scene21_wigglePos) * 4.0) + g_vars->scene21_giraffeBottom->_ox,
 										  g_vars->scene21_giraffeBottom->_oy);
 
-	g_vars->scene21_var06 += 0.19635;
+	g_vars->scene21_wigglePos += 0.19635;
 
-	if (g_vars->scene21_var06 > 6.2831853) {
-		g_vars->scene21_var06 = 0;
+	if (g_vars->scene21_wigglePos > 6.2831853) {
+		g_vars->scene21_wigglePos = 0;
 
 		if (!g_vars->scene21_giraffeBottom->_movement)
 			g_vars->scene21_giraffeBottom->setOXY(g_vars->scene21_giraffeBottomX, g_vars->scene21_giraffeBottomY);
@@ -86,7 +81,7 @@ int sceneHandler21(ExCommand *cmd) {
 			g_vars->scene21_giraffeBottom->setOXY(g_vars->scene21_giraffeBottomX, g_vars->scene21_giraffeBottomY);
 			g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_SIT);
 
-			g_vars->scene21_var05 = 0;
+			g_vars->scene21_pipeIsOpen = false;
 
 			g_fp->setObjectState(sO_LowerPipe_21, g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsClosed));
 		}
@@ -116,20 +111,20 @@ int sceneHandler21(ExCommand *cmd) {
 			int x = g_fp->_aniMan2->_ox;
 
 			if (x <= g_fp->_sceneWidth - 460) {
-				if (x < g_fp->_sceneRect.left + g_vars->scene21_var01)
-					g_fp->_currentScene->_x = x - g_vars->scene21_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->_sceneWidth - x;
 			}
 
-			if (x > g_fp->_sceneRect.right - g_vars->scene21_var01)
-				g_fp->_currentScene->_x = x + g_vars->scene21_var03 - g_fp->_sceneRect.right;
+			if (x > g_fp->_sceneRect.right - 200)
+				g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
 		}
 
-		if (g_vars->scene21_var05 && !g_vars->scene21_var07)
+		if (g_vars->scene21_pipeIsOpen && !g_vars->scene21_wiggleTrigger)
 			sceneHandler21_doWiggle();
 
-		g_vars->scene21_var07 = g_vars->scene21_var07 == 0;
+		g_vars->scene21_wiggleTrigger = !g_vars->scene21_wiggleTrigger;
 
 		g_fp->_behaviorManager->updateBehaviors();
 		g_fp->startSceneTrack();


Commit: 0fc133eab7b007d9dd5b6f8b148fadd36054edad
    https://github.com/scummvm/scummvm/commit/0fc133eab7b007d9dd5b6f8b148fadd36054edad
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00

Commit Message:
FULLPIPE: Implement scene21_updateCursor()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 53c6977..e85ed20 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -726,6 +726,7 @@ namespace Fullpipe {
 // Scene 21
 #define ANI_GIRAFFE_BOTTOM 1633
 #define MSG_SC21_UPDATEASS 4211
+#define PIC_SC21_DTRUBA 1823
 #define ST_GRFB_SIT 1687
 #define ST_GRFB_HANG 1638
 
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index a915d76..5a65099 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -56,6 +56,16 @@ void scene21_initScene(Scene *sc) {
 	g_fp->initArcadeKeys("SC_21");
 }
 
+int scene21_updateCursor() {
+	g_fp->updateCursorCommon();
+
+	if (g_fp->_cursorId == PIC_CSR_ITN && g_fp->_objectIdAtCursor == PIC_SC21_DTRUBA)
+
+		g_fp->_cursorId = PIC_CSR_GOD;
+
+	return g_fp->_cursorId;
+}
+
 void sceneHandler21_doWiggle() {
 	g_vars->scene21_giraffeBottom->setOXY((int)(cos(g_vars->scene21_wigglePos) * 4.0) + g_vars->scene21_giraffeBottom->_ox,
 										  g_vars->scene21_giraffeBottom->_oy);


Commit: 1ec92edb87ef2cf68da77091231b971a0e8c70ad
    https://github.com/scummvm/scummvm/commit/1ec92edb87ef2cf68da77091231b971a0e8c70ad
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00

Commit Message:
FULLPIPE: Enable scene21. This completes the scene

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



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 36ee8cc..104d078 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -649,6 +649,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		addMessageHandler(sceneHandler20, 2);
 		_updateCursorCallback = defaultUpdateCursor;
 		break;
+#endif
 
 	case SC_21:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_21");
@@ -661,6 +662,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		_updateCursorCallback = scene21_updateCursor;
 		break;
 
+#if 0
 	case SC_22:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_22");
 		scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 9313bf0..8b5e6c2 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -101,6 +101,10 @@ void scene17_restoreState();
 int sceneHandler17(ExCommand *cmd);
 int scene17_updateCursor();
 
+int scene21_updateCursor();
+void scene21_initScene(Scene *sc);
+int sceneHandler21(ExCommand *cmd);
+
 void scene24_initScene(Scene *sc);
 void scene24_setPoolState();
 int sceneHandler24(ExCommand *cmd);






More information about the Scummvm-git-logs mailing list