[Scummvm-cvs-logs] scummvm master -> 627716ab1ae493316da5a36f3dddc8ca72959b39

sev- sev at scummvm.org
Sun Dec 1 16:08:18 CET 2013


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
521eeb9b42 FULLPIPE: Implement sceneHandler04_winArcade()
627716ab1a FULLPIPE: Implement sceneHandler04_liftBottle()


Commit: 521eeb9b42d0b37c5fe79843e7ecbda08f5b8065
    https://github.com/scummvm/scummvm/commit/521eeb9b42d0b37c5fe79843e7ecbda08f5b8065
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-01T06:50:04-08:00

Commit Message:
FULLPIPE: Implement sceneHandler04_winArcade()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/fullpipe.h
    engines/fullpipe/scenes/scene04.cpp
    engines/fullpipe/sound.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index e1ec51a..76739b6 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -187,6 +187,7 @@ namespace Fullpipe {
 #define QU_EGTR_MD2_SHOW 4698
 #define QU_EGTR_MD1_SHOW 4697
 #define QU_EGTR_SLIMSHOW 4883
+#define QU_HND_TAKEBOTTLE 1443
 #define QU_IN2_DO 5144
 #define QU_INTR_FINISH 5138
 #define QU_INTR_GETUPMAN 5136
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 63dde50..00d2863 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -142,6 +142,7 @@ public:
 	void toggleMute();
 	void playSound(int id, int flag);
 	void startSceneTrack();
+	void stopSoundStream2();
 
 	int _sfxVolume;
 
diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp
index f2fbfd3..137133b 100644
--- a/engines/fullpipe/scenes/scene04.cpp
+++ b/engines/fullpipe/scenes/scene04.cpp
@@ -33,6 +33,7 @@
 #include "fullpipe/interaction.h"
 #include "fullpipe/gameloader.h"
 #include "fullpipe/behavior.h"
+#include "fullpipe/motion.h"
 
 namespace Fullpipe {
 
@@ -446,7 +447,30 @@ void sceneHandler04_updateBottle() {
 }
 
 void sceneHandler04_winArcade() {
-	warning("sceneHandler04_winArcade()");
+	if (g_fullpipe->getObjectState(sO_LowerPipe) == g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsClosed)
+		&& g_vars->scene04_soundPlaying) {
+		g_vars->scene04_clock->changeStatics2(ST_CLK_CLOSED);
+		g_vars->scene04_hand->changeStatics2(ST_HND_EMPTY);
+
+		chainQueue(QU_HND_TAKEBOTTLE, 1);
+
+		if (g_vars->scene04_walkingKozyawka) {
+			g_vars->scene04_kozyawkiObjList.push_back(g_vars->scene04_walkingKozyawka);
+
+			g_vars->scene04_walkingKozyawka->changeStatics2(ST_KZW_EMPTY);
+			g_vars->scene04_walkingKozyawka->hide();
+			g_vars->scene04_walkingKozyawka = 0;
+		}
+
+		g_vars->scene04_var19 = 0;
+		g_vars->scene04_soundPlaying = 0;
+
+		getSc2MctlCompoundBySceneId(g_fullpipe->_currentScene->_sceneId)->setEnabled();
+
+		getGameLoaderInteractionController()->enableFlag24();
+
+		g_fullpipe->stopSoundStream2();
+	}
 }
 
 int sceneHandler04(ExCommand *ex) {
diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 6da848a..b4a864d 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -135,6 +135,9 @@ void global_messageHandler_handleSound(ExCommand *cmd) {
 	debug(0, "STUB: global_messageHandler_handleSound()");
 }
 
+void FullpipeEngine::stopSoundStream2() {
+	warning("STUB: FullpipeEngine::stopSoundStream2()");
+}
 
 
 } // End of namespace Fullpipe


Commit: 627716ab1ae493316da5a36f3dddc8ca72959b39
    https://github.com/scummvm/scummvm/commit/627716ab1ae493316da5a36f3dddc8ca72959b39
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-01T07:07:23-08:00

Commit Message:
FULLPIPE: Implement sceneHandler04_liftBottle()

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



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index a0f90af..014459e 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -99,7 +99,7 @@ Vars::Vars() {
 	scene04_var19 = 0;
 	scene04_var20 = 0;
 	scene04_var24 = 0;
-	scene04_var26 = 0;
+	scene04_bottleY = 0;
 
 	selector = 0;
 }
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index ed0da0a..670b94a 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -122,7 +122,7 @@ public:
 	int scene04_var19;
 	int scene04_var20;
 	StaticANIObject *scene04_var24;
-	int scene04_var26;
+	int scene04_bottleY;
 
 	PictureObject *selector;
 };
diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp
index 137133b..d642ebf 100644
--- a/engines/fullpipe/scenes/scene04.cpp
+++ b/engines/fullpipe/scenes/scene04.cpp
@@ -285,7 +285,7 @@ void sceneHandler04_clickPlank() {
 
 void sceneHandler04_dropBottle() {
 	g_vars->scene04_var12 = 1;
-	g_vars->scene04_var26 = 10;
+	g_vars->scene04_bottleY = 10;
 	g_vars->scene04_var06 = 0;
 
 	while (g_vars->scene04_kozyawkiAni.size()) {
@@ -389,8 +389,36 @@ void sceneHandler04_sub5() {
 	warning("sceneHandler04_sub5()");
 }
 
-void sceneHandler04_sub6() {
-	warning("sceneHandler04_sub6()");
+void sceneHandler04_bottleUpdateObjects(int off) {
+	for (Common::List<GameObject *>::iterator it = g_vars->scene04_bottleObjList.begin(); it != g_vars->scene04_bottleObjList.end(); ++it) {
+		GameObject *obj = *it;
+
+		obj->setOXY(obj->_field_8 + 20, off + obj->_field_8 + 24);
+	}
+}
+
+void sceneHandler04_liftBottle() {
+	int newy = g_vars->scene04_bottleY + g_vars->scene04_spring->_oy;
+
+	g_vars->scene04_bottleY += 5;
+
+	sceneHandler04_bottleUpdateObjects(newy - g_vars->scene04_spring->_oy);
+
+	g_vars->scene04_spring->setOXY(g_vars->scene04_spring->_ox, newy);
+
+	if (g_vars->scene04_bottle->_oy >= 226) {
+		sceneHandler04_bottleUpdateObjects(226 - g_vars->scene04_bottle->_oy);
+
+		g_vars->scene04_spring->setOXY(g_vars->scene04_spring->_ox, 437);
+		g_vars->scene04_var12 = 0;
+		g_vars->scene04_var09 = 0;
+		g_vars->scene04_var19 = 1;
+		g_vars->scene04_var06 = 2;
+		g_vars->scene04_var20 = 10;
+		g_vars->scene04_var02 = 0;
+
+		g_fullpipe->setObjectState(sO_LowerPipe, g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsClosed));
+	}
 }
 
 void sceneHandler04_sub7() {
@@ -425,10 +453,6 @@ void sceneHandler04_testPlank(ExCommand *ex) {
 	warning("sceneHandler04_testPlank()");
 }
 
-void sceneHandler04_bottleUpdateObjects(int off) {
-	warning("sceneHandler04_bottleUpdateObjects()");
-}
-
 void sceneHandler04_updateBottle() {
 	Common::Point point;
 
@@ -581,7 +605,7 @@ int sceneHandler04(ExCommand *ex) {
 				sceneHandler04_sub5();
 
 			if (g_vars->scene04_var12)
-				sceneHandler04_sub6();
+				sceneHandler04_liftBottle();
 
 			if (g_vars->scene04_var08)
 				sceneHandler04_clickLadder();






More information about the Scummvm-git-logs mailing list