diff options
author | Eugene Sandulenko | 2014-01-05 01:06:42 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-05 01:30:11 +0200 |
commit | e601797377cea6a5af5006d6861696831704df67 (patch) | |
tree | 21588e279090e6aa0f95e8f8b9de08e5fa95700f | |
parent | 9fdb5b45208565c1750ad1bfb2089dbadf4f4660 (diff) | |
download | scummvm-rg350-e601797377cea6a5af5006d6861696831704df67.tar.gz scummvm-rg350-e601797377cea6a5af5006d6861696831704df67.tar.bz2 scummvm-rg350-e601797377cea6a5af5006d6861696831704df67.zip |
FULLPIPE: More code to scene23
-rw-r--r-- | engines/fullpipe/constants.h | 3 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene23.cpp | 18 | ||||
-rw-r--r-- | engines/fullpipe/statics.cpp | 4 | ||||
-rw-r--r-- | engines/fullpipe/statics.h | 1 |
4 files changed, 23 insertions, 3 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 8d2941e738..2e2d216858 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 161b38b2e4..29680d40e7 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 d7340324ef..fbf1970ec2 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 0e2e6db1b2..9faf684251 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(); |