diff options
-rw-r--r-- | engines/fullpipe/scenes/scene08.cpp | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp index 1452744b7a..c48fa72930 100644 --- a/engines/fullpipe/scenes/scene08.cpp +++ b/engines/fullpipe/scenes/scene08.cpp @@ -182,8 +182,34 @@ void sceneHandler08_calcFlight() { warning("STUB: sceneHandler08_calcFlight()"); } +void sceneHandler08_finishArcade() { + g_vars->scene08_var06 = 0; + + getGameLoaderInteractionController()->enableFlag24(); + getCurrSceneSc2MotionController()->setEnabled(); +} + void sceneHandler08_checkEndArcade() { - warning("STUB: sceneHandler08_checkEndArcade()"); + if (g_vars->scene08_var02) { + int x = g_fp->_aniMan->_ox; + int y = g_vars->scene08_var08 + g_fp->_aniMan->_oy; + + if (!((g_vars->scene08_var08 + g_fp->_aniMan->_oy) % 3)) + g_vars->scene08_var08--; + + g_fp->_aniMan->setOXY(x, y); + + if (y < 80) { + sceneHandler08_finishArcade(); + + ExCommand *ex = new ExCommand(SC_8, 17, 0, 0, 0, 0, 1, 0, 0, 0); + ex->_messageNum = 61; + ex->_excFlags |= 2; + ex->_keyCode = TrubaUp; + + ex->postMessage(); + } + } } void sceneHandler08_badLuck() { @@ -212,13 +238,6 @@ void sceneHandler08_calcOffset() { warning("STUB: sceneHandler08_calcOffset()"); } -void sceneHandler08_finishArcade() { - g_vars->scene08_var06 = 0; - - getGameLoaderInteractionController()->enableFlag24(); - getCurrSceneSc2MotionController()->setEnabled(); -} - void sceneHandler08_jumpOff() { warning("STUB: sceneHandler08_jumpOff()"); } |