diff options
-rw-r--r-- | engines/fullpipe/constants.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene14.cpp | 27 |
2 files changed, 22 insertions, 6 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 5cfcc57dc5..e36b7870f8 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -599,6 +599,7 @@ namespace Fullpipe { #define MV_BAL14_SPIN 1247 #define MV_BAL14_TOGMA 3214 #define MV_MAN14_KICK 1237 +#define MV_MAN14_KICKAIR 1256 #define MV_MAN14_STEPFW 1240 #define PIC_SC14_RTRUBA 1221 #define ST_GMA_SIT 1229 diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp index f5ed3e0db3..1a9c87eaa8 100644 --- a/engines/fullpipe/scenes/scene14.cpp +++ b/engines/fullpipe/scenes/scene14.cpp @@ -351,8 +351,28 @@ void sceneHandler14_sub01() { warning("STUB: sceneHandler14_sub01()"); } +void sceneHandler14_sub06() { + g_fp->_aniMan->_callback2 = 0; + g_vars->scene14_var04 = 0; +} + void sceneHandler14_sub02() { - warning("STUB: sceneHandler14_sub02()"); + if (g_fp->_aniMan->_movement) { + sceneHandler14_sub06(); + + if (g_vars->scene14_var10 && g_vars->scene14_var14 - g_vars->scene14_var10->_ox < 180) { + g_fp->_aniMan->changeStatics2(g_fp->_aniMan->_movement->_staticsObj2->_staticsId); + g_fp->_aniMan->startAnim(MV_MAN14_KICK, 0, -1); + + g_vars->scene14_var05 = 0; + + g_vars->scene14_var10->stopAnim_maybe(); + g_vars->scene14_var10->hide(); + } else { + g_fp->_aniMan->changeStatics2(g_fp->_aniMan->_movement->_staticsObj2->_staticsId); + g_fp->_aniMan->startAnim(MV_MAN14_KICKAIR, 0, -1); + } + } } void sceneHandler14_sub03() { @@ -369,11 +389,6 @@ void sceneHandler14_sub05() { warning("STUB: sceneHandler14_sub05()"); } -void sceneHandler14_sub06() { - g_fp->_aniMan->_callback2 = 0; - g_vars->scene14_var04 = 0; -} - void sceneHandler14_sub07() { warning("STUB: sceneHandler14_sub07()"); } |