aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-02 16:14:54 +0200
committerEugene Sandulenko2014-01-02 16:14:54 +0200
commit7331a7cbefed7be415da170a32a2549b1c18fd12 (patch)
treeed4376333ecf32a1460097b4c69222b1e588182f /engines/fullpipe/scenes
parentc42648fd00265aadf2708558b8b7d9ef75e613fe (diff)
downloadscummvm-rg350-7331a7cbefed7be415da170a32a2549b1c18fd12.tar.gz
scummvm-rg350-7331a7cbefed7be415da170a32a2549b1c18fd12.tar.bz2
scummvm-rg350-7331a7cbefed7be415da170a32a2549b1c18fd12.zip
FULLPIPE: Implement scene20_setExits()
Diffstat (limited to 'engines/fullpipe/scenes')
-rw-r--r--engines/fullpipe/scenes/scene20.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/fullpipe/scenes/scene20.cpp b/engines/fullpipe/scenes/scene20.cpp
index c10ff2e6b8..45d59718d6 100644
--- a/engines/fullpipe/scenes/scene20.cpp
+++ b/engines/fullpipe/scenes/scene20.cpp
@@ -37,7 +37,25 @@
namespace Fullpipe {
void scene20_setExits(Scene *sc) {
- warning("STUB: scene20_setExits()");
+ int thingpar;
+
+ if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_OnStool)
+ || g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_OnTheFloor))
+ thingpar = 1;
+ else if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_NearPipe)
+ || g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_NearPipeWithStool)) {
+ getSc2MctlCompoundBySceneId(sc->_sceneId)->enableLinks(sO_CloseThing, 1);
+ getSc2MctlCompoundBySceneId(sc->_sceneId)->enableLinks(sO_CloseThing2, 1);
+ getSc2MctlCompoundBySceneId(sc->_sceneId)->enableLinks(sO_CloseThing3, 0);
+
+ return;
+ } else {
+ thingpar = 0;
+ }
+
+ getSc2MctlCompoundBySceneId(sc->_sceneId)->enableLinks(sO_CloseThing, thingpar);
+ getSc2MctlCompoundBySceneId(sc->_sceneId)->enableLinks(sO_CloseThing2, 0);
+ getSc2MctlCompoundBySceneId(sc->_sceneId)->enableLinks(sO_CloseThing3, 1);
}
void scene20_initScene(Scene *sc) {