diff options
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene27.cpp | 26 |
2 files changed, 26 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 10b2f134b8..561c1af20f 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1096,6 +1096,7 @@ namespace Fullpipe { #define MSG_SC27_STARTWIPE 2057 #define MSG_SC27_TAKEVENT 4584 #define MV_MAN27_FLOW 1990 +#define MV_MAN27_THROWBET 1989 #define PIC_SC27_HITZONE2 4756 #define SND_27_027 4128 #define SND_27_044 4687 diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 529e0d6c1e..24f2e50c59 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -180,8 +180,32 @@ void sceneHandler27_showNextBat() { warning("STUB: sceneHandler27_showNextBat()"); } +int sceneHandler27_updateScreenCallback() { + warning("STUB: sceneHandler27_updateScreenCallback()"); + + return 0; +} + +void sceneHandler27_aniManCallback(int *arg) { + warning("STUB: sceneHandler27_aniManCallback()"); +} + void sceneHandler27_throwBat() { - warning("STUB: sceneHandler27_throwBat()"); + if (getGameLoaderInteractionController()->_flag24) + g_fp->_updateScreenCallback = sceneHandler27_updateScreenCallback; + + g_fp->_aniMan->_callback2 = sceneHandler27_aniManCallback; + + g_fp->_aniMan->startAnim(MV_MAN27_THROWBET, 0, -1); + + getCurrSceneSc2MotionController()->clearEnabled(); + getGameLoaderInteractionController()->disableFlag24(); + + g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0); + + g_vars->scene27_var09 = 0; + + g_vars->scene27_bat->hide(); } void sceneHandler27_clickBat(ExCommand *cmd) { |