diff options
Diffstat (limited to 'engines/fullpipe/scenes/scene26.cpp')
-rw-r--r-- | engines/fullpipe/scenes/scene26.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp index a4f23b1210..841e1896bb 100644 --- a/engines/fullpipe/scenes/scene26.cpp +++ b/engines/fullpipe/scenes/scene26.cpp @@ -81,11 +81,20 @@ int scene26_updateCursor() { } void sceneHandler26_updateDrop() { - warning("STUB: sceneHandler26_updateDrop()"); + if (g_fp->getObjectState(sO_Valve5_26) == g_fp->getObjectEnumState(sO_Valve5_26, sO_Closed)) + g_fp->_behaviorManager->setFlagByStaticAniObject(g_vars->scene26_drop, 0); + else + g_fp->_behaviorManager->setFlagByStaticAniObject(g_vars->scene26_drop, 1); +} + +void scene26_setupDrop() { + sceneHandler26_updateDrop(); } void sceneHandler26_showChi() { - warning("STUB: sceneHandler26_showChi()"); + g_vars->scene26_chhi->changeStatics2(ST_CHI_EMPTY); + + chainQueue(QU_CHI_SHOW, 1); } void sceneHandler26_updatePool() { @@ -93,7 +102,9 @@ void sceneHandler26_updatePool() { } void sceneHandler26_hideChi() { - warning("STUB: sceneHandler26_hideChi()"); + g_vars->scene26_chhi->changeStatics2(ST_CHI_NORM); + + chainQueue(QU_CHI_HIDE, 1); } void sceneHandler26_testVent() { @@ -105,7 +116,8 @@ void sceneHandler26_showVent() { } void sceneHandler26_hideVent() { - warning("STUB: sceneHandler26_hideVent()"); + if (g_vars->scene26_var05) + g_vars->scene26_var05->hide(); } void sceneHandler26_clickVent(StaticANIObject *ani, ExCommand *cmd) { |