diff options
author | Eugene Sandulenko | 2013-11-05 23:57:22 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-11-06 00:41:35 +0200 |
commit | 95c7cba9f4c824eca22e77557283600caecb7078 (patch) | |
tree | 070d3704488ce4c46452e560389ca7629a739feb /engines/fullpipe | |
parent | 660381de1b940c50d3d5dcf5c713b8d7b60d9d17 (diff) | |
download | scummvm-rg350-95c7cba9f4c824eca22e77557283600caecb7078.tar.gz scummvm-rg350-95c7cba9f4c824eca22e77557283600caecb7078.tar.bz2 scummvm-rg350-95c7cba9f4c824eca22e77557283600caecb7078.zip |
FULLPIPE: More work on scene03
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/constants.h | 6 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 27 |
2 files changed, 33 insertions, 0 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index c0034e444d..9816ec9968 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -29,6 +29,11 @@ namespace Fullpipe { #define ANI_DOMINO_3 2732 #define ANI_EGGEATER 334 #define ANI_IN1MAN 5110 +#define ANI_INV_EGGAPL 1564 +#define ANI_INV_EGGBOOT 1570 +#define ANI_INV_EGGCOIN 1567 +#define ANI_INV_EGGDOM 1561 +#define ANI_INV_EGGGLS 1573 #define ANI_INV_MAP 5321 #define ANI_LIFTBUTTON 2751 #define ANI_MAN 322 @@ -47,6 +52,7 @@ namespace Fullpipe { #define MSG_SC1_SHOWOSK 1019 #define MSG_SC1_SHOWOSK2 468 #define MSG_SC1_UTRUBACLICK 1100 +#define MV_EGTR_FATASK 5332 #define MV_IN1MAN_SLEEP 5111 #define MV_MAN_GOLADDER 451 #define MV_MAN_GOLADDER2 2844 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index a655ee872c..ce53e91024 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -1600,6 +1600,33 @@ int scene03_updateCursor() { return g_fullpipe->_cursorId; } +void sceneHandler03_eaterFat() { + g_vars->scene03_eggeater->_flags &= 0xFF7F; + + g_vars->scene03_eggeater->startAnim(MV_EGTR_FATASK, 0, -1); +} + +void sceneHandler03_swallowEgg(int item) { + if (!g_vars->swallowedEgg1->_value.intValue) { + g_vars->swallowedEgg1->_value.intValue = item; + } else if (!g_vars->swallowedEgg2->_value.intValue) { + g_vars->swallowedEgg2->_value.intValue = item; + } else if (!g_vars->swallowedEgg3->_value.intValue) { + g_vars->swallowedEgg3->_value.intValue = item; + + g_fullpipe->setObjectState(sO_EggGulperGaveCoin, g_fullpipe->getObjectEnumState(sO_EggGulperGaveCoin, sO_Yes)); + + scene03_setEaterState(); + } +} + +void sceneHandler03_giveItem(ExCommand *ex) { + if (ex->_parentId == ANI_INV_EGGAPL || ex->_parentId == ANI_INV_EGGDOM || + ex->_parentId == ANI_INV_EGGCOIN || ex->_parentId == ANI_INV_EGGBOOT || + ex->_parentId == ANI_INV_EGGGLS) + sceneHandler03_swallowEgg(ex->_parentId); +} + int sceneHandler03(ExCommand *ex) { #if 0 if (ex->_messageKind != 17) { |