[Scummvm-cvs-logs] scummvm master -> e136183a35c6fc8927883ba94a0554b06d69c90b

sev- sev at scummvm.org
Fri Dec 13 15:00:14 CET 2013


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

Summary:
e136183a35 FULLPIPE: Implement sceneHandler04_leaveScene()


Commit: e136183a35c6fc8927883ba94a0554b06d69c90b
    https://github.com/scummvm/scummvm/commit/e136183a35c6fc8927883ba94a0554b06d69c90b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-13T05:59:29-08:00

Commit Message:
FULLPIPE: Implement sceneHandler04_leaveScene()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 1a59cce..31ca2d3 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -173,6 +173,7 @@ namespace Fullpipe {
 #define PIC_IN1_PIPETITLE 5167
 #define PIC_INV_MENU 991
 #define PIC_MAP_A13 5275
+#define PIC_MAP_P03 5279
 #define PIC_MAP_S01 5223
 #define PIC_SC1_KUCHKA 1321
 #define PIC_SC1_LADDER 1091
@@ -209,6 +210,7 @@ namespace Fullpipe {
 #define QU_SC3_EXITLIFT 2808
 #define QU_SC4_GOCLOCK 595
 #define QU_SC4_MANFROMBOTTLE 2851
+#define QU_SC4_MANTOBOTTLE 2850
 #define SC_1 301
 #define SC_10 653
 #define SC_11 654
diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp
index 07ac109..d0cab72 100644
--- a/engines/fullpipe/scenes/scene04.cpp
+++ b/engines/fullpipe/scenes/scene04.cpp
@@ -652,8 +652,29 @@ void sceneHandler04_springWobble() {
 		sceneHandler04_bottleUpdateObjects(oldDynIndex - g_vars->scene04_dynamicPhaseIndex);
 }
 
-void sceneHandler04_sub5() {
-	warning("STUB: sceneHandler04_sub5()");
+void sceneHandler04_leaveScene() {
+	g_fullpipe->_aniMan2 = 0;
+
+    MessageQueue *mq = new MessageQueue(g_fullpipe->_currentScene->getMessageQueueById(QU_SC4_MANTOBOTTLE), 0, 0);
+	ExCommand *ex = 0;
+
+	for (uint i = 0; i < mq->getCount(); i++) {
+		if (mq->getExCommandByIndex(i)->_messageKind == 27) {
+			ex = mq->getExCommandByIndex(i);
+			break;
+		}
+	}
+
+	ex->_y = g_vars->scene04_bottle->_oy - 304;
+
+	mq->chain(0);
+
+	g_vars->scene04_var07 = 0;
+	g_vars->scene04_dudeOnLadder = 0;
+
+	g_fullpipe->_behaviorManager->setFlagByStaticAniObject(g_fullpipe->_aniMan, 0);
+
+	g_fullpipe->updateMapPiece(PIC_MAP_P03, 1);
 }
 
 void sceneHandler04_liftBottle() {
@@ -963,7 +984,7 @@ int sceneHandler04(ExCommand *ex) {
 			sceneHandler04_springWobble();
 
 			if (g_vars->scene04_var07 && !g_vars->scene04_var09)
-				sceneHandler04_sub5();
+				sceneHandler04_leaveScene();
 
 			if (g_vars->scene04_var12)
 				sceneHandler04_liftBottle();






More information about the Scummvm-git-logs mailing list