diff options
author | Eugene Sandulenko | 2014-01-13 21:36:27 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-13 21:36:27 +0200 |
commit | f4e6482863e4a242040adc7777e58924ed867ed8 (patch) | |
tree | 735a05eb890541a2f71d86391639845ee68df464 | |
parent | 523b3084808ead8d3841995c1740fd7ce6117736 (diff) | |
download | scummvm-rg350-f4e6482863e4a242040adc7777e58924ed867ed8.tar.gz scummvm-rg350-f4e6482863e4a242040adc7777e58924ed867ed8.tar.bz2 scummvm-rg350-f4e6482863e4a242040adc7777e58924ed867ed8.zip |
FULLPIPE: Implement sceneHandler34_setExits()
-rw-r--r-- | engines/fullpipe/scenes/scene34.cpp | 20 |
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) { |