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

sev- sev at scummvm.org
Sun Jan 5 00:34:54 CET 2014


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

Summary:
e601797377 FULLPIPE: More code to scene23
b0a85a9f94 FULLPIPE: Implement sceneHandler23_spinWheel1() and sendClick()
e8010719ea FULLPIPE: Implement rest of spinWheel functions
fe5454d065 FULLPIPE: Implement sceneHandler23_testCalendar()


Commit: e601797377cea6a5af5006d6861696831704df67
    https://github.com/scummvm/scummvm/commit/e601797377cea6a5af5006d6861696831704df67
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-04T15:30:11-08:00

Commit Message:
FULLPIPE: More code to scene23

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene23.cpp
    engines/fullpipe/statics.cpp
    engines/fullpipe/statics.h



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 8d2941e..2e2d216 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -805,6 +805,9 @@ namespace Fullpipe {
 #define PIC_SC23_LADDERU 3411
 #define QU_GRFU_TURN_UD 1664
 #define QU_GRFU_TURN_UL 1662
+#define QU_SC23_FROMCALENDAREXIT 1735
+#define QU_SC23_SHOWSTOOL 3335
+#define QU_SC23_STARTKISS 1822
 #define ST_CND_5 1713
 #define ST_GRFG_BALD 1675
 #define ST_GRFG_EMPTY 1674
diff --git a/engines/fullpipe/scenes/scene23.cpp b/engines/fullpipe/scenes/scene23.cpp
index 161b38b..29680d4 100644
--- a/engines/fullpipe/scenes/scene23.cpp
+++ b/engines/fullpipe/scenes/scene23.cpp
@@ -160,7 +160,7 @@ int scene23_updateCursor() {
 }
 
 void sceneHandler23_showStool() {
-	warning("STUB: sceneHandler23_showStool()");
+	chainQueue(QU_SC23_SHOWSTOOL, 0);
 }
 
 void sceneHandler23_hideStool() {
@@ -191,12 +191,24 @@ void sceneHandler23_sendClick(StaticANIObject *ani) {
 	warning("STUB: sceneHandler23_sendClick(ani)");
 }
 
+void sceneHandler23_startKiss() {
+	g_vars->scene23_giraffeTop->changeStatics2(ST_GRFU_UP);
+	g_vars->scene23_giraffeTop->startMQIfIdle(QU_SC23_STARTKISS, 0);
+}
 void sceneHandler23_checkReachingTop() {
-	warning("STUB: sceneHandler23_checkReachingTop()");
+	if (g_fp->_aniMan->_movement || g_fp->_aniMan->_statics->_staticsId != ST_MAN_STANDLADDER
+		|| g_fp->_aniMan->_ox != 405 || g_fp->_aniMan->_oy != 220)
+		g_vars->scene23_var05 = 0;
+	else
+		g_vars->scene23_var05 = 1;
 }
 
 void sceneHandler23_exitCalendar() {
-	warning("STUB: sceneHandler23_exitCalendar()");
+	if (!g_fp->_aniMan->_movement && g_fp->_aniMan->_statics->_staticsId == ST_MAN_STANDLADDER
+		&& !g_fp->_aniMan->getMessageQueue() && !(g_fp->_aniMan->_flags & 0x100) ) {
+		chainQueue(QU_SC23_FROMCALENDAREXIT, 1);
+		g_vars->scene23_var07 = 2;
+	}
 }
 
 void sceneHandler23_lowerFromCalendar(ExCommand *cmd) {
diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index d734032..fbf1970 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -302,6 +302,10 @@ bool StaticANIObject::trySetMessageQueue(int msgNum, int qId) {
 	return true;
 }
 
+void StaticANIObject::startMQIfIdle(int qId, int flag) {
+	warning("STUB: StaticANIObject::startMQIfIdle()");
+}
+
 bool StaticANIObject::isIdle() {
 	if (_messageQueueId) {
 		MessageQueue *m = g_fp->_globalMessageQueueList->getMessageQueueById(_messageQueueId);
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index 0e2e6db..9faf684 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -215,6 +215,7 @@ class StaticANIObject : public GameObject {
 	void queueMessageQueue(MessageQueue *msg);
 	MessageQueue *getMessageQueue();
 	bool trySetMessageQueue(int msgNum, int qId);
+	void startMQIfIdle(int qId, int flag);
 
 	void initMovements();
 	void loadMovementsPixelData();


Commit: b0a85a9f94117d8a31b0e11999f6175a0acfda43
    https://github.com/scummvm/scummvm/commit/b0a85a9f94117d8a31b0e11999f6175a0acfda43
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-04T15:30:12-08:00

Commit Message:
FULLPIPE: Implement sceneHandler23_spinWheel1() and sendClick()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 2e2d216..a8d3de9 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -795,6 +795,16 @@ namespace Fullpipe {
 #define MSG_SC23_SPINWHEEL2 1741
 #define MSG_SC23_SPINWHEEL3 1742
 #define MSG_SC23_SPINWHEEL4 1743
+#define MV_CND_0_1 1703
+#define MV_CND_1_2 1706
+#define MV_CND_2_3 1708
+#define MV_CND_3_4 1710
+#define MV_CND_4_5 1712
+#define MV_CND_5_6 1714
+#define MV_CND_6_7 1716
+#define MV_CND_7_8 1718
+#define MV_CND_8_9 1720
+#define MV_CND_9_0 1722
 #define PIC_SC23_BOXCLOSED 1728
 #define PIC_SC23_BOXOPEN 1723
 #define PIC_SC23_BTN1 1729
@@ -808,7 +818,16 @@ namespace Fullpipe {
 #define QU_SC23_FROMCALENDAREXIT 1735
 #define QU_SC23_SHOWSTOOL 3335
 #define QU_SC23_STARTKISS 1822
+#define ST_CND_0 1704
+#define ST_CND_1 1705
+#define ST_CND_2 1707
+#define ST_CND_3 1709
+#define ST_CND_4 1711
 #define ST_CND_5 1713
+#define ST_CND_6 1715
+#define ST_CND_7 1717
+#define ST_CND_8 1719
+#define ST_CND_9 1721
 #define ST_GRFG_BALD 1675
 #define ST_GRFG_EMPTY 1674
 #define ST_GRFU_KISS 1681
diff --git a/engines/fullpipe/scenes/scene23.cpp b/engines/fullpipe/scenes/scene23.cpp
index 29680d4..8989a48 100644
--- a/engines/fullpipe/scenes/scene23.cpp
+++ b/engines/fullpipe/scenes/scene23.cpp
@@ -167,8 +167,41 @@ void sceneHandler23_hideStool() {
 	g_fp->_currentScene->getStaticANIObject1ById(ANI_TABURETTE, -1)->hide();
 }
 
+void sceneHandler23_startKiss() {
+	g_vars->scene23_giraffeTop->changeStatics2(ST_GRFU_UP);
+	g_vars->scene23_giraffeTop->startMQIfIdle(QU_SC23_STARTKISS, 0);
+}
+
 void sceneHandler23_spinWheel1() {
-	warning("STUB: sceneHandler23_spinWheel1()");
+	int mv = 0;
+
+	switch (g_vars->scene23_calend0->_statics->_staticsId) {
+    case ST_CND_0:
+		mv = MV_CND_0_1;
+		break;
+
+    case ST_CND_1:
+		mv = MV_CND_1_2;
+		break;
+
+    case ST_CND_2:
+		mv = MV_CND_2_3;
+		break;
+
+    case ST_CND_3:
+		g_vars->scene23_calend0->changeStatics2(ST_CND_9);
+		mv = MV_CND_9_0;
+		break;
+
+    default:
+		break;
+	}
+
+	if (mv)
+		g_vars->scene23_calend0->startAnim(mv, 0, -1);
+
+	if (sceneHandler23_testCalendar())
+		sceneHandler23_startKiss();
 }
 
 void sceneHandler23_spinWheel2() {
@@ -188,13 +221,30 @@ void sceneHandler23_pushButton(ExCommand *cmd) {
 }
 
 void sceneHandler23_sendClick(StaticANIObject *ani) {
-	warning("STUB: sceneHandler23_sendClick(ani)");
-}
+	int msg = 0;
+	switch (ani->_okeyCode) {
+    case 0:
+		msg = MSG_SC23_CLICKBTN1;
+		break;
+    case 1:
+		msg = MSG_SC23_CLICKBTN2;
+		break;
+    case 2:
+		msg = MSG_SC23_CLICKBTN3;
+		break;
+    case 3:
+		msg = MSG_SC23_CLICKBTN4;
+		break;
+    default:
+		break;
+	}
 
-void sceneHandler23_startKiss() {
-	g_vars->scene23_giraffeTop->changeStatics2(ST_GRFU_UP);
-	g_vars->scene23_giraffeTop->startMQIfIdle(QU_SC23_STARTKISS, 0);
+	ExCommand *ex = new ExCommand(0, 17, msg, 0, 0, 0, 1, 0, 0, 0);
+	ex->_excFlags |= 3;
+
+	ex->postMessage();
 }
+
 void sceneHandler23_checkReachingTop() {
 	if (g_fp->_aniMan->_movement || g_fp->_aniMan->_statics->_staticsId != ST_MAN_STANDLADDER
 		|| g_fp->_aniMan->_ox != 405 || g_fp->_aniMan->_oy != 220)


Commit: e8010719ea60ebb4ab3224d1a7343f56dc13895c
    https://github.com/scummvm/scummvm/commit/e8010719ea60ebb4ab3224d1a7343f56dc13895c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-04T15:30:12-08:00

Commit Message:
FULLPIPE: Implement rest of spinWheel functions

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



diff --git a/engines/fullpipe/scenes/scene23.cpp b/engines/fullpipe/scenes/scene23.cpp
index 8989a48..bdb3a76 100644
--- a/engines/fullpipe/scenes/scene23.cpp
+++ b/engines/fullpipe/scenes/scene23.cpp
@@ -204,16 +204,71 @@ void sceneHandler23_spinWheel1() {
 		sceneHandler23_startKiss();
 }
 
-void sceneHandler23_spinWheel2() {
-	warning("STUB: sceneHandler23_spinWheel2()");
+void sceneHandler23_spinWheel2and4(StaticANIObject *ani) {
+	int mv = 0;
+
+	switch (ani->_statics->_staticsId) {
+    case ST_CND_0:
+		mv = MV_CND_0_1;
+		break;
+
+    case ST_CND_1:
+		mv = MV_CND_1_2;
+		break;
+
+    case ST_CND_2:
+		mv = MV_CND_2_3;
+		break;
+
+    case ST_CND_3:
+		mv = MV_CND_3_4;
+		break;
+
+    case ST_CND_4:
+		mv = MV_CND_4_5;
+		break;
+
+    case ST_CND_5:
+		mv = MV_CND_5_6;
+		break;
+
+    case ST_CND_6:
+		mv = MV_CND_6_7;
+		break;
+
+    case ST_CND_7:
+		mv = MV_CND_7_8;
+		break;
+
+    case ST_CND_8:
+		mv = MV_CND_8_9;
+		break;
+
+    case ST_CND_9:
+		mv = MV_CND_9_0;
+		break;
+
+    default:
+		break;
+	}
+
+	if (mv)
+		ani->startAnim(mv, 0, -1);
+
+	if (sceneHandler23_testCalendar())
+		sceneHandler23_startKiss();
 }
 
 void sceneHandler23_spinWheel3() {
-	warning("STUB: sceneHandler23_spinWheel3()");
-}
+	if (g_vars->scene23_calend2->_statics->_staticsId == ST_CND_0) {
+		g_vars->scene23_calend2->startAnim(MV_CND_0_1, 0, -1);
+	} else if (g_vars->scene23_calend2->_statics->_staticsId == ST_CND_1) {
+		g_vars->scene23_calend2->changeStatics2(ST_CND_9);
+		g_vars->scene23_calend2->startAnim(MV_CND_9_0, 0, -1);
+	}
 
-void sceneHandler23_spinWheel4() {
-	warning("STUB: sceneHandler23_spinWheel4()");
+	if (sceneHandler23_testCalendar())
+		sceneHandler23_startKiss();
 }
 
 void sceneHandler23_pushButton(ExCommand *cmd) {
@@ -310,7 +365,7 @@ int sceneHandler23(ExCommand *cmd) {
 		break;
 
 	case MSG_SC23_SPINWHEEL2:
-		sceneHandler23_spinWheel2();
+		sceneHandler23_spinWheel2and4(g_vars->scene23_calend1);
 		break;
 
 	case MSG_SC23_SPINWHEEL3:
@@ -318,7 +373,7 @@ int sceneHandler23(ExCommand *cmd) {
 		break;
 
 	case MSG_SC23_SPINWHEEL4:
-		sceneHandler23_spinWheel4();
+		sceneHandler23_spinWheel2and4(g_vars->scene23_calend3);
 		break;
 
 	case MSG_SC23_CLICKBTN1:


Commit: fe5454d065ca402e4eccee01224f74186b0445aa
    https://github.com/scummvm/scummvm/commit/fe5454d065ca402e4eccee01224f74186b0445aa
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-04T15:30:12-08:00

Commit Message:
FULLPIPE: Implement sceneHandler23_testCalendar()

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



diff --git a/engines/fullpipe/scenes/scene23.cpp b/engines/fullpipe/scenes/scene23.cpp
index bdb3a76..ed51e26 100644
--- a/engines/fullpipe/scenes/scene23.cpp
+++ b/engines/fullpipe/scenes/scene23.cpp
@@ -37,9 +37,29 @@
 namespace Fullpipe {
 
 bool sceneHandler23_testCalendar() {
-	warning("STUB: sceneHandler23_testCalendar()");
+	int cal0, cal1, cal2, cal3;
 
-	return false;
+	if (g_vars->scene23_calend0->_movement)
+		cal0 = g_vars->scene23_calend0->_movement->_staticsObj2->_staticsId;
+	else
+		cal0 = g_vars->scene23_calend0->_statics->_staticsId;
+
+	if (g_vars->scene23_calend1->_movement)
+		cal1 = g_vars->scene23_calend1->_movement->_staticsObj2->_staticsId;
+	else
+		cal1 = g_vars->scene23_calend1->_statics->_staticsId;
+
+	if (g_vars->scene23_calend2->_movement)
+		cal2 = g_vars->scene23_calend2->_movement->_staticsObj2->_staticsId;
+	else
+		cal2 = g_vars->scene23_calend2->_statics->_staticsId;
+
+	if (g_vars->scene23_calend3->_movement)
+		cal3 = g_vars->scene23_calend3->_movement->_staticsObj2->_staticsId;
+	else
+		cal3 = g_vars->scene23_calend3->_statics->_staticsId;
+
+	return (cal0 == ST_CND_1 && cal1 == ST_CND_4 && cal2 == ST_CND_0 && cal3 == ST_CND_2 && (g_vars->scene23_giraffee->_flags & 4));
 }
 
 void scene23_initScene(Scene *sc) {






More information about the Scummvm-git-logs mailing list