aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2013-11-05 23:57:22 +0200
committerEugene Sandulenko2013-11-06 00:41:35 +0200
commit95c7cba9f4c824eca22e77557283600caecb7078 (patch)
tree070d3704488ce4c46452e560389ca7629a739feb /engines/fullpipe/scenes.cpp
parent660381de1b940c50d3d5dcf5c713b8d7b60d9d17 (diff)
downloadscummvm-rg350-95c7cba9f4c824eca22e77557283600caecb7078.tar.gz
scummvm-rg350-95c7cba9f4c824eca22e77557283600caecb7078.tar.bz2
scummvm-rg350-95c7cba9f4c824eca22e77557283600caecb7078.zip
FULLPIPE: More work on scene03
Diffstat (limited to 'engines/fullpipe/scenes.cpp')
-rw-r--r--engines/fullpipe/scenes.cpp27
1 files changed, 27 insertions, 0 deletions
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) {