[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