diff options
-rw-r--r-- | engines/fullpipe/constants.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene32.cpp | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 9f2f8882b7..532cfdcdeb 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1086,7 +1086,9 @@ namespace Fullpipe { #define QU_KBK32_START 4982 #define QU_SC32_ENTERLIFT 2827 #define QU_SC32_EXITLIFT 2828 +#define QU_SC32_FALLHANDLE 5351 #define QU_SC32_SHOWHANDLE 2399 +#define ST_BTN32_OFF 5349 #define ST_BTN32_ON 5350 #define ST_FLG_LEFT 2260 #define ST_FLG_NORM 2259 diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp index fa0ad86c2d..38a29d31c3 100644 --- a/engines/fullpipe/scenes/scene32.cpp +++ b/engines/fullpipe/scenes/scene32.cpp @@ -144,7 +144,15 @@ void sceneHandler32_trySit(ExCommand *cmd) { } void sceneHandler32_buttonPush() { - warning("STUB: sceneHandler32_buttonPush()"); + if (g_fp->getObjectState(sO_ClockHandle) == g_fp->getObjectEnumState(sO_ClockHandle, sO_In_32_Sticks)) { + StaticANIObject *ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_INV_HANDLE, -1); + if (ani) + ani->changeStatics2(ST_HDL_PLUGGED); + + chainQueue(QU_SC32_FALLHANDLE, 1); + + g_vars->scene32_button->changeStatics2(ST_BTN32_OFF); + } } void sceneHandler32_installHandle() { |