diff options
author | Eugene Sandulenko | 2013-12-31 18:27:24 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-31 18:27:24 +0200 |
commit | 5b13fe488cd4b9fe2d59cb44e14605346e156117 (patch) | |
tree | 81561ae37e07aa46227d7e54dae9922c36d8fe66 /engines/fullpipe | |
parent | 3209d5c0f3620bb141e45da287f25cf4d576dd8e (diff) | |
download | scummvm-rg350-5b13fe488cd4b9fe2d59cb44e14605346e156117.tar.gz scummvm-rg350-5b13fe488cd4b9fe2d59cb44e14605346e156117.tar.bz2 scummvm-rg350-5b13fe488cd4b9fe2d59cb44e14605346e156117.zip |
FULLPIPE: Implement sceneHandler14_manKickBall()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/scenes.cpp | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 6 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene14.cpp | 18 |
3 files changed, 26 insertions, 2 deletions
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index d2dc6214ec..31753b90af 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -218,6 +218,10 @@ Vars::Vars() { scene14_var17 = 0; scene14_var18 = 0; scene14_var19 = 0; + scene14_var20 = 0; + scene14_var21 = 0; + scene14_var22 = 0; + scene14_var23 = 0; scene15_chantingCountdown = 0; scene15_plusminus = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 93abacdc85..db7aa12372 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -284,7 +284,7 @@ public: int scene14_var07; int scene14_var08; StaticANIObject *scene14_pink; - int scene14_var10; + StaticANIObject *scene14_var10; Common::List<StaticANIObject *> scene14_var11; Common::List<StaticANIObject *> scene14_var12; int scene14_var13; @@ -294,6 +294,10 @@ public: int scene14_var17; int scene14_var18; int scene14_var19; + int scene14_var20; + int scene14_var21; + int scene14_var22; + int scene14_var23; int scene15_chantingCountdown; StaticANIObject *scene15_plusminus; diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp index 88f4e8e58d..e68727042a 100644 --- a/engines/fullpipe/scenes/scene14.cpp +++ b/engines/fullpipe/scenes/scene14.cpp @@ -131,7 +131,23 @@ void sceneHandler14_showBallMan() { } void sceneHandler14_manKickBall() { - warning("STUB: sceneHandler14_manKickBall()"); + int val = (g_vars->scene14_var16 + 65 - (g_vars->scene14_var14 - 85)) / -32; + int den = val; + + g_vars->scene14_var22 = g_vars->scene14_var14 - 85; + g_vars->scene14_var23 = g_vars->scene14_var15 - 76; + g_vars->scene14_var20 = -32; + + if (!val) + den = 1; + + g_vars->scene14_var21 = (g_vars->scene14_var17 - 102 - val * val / 2 - (g_vars->scene14_var15 - 76)) / den; + + g_vars->scene14_var10->show1(g_vars->scene14_var14 - 85, g_vars->scene14_var15 - 76, -1, 0); + g_vars->scene14_var10->startAnim(MV_BAL14_SPIN, 0, -1); + g_vars->scene14_var10->_priority = 5; + + g_vars->scene14_var05 = 1; } void sceneHandler14_showBallFly() { |