From e17bd0a5540b45a72445802cd6c963d83ed48993 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 1 Jan 2014 00:39:13 +0200 Subject: FULLPIPE: Implement sceneHandler14_sub01() --- engines/fullpipe/scenes/scene14.cpp | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp index 00f5647aba..ca2b34bf0c 100644 --- a/engines/fullpipe/scenes/scene14.cpp +++ b/engines/fullpipe/scenes/scene14.cpp @@ -380,10 +380,6 @@ void sceneHandler14_startArcade() { g_fp->_updateScreenCallback = sceneHandler14_updateScreenCallback; } -void sceneHandler14_sub01() { - warning("STUB: sceneHandler14_sub01()"); -} - void sceneHandler14_sub06() { g_fp->_aniMan->_callback2 = 0; g_vars->scene14_var04 = 0; @@ -626,6 +622,36 @@ void sceneHandler14_sub11() { } } +void sceneHandler14_sub01() { + int x = g_vars->scene14_var20 + g_vars->scene14_var22; + int y = g_vars->scene14_var21 + g_vars->scene14_var23; + + g_vars->scene14_var22 += g_vars->scene14_var20; + g_vars->scene14_var23 += g_vars->scene14_var21; + + g_vars->scene14_var21++; + + if (g_vars->scene14_var21 - 1 + g_vars->scene14_var23 > 517) { + if (x <= g_vars->scene14_var14 - 16 ) { + if ( g_vars->scene14_var20 >= 0 || x >= g_vars->scene14_var16 + 65 || x <= g_vars->scene14_var16 - 135 || y <= g_vars->scene14_var17 - 102 ) { + if (g_vars->scene14_var10->_movement) + g_vars->scene14_var10->_movement->setOXY(x, y); + else + g_vars->scene14_var10->setOXY(x, y); + } else { + sceneHandler14_sub11(); + g_vars->scene14_var05 = 0; + } + } else { + sceneHandler14_sub09(); + g_vars->scene14_var05 = 0; + } + } else { + sceneHandler14_sub07(); + g_vars->scene14_var05 = 0; + } +} + int sceneHandler14(ExCommand *cmd) { if (cmd->_messageKind != 17) return 0; -- cgit v1.2.3