aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-13 21:36:27 +0200
committerEugene Sandulenko2014-01-13 21:36:27 +0200
commitf4e6482863e4a242040adc7777e58924ed867ed8 (patch)
tree735a05eb890541a2f71d86391639845ee68df464 /engines/fullpipe
parent523b3084808ead8d3841995c1740fd7ce6117736 (diff)
downloadscummvm-rg350-f4e6482863e4a242040adc7777e58924ed867ed8.tar.gz
scummvm-rg350-f4e6482863e4a242040adc7777e58924ed867ed8.tar.bz2
scummvm-rg350-f4e6482863e4a242040adc7777e58924ed867ed8.zip
FULLPIPE: Implement sceneHandler34_setExits()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/scenes/scene34.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp
index 55217c97c8..ad8c41a50f 100644
--- a/engines/fullpipe/scenes/scene34.cpp
+++ b/engines/fullpipe/scenes/scene34.cpp
@@ -37,7 +37,25 @@
namespace Fullpipe {
void sceneHandler34_setExits() {
- warning("STUB: sceneHandler34_setExits()");
+ int state;
+
+ if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_NearPipeWithStool)) {
+ if (g_fp->getObjectState(sO_Hatch_34) == g_fp->getObjectEnumState(sO_Hatch_34, sO_Closed))
+ state = g_fp->getObjectEnumState(sO_Plank_34, sO_ClosedWithBoot);
+ else
+ state = g_fp->getObjectEnumState(sO_Plank_34, sO_OpenedWithBoot);
+ } else {
+ if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_OnStool)) {
+ if (g_fp->getObjectState(sO_Hatch_34) == g_fp->getObjectEnumState(sO_Hatch_34, sO_Closed))
+ state = g_fp->getObjectEnumState(sO_Plank_34, sO_IsClosed);
+ else
+ state = g_fp->getObjectEnumState(sO_Plank_34, sO_IsOpened);
+ } else {
+ state = g_fp->getObjectEnumState(sO_Plank_34, sO_Passive);
+ }
+ }
+
+ g_fp->setObjectState(sO_Plank_34, state);
}
void scene34_initScene(Scene *sc) {