[Scummvm-cvs-logs] scummvm master -> 7cd0da64f5eede4296655164f4db7e74230e7441
sev-
sev at scummvm.org
Sun Dec 15 15:37:03 CET 2013
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
c61db56a48 FULLPIPE: Implement void sceneHandler05_handleUp() and void sceneHandler05_handleDown()
7cd0da64f5 FULLPIPE: Implement sceneHandler05_testHatch()
Commit: c61db56a48ad44b0aca8ad83b61013c25c4ab468
https://github.com/scummvm/scummvm/commit/c61db56a48ad44b0aca8ad83b61013c25c4ab468
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-15T06:36:17-08:00
Commit Message:
FULLPIPE: Implement void sceneHandler05_handleUp() and void sceneHandler05_handleDown()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene05.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index d2e295f..be47e0d 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -117,6 +117,8 @@ namespace Fullpipe {
#define MSG_TAKEKOZAW 611
#define MSG_TESTPLANK 538
#define MSG_UPDATEBOTTLE 613
+#define MV_BLK_CLOSE 911
+#define MV_BLK_OPEN 910
#define MV_EGTR_FATASK 5332
#define MV_IN1MAN_SLEEP 5111
#define MV_KZW_GOR 564
diff --git a/engines/fullpipe/scenes/scene05.cpp b/engines/fullpipe/scenes/scene05.cpp
index 4b61f5b..cbeb6c4 100644
--- a/engines/fullpipe/scenes/scene05.cpp
+++ b/engines/fullpipe/scenes/scene05.cpp
@@ -121,12 +121,30 @@ void sceneHandler05_makeWackoFeedback() {
}
}
+void sceneHandler05_resetTicks() {
+ if (g_fullpipe->_aniMan->_movement && (g_fullpipe->_aniMan->_movement->_id == MV_MANHDL_HANDLEUP
+ || g_fullpipe->_aniMan->_movement->_id == MV_MANHDL_HANDLEDOWN))
+ g_vars->scene05_var01 = g_fullpipe->_updateTicks;
+ else
+ g_vars->scene05_var01 = 0;
+}
+
+void sceneHandler05_genFlies() {
+ warning("STUB: sceneHandler05_genFlies()");
+}
+
void sceneHandler05_showHandle() {
g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_HANDLE, -1)->show1(-1, -1, -1, 0);
}
void sceneHandler05_handleDown() {
- warning("STUB: sceneHandler05_handleDown()");
+ StaticANIObject *hatch = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BIGLUK, -1);
+
+ hatch->changeStatics2(ST_BLK_CLOSED);
+ hatch->startAnim(MV_BLK_OPEN, 0, -1);
+
+ sceneHandler05_resetTicks();
+ sceneHandler05_genFlies();
}
void sceneHandler05_hideHandle() {
@@ -134,7 +152,12 @@ void sceneHandler05_hideHandle() {
}
void sceneHandler05_handleUp() {
- warning("STUB: sceneHandler05_handleUp()");
+ StaticANIObject *hatch = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BIGLUK, -1);
+
+ hatch->changeStatics2(ST_BLK_OPEN);
+ hatch->startAnim(MV_BLK_CLOSE, 0, -1);
+
+ sceneHandler05_resetTicks();
}
void sceneHandler05_testHatch(ExCommand *ex) {
Commit: 7cd0da64f5eede4296655164f4db7e74230e7441
https://github.com/scummvm/scummvm/commit/7cd0da64f5eede4296655164f4db7e74230e7441
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-15T06:36:17-08:00
Commit Message:
FULLPIPE: Implement sceneHandler05_testHatch()
Changed paths:
engines/fullpipe/scenes/scene05.cpp
diff --git a/engines/fullpipe/scenes/scene05.cpp b/engines/fullpipe/scenes/scene05.cpp
index cbeb6c4..f050913 100644
--- a/engines/fullpipe/scenes/scene05.cpp
+++ b/engines/fullpipe/scenes/scene05.cpp
@@ -160,8 +160,119 @@ void sceneHandler05_handleUp() {
sceneHandler05_resetTicks();
}
-void sceneHandler05_testHatch(ExCommand *ex) {
- warning("STUB: sceneHandler05_testHatch()");
+void sceneHandler05_testHatch(ExCommand *inex) {
+ ExCommand *ex;
+
+ if (g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BIGLUK, -1)->_statics->_staticsId == ST_BLK_CLOSED) {
+ ex = new ExCommand(SC_5, 17, 61, 0, 0, 0, 1, 0, 0, 0);
+ ex->_keyCode = TrubaLeft;
+ ex->_excFlags |= 2;
+ ex->postMessage();
+
+ return;
+ }
+
+ StaticANIObject *wacko = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_OTMOROZ, -1);
+
+ if (wacko->_movement)
+ wacko->changeStatics2(wacko->_movement->_staticsObj2->_staticsId);
+
+ if (g_fullpipe->getObjectState(sO_WeirdWacko) == g_fullpipe->getObjectEnumState(sO_WeirdWacko, sO_InGlasses)) {
+ MessageQueue *mq = g_fullpipe->_globalMessageQueueList->getMessageQueueById(inex->_parId);
+
+ if (mq)
+ mq->deleteExCommandByIndex(mq->getCount() - 1, 1);
+
+ if (wacko->_statics->_staticsId != ST_OTM_GLS_LEFT) {
+ mq = wacko->changeStatics1(ST_OTM_GLS_LEFT);
+
+ if (!mq) {
+ wacko->changeStatics2(ST_OTM_GLS_LEFT);
+ mq = new MessageQueue(g_fullpipe->_globalMessageQueueList->compact());
+ }
+
+ mq->setFlags(mq->getFlags() | 1);
+
+ ex = new ExCommand(ANI_OTMOROZ, 1, MV_OTM_HANDLEUP, 0, 0, 0, 1, 0, 0, 0);
+ ex->_excFlags |= 2u;
+ mq->addExCommandToEnd(ex);
+
+ ex = new ExCommand(SC_5, 17, 61, 0, 0, 0, 1, 0, 0, 0);
+ ex->_keyCode = TrubaLeft;
+ ex->_excFlags |= 2;
+ mq->addExCommandToEnd(ex);
+
+ mq->_isFinished = 0;
+ return;
+ }
+
+ mq = new MessageQueue(g_fullpipe->_globalMessageQueueList->compact());
+ mq->setFlags(mq->getFlags() | 1);
+
+ ex = new ExCommand(ANI_OTMOROZ, 1, MV_OTM_HANDLEUP, 0, 0, 0, 1, 0, 0, 0);
+ ex->_excFlags |= 2;
+ mq->addExCommandToEnd(ex);
+
+ ex = new ExCommand(SC_5, 17, 61, 0, 0, 0, 1, 0, 0, 0);
+ ex->_keyCode = TrubaLeft;
+ ex->_excFlags |= 2;
+ mq->addExCommandToEnd(ex);
+
+ if (!mq->chain(wacko))
+ delete mq;
+ } else if (g_fullpipe->getObjectState(sO_WeirdWacko) == g_fullpipe->getObjectEnumState(sO_WeirdWacko, sO_WithDrawer)) {
+ MessageQueue *mq = g_fullpipe->_globalMessageQueueList->getMessageQueueById(inex->_parId);
+
+ if (mq)
+ mq->deleteExCommandByIndex(mq->getCount() - 1, 1);
+
+ if (wacko->_statics->_staticsId != ST_OTM_BOX_LEFT) {
+ mq = wacko->changeStatics1(ST_OTM_BOX_LEFT);
+ if (!mq) {
+ wacko->changeStatics2(ST_OTM_BOX_LEFT);
+ mq = new MessageQueue(g_fullpipe->_globalMessageQueueList->compact());
+ }
+
+ mq->setFlags(mq->getFlags() | 1);
+
+ ex = new ExCommand(ANI_OTMOROZ, 1, MV_OTM_BOXHANDLEUP, 0, 0, 0, 1, 0, 0, 0);
+ ex->_excFlags |= 2;
+ mq->addExCommandToEnd(ex);
+
+ ex = new ExCommand(SC_5, 17, 61, 0, 0, 0, 1, 0, 0, 0);
+ ex->_keyCode = TrubaLeft;
+ ex->_excFlags |= 2;
+ mq->addExCommandToEnd(ex);
+
+ mq->_isFinished = 0;
+
+ return;
+ }
+
+ mq = new MessageQueue(g_fullpipe->_globalMessageQueueList->compact());
+ mq->setFlags(mq->getFlags() | 1);
+
+ ex = new ExCommand(ANI_OTMOROZ, 1, MV_OTM_BOXHANDLEUP, 0, 0, 0, 1, 0, 0, 0);
+ ex->_excFlags |= 2;
+ mq->addExCommandToEnd(ex);
+
+ ex = new ExCommand(SC_5, 17, 61, 0, 0, 0, 1, 0, 0, 0);
+ ex->_keyCode = TrubaLeft;
+ ex->_excFlags |= 2;
+ mq->addExCommandToEnd(ex);
+
+ if (!mq->chain(wacko))
+ delete mq;
+
+ return;
+ } else {
+ ex = new ExCommand(SC_5, 17, 61, 0, 0, 0, 1, 0, 0, 0);
+ ex->_keyCode = TrubaLeft;
+ ex->_excFlags |= 2;
+ ex->postMessage();
+
+ return;
+ }
}
@@ -226,7 +337,7 @@ int sceneHandler05(ExCommand *ex) {
}
if (g_vars->scene05_var01) {
- if ((g_fullpipe->_updateTicks - g_vars->scene05_var01) > 62 ) {
+ if ((g_fullpipe->_updateTicks - g_vars->scene05_var01) > 62) {
if (!g_fullpipe->_aniMan->_movement || (g_fullpipe->_aniMan->_movement->_id != MV_MANHDL_HANDLEUP
&& g_fullpipe->_aniMan->_movement->_id != MV_MANHDL_HANDLEDOWN)) {
if (g_vars->scene05_var02 % 2)
More information about the Scummvm-git-logs
mailing list