aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h2
-rw-r--r--engines/fullpipe/scenes/scene32.cpp10
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() {