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

sev- sev at scummvm.org
Tue Dec 17 12:59:47 CET 2013


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

Summary:
ba0faf8123 FULLPIPE: Implement sceneHandler06_showNextBall()
8bb1666f9f FULLPIPE: Implement sceneHandler06_spinHandle()
e57745ee95 FULLPIPE: Implement sceneHandler06_takeBall()


Commit: ba0faf81238f3a60dab53c0294777ee6474efc6e
    https://github.com/scummvm/scummvm/commit/ba0faf81238f3a60dab53c0294777ee6474efc6e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-17T03:59:15-08:00

Commit Message:
FULLPIPE: Implement sceneHandler06_showNextBall()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 6bd80a3..ccaea13 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -268,6 +268,7 @@ namespace Fullpipe {
 #define QU_SC6_ENTERLIFT 1054
 #define QU_SC6_EXITLIFT 1055
 #define QU_SC6_SHOWHANDLE 1689
+#define QU_SC6_SHOWNEXTBALL 2689
 #define SC_1 301
 #define SC_10 653
 #define SC_11 654
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 2aa852b..38c5b8c 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -124,7 +124,7 @@ Vars::Vars() {
 	scene06_var09 = 0;
 	scene06_var10 = 0;
 	scene06_var11 = 0;
-	scene06_var12 = 0;
+	scene06_numBallsGiven = 0;
 	scene06_var13 = 0;
 	scene06_var14 = 0;
 	scene06_var15 = 1;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index e8a240d..28fc2b7 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -162,7 +162,7 @@ public:
 	int scene06_var10;
 	StaticANIObject *scene06_var11;
 	Common::Array<StaticANIObject *> scene06_balls;
-	int scene06_var12;
+	int scene06_numBallsGiven;
 	int scene06_var13;
 	int scene06_var14;
 	int scene06_var15;
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index 73f38e4..4e44b2c 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -85,7 +85,7 @@ void sceneHandler06_enableDrops() {
 	chainQueue(QU_MOM_STANDUP, 1);
 
 	g_vars->scene06_var07 = 1;
-	g_vars->scene06_var12 = 0;
+	g_vars->scene06_numBallsGiven = 0;
 	g_vars->scene06_mumsyPos = 0;
 	g_vars->scene06_var13 = 0;
 	g_vars->scene06_var16 = 0;
@@ -117,7 +117,17 @@ void sceneHandler06_buttonPush() {
 }
 
 void sceneHandler06_showNextBall() {
-	warning("STUB: sceneHandler06_showNextBall()");
+	if (g_vars->scene06_balls.size()) {
+		g_vars->scene06_var09 = new StaticANIObject(g_vars->scene06_balls.front());
+		g_vars->scene06_balls.remove_at(0);
+
+		MessageQueue *mq = new MessageQueue(g_fullpipe->_currentScene->getMessageQueueById(QU_SC6_SHOWNEXTBALL), 0, 1);
+
+		mq->replaceKeyCode(-1, g_vars->scene06_var09->_okeyCode);
+		mq->chain(0);
+
+		++g_vars->scene06_numBallsGiven;
+	}
 }
 
 void sceneHandler06_installHandle() {
@@ -181,7 +191,7 @@ void scene06_initScene(Scene *sc) {
 	g_vars->scene06_var10 = 0;
 	g_vars->scene06_var11 = 0;
 	g_vars->scene06_balls.clear();
-	g_vars->scene06_var12 = 0;
+	g_vars->scene06_numBallsGiven = 0;
 	g_vars->scene06_var13 = 0;
 	g_vars->scene06_var14 = 0;
 	g_vars->scene06_var15 = 1;
@@ -332,7 +342,7 @@ int sceneHandler06(ExCommand *ex) {
 				}
 
 				if (g_vars->scene06_var09 == st) {
-					if (g_vars->scene06_var12 == 1)
+					if (g_vars->scene06_numBallsGiven == 1)
 						sceneHandler06_takeBall();
 
 					ex->_messageKind = 0;
@@ -430,7 +440,7 @@ int sceneHandler06(ExCommand *ex) {
 				&& !g_vars->scene06_var09
 				&& !g_vars->scene06_var10
 				&& !g_vars->scene06_var11
-				&& g_vars->scene06_var12 >= 15
+				&& g_vars->scene06_numBallsGiven >= 15
 				&& !g_vars->scene06_ballDrop->_movement
 				&& !g_vars->scene06_mumsy->_movement
 				&& !g_vars->scene06_var16)


Commit: 8bb1666f9f97009a1dbcdb026b25c5bb03fe52ea
    https://github.com/scummvm/scummvm/commit/8bb1666f9f97009a1dbcdb026b25c5bb03fe52ea
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-17T03:59:15-08:00

Commit Message:
FULLPIPE: Implement sceneHandler06_spinHandle()

Changed paths:
    engines/fullpipe/init.cpp
    engines/fullpipe/objectnames.h
    engines/fullpipe/scenes/scene06.cpp



diff --git a/engines/fullpipe/init.cpp b/engines/fullpipe/init.cpp
index 0b74648..34d8335 100644
--- a/engines/fullpipe/init.cpp
+++ b/engines/fullpipe/init.cpp
@@ -45,7 +45,7 @@ void FullpipeEngine::initObjectStates() {
 	setSwallowedEggsState();
 
 	setObjectState(sO_WeirdWacko, getObjectEnumState(sO_WeirdWacko, sO_InGlasses));
-	setObjectState(sO_TumyTrampie, getObjectEnumState(sO_TumyTrampie, sO_Drinking));
+	setObjectState(sO_TummyTrampie, getObjectEnumState(sO_TummyTrampie, sO_IsDrinking));
 	setObjectState(sO_StairsUp_8, getObjectEnumState(sO_StairsUp_8, sO_NotBroken));
 	setObjectState(sO_HareTheNooksiter, getObjectEnumState(sO_HareTheNooksiter, sO_WithHandle));
 	setObjectState(sO_Elephantine, getObjectEnumState(sO_Elephantine, sO_WithBoot));
diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h
index 5e67f09..2cea77c 100644
--- a/engines/fullpipe/objectnames.h
+++ b/engines/fullpipe/objectnames.h
@@ -30,7 +30,7 @@ namespace Fullpipe {
 #define sO_Grandma "\xc1\xe0\xe1\xf3\xeb\xff"	// "Бабуля"
 #define sO_Jar_4 "\xc1\xe0\xed\xea\xe0_4"	// "Банка_4"
 #define sO_Pool "\xc1\xe0\xf1\xf1\xe5\xe9\xed"	// "Бассейн"
-#define sO_TumyTrampie "\xc1\xe0\xf2\xf3\xf2\xe0"	// "Батута"
+#define sO_TummyTrampie "\xc1\xe0\xf2\xf3\xf2\xe0"	// "Батута"
 #define sO_WithoutBoot "\xc1\xe5\xe7 \xe1\xee\xf2\xe8\xed\xea\xe0"	// "Без ботинка"
 #define sO_WithoutJug "\xc1\xe5\xe7 \xe3\xee\xf0\xf8\xea\xee\xe2"	// "Без горшков"
 #define sO_WithoutCarpet "\xc1\xe5\xe7 \xea\xee\xe2\xf0\xe8\xea\xe0"	// "Без коврика"
@@ -82,7 +82,7 @@ namespace Fullpipe {
 #define sO_Dude "\xc4\xff\xe4\xff"	// "Дядя"
 #define sO_GuvTheDrawer "\xc4\xff\xe4\xff-\xff\xf9\xe8\xea"	// "Дядя-ящик"
 #define sO_DudeSwinged "\xc4\xff\xe4\xff_\xea\xe0\xf2\xe0\xeb\xf1\xff"	// "Дядя_катался"
-#define sO_Eats "\xc5\xf1\xf2"	// "Ест"
+#define sO_IsEating "\xc5\xf1\xf2"	// "Ест"
 #define sO_Present "\xc5\xf1\xf2\xfc"	// "Есть"
 #define sO_CloseThing1 "\xc7\xe0\xea\xf0\xfb\xe2\xe0\xe5\xec\xee\xe5 1"	// "Закрываемое 1"
 #define sO_CloseThing2 "\xc7\xe0\xea\xf0\xfb\xe2\xe0\xe5\xec\xee\xe5 2"	// "Закрываемое 2"
@@ -168,7 +168,7 @@ namespace Fullpipe {
 #define sO_Empty "\xcf\xf3\xf1\xf2"	// "Пуст"
 #define sO_EmptyShe "\xcf\xf3\xf1\xf2\xe0\xff"	// "Пустая"
 #define sO_WayToPipe "\xcf\xf3\xf2\xfc \xea \xf2\xf0\xf3\xe1\xe5"	// "Путь к трубе"
-#define sO_Drinking "\xcf\xfc\xe5\xf2"	// "Пьет"
+#define sO_IsDrinking "\xcf\xfc\xe5\xf2"	// "Пьет"
 #define sO_BrokenInPieces "\xd0\xe0\xe7\xe1\xe8\xf2\xe0"	// "Разбита"
 #define sO_Unblocked "\xd0\xe0\xe7\xe1\xeb\xee\xea\xe8\xf0\xee\xe2\xe0\xed"	// "Разблокирован"
 #define sO_Unfolded "\xd0\xe0\xe7\xe2\xe5\xf0\xed\xf3\xf2"	// "Развернут"
@@ -226,7 +226,7 @@ namespace Fullpipe {
 #define sO_FallenOnce "\xd3\xef\xe0\xeb \xf0\xe0\xe7"	// "Упал раз"
 #define sO_FallenBrush "\xd3\xef\xe0\xeb\xe0 \xf9\xe5\xf2\xea\xe0"	// "Упала щетка"
 #define sO_NotBroken "\xd6\xe5\xeb\xe0"	// "Цела"
-#define sO_ScratchingBelly "\xd7\xe5\xf8\xe5\xf2 \xef\xf3\xe7\xee"	// "Чешет пузо"
+#define sO_IsScratchingBelly "\xd7\xe5\xf8\xe5\xf2 \xef\xf3\xe7\xee"	// "Чешет пузо"
 #define sO_Level0 "\xdd\xf2\xe0\xe6 0"	// "Этаж 0"
 #define sO_Level1 "\xdd\xf2\xe0\xe6 1"	// "Этаж 1"
 #define sO_Level2 "\xdd\xf2\xe0\xe6 2"	// "Этаж 2"
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index 4e44b2c..a2b9f27 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -98,7 +98,16 @@ void sceneHandler06_sub01() {
 }
 
 void sceneHandler06_spinHandle() {
-	warning("STUB: sceneHandler06_spinHandle()");
+	int tummy = g_fullpipe->getObjectState(sO_TummyTrampie);
+
+	if (tummy == g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsEating))
+		g_fullpipe->setObjectState(sO_TummyTrampie, g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsSleeping));
+	else if (tummy == g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsSleeping))
+		g_fullpipe->setObjectState(sO_TummyTrampie, g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsDrinking));
+	else if (tummy == g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsDrinking))
+		g_fullpipe->setObjectState(sO_TummyTrampie, g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsScratchingBelly));
+	else if (tummy == g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsScratchingBelly))
+		g_fullpipe->setObjectState(sO_TummyTrampie, g_fullpipe->getObjectEnumState(sO_TummyTrampie, sO_IsEating));
 }
 
 void sceneHandler06_uPipeClick() {


Commit: e57745ee9520f89a9b946ad205b3b322d14ef1df
    https://github.com/scummvm/scummvm/commit/e57745ee9520f89a9b946ad205b3b322d14ef1df
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-17T03:59:15-08:00

Commit Message:
FULLPIPE: Implement sceneHandler06_takeBall()

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



diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index a2b9f27..0753258 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -143,8 +143,29 @@ void sceneHandler06_installHandle() {
 	chainQueue(QU_SC6_SHOWHANDLE, 0);
 }
 
+void sceneHandler06_sub08() {
+	warning("STUB: sceneHandler06_sub08()");
+}
+
 void sceneHandler06_takeBall() {
-	warning("STUB: sceneHandler06_takeBall()");
+	if (g_vars->scene06_var09 && !g_vars->scene06_var09->_movement && g_vars->scene06_var09->_statics->_staticsId == ST_NBL_NORM) {
+		if (abs(1158 - g_fullpipe->_aniMan->_ox) > 1
+			|| abs(452 - g_fullpipe->_aniMan->_oy) > 1
+			|| g_fullpipe->_aniMan->_movement
+			|| g_fullpipe->_aniMan->_statics->_staticsId != (0x4000 | ST_MAN_RIGHT)) {
+			MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fullpipe->_aniMan, 1158, 452, 1, (0x4000 | ST_MAN_RIGHT));
+
+			if (mq) {
+				ExCommand *ex = new ExCommand(0, 17, MSG_SC6_TAKEBALL, 0, 0, 0, 1, 0, 0, 0);
+				ex->_excFlags |= 3;
+				mq->addExCommandToEnd(ex);
+
+				postExCommand(g_fullpipe->_aniMan->_id, 2, 1158, 452, 0, -1);
+			}
+		} else {
+			sceneHandler06_sub08();
+		}
+	}
 }
 
 void sceneHandler06_sub02() {
@@ -175,10 +196,6 @@ void sceneHandler06_sub07() {
 	warning("STUB: sceneHandler06_sub07()");
 }
 
-void sceneHandler06_sub08() {
-	warning("STUB: sceneHandler06_sub08()");
-}
-
 void sceneHandler06_sub09() {
 	warning("STUB: sceneHandler06_sub09()");
 }






More information about the Scummvm-git-logs mailing list