[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