diff options
author | Eugene Sandulenko | 2014-01-01 00:39:13 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-01 00:39:13 +0200 |
commit | e17bd0a5540b45a72445802cd6c963d83ed48993 (patch) | |
tree | 04c55ecde1d58f34fd8a4d4d62742bb4bde92a42 /engines/fullpipe | |
parent | fe8dfa3c68e04fa8370df6a0782fcc25e01abd70 (diff) | |
download | scummvm-rg350-e17bd0a5540b45a72445802cd6c963d83ed48993.tar.gz scummvm-rg350-e17bd0a5540b45a72445802cd6c963d83ed48993.tar.bz2 scummvm-rg350-e17bd0a5540b45a72445802cd6c963d83ed48993.zip |
FULLPIPE: Implement sceneHandler14_sub01()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/scenes/scene14.cpp | 34 |
1 files 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; |