diff options
author | Eugene Sandulenko | 2014-03-26 23:56:28 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-03-26 23:56:28 +0200 |
commit | 0b691bbbd2d2064638a21cbbf11d83f2c7c2390a (patch) | |
tree | e56be8faa535b7e756b62c8364eca136f04f161c | |
parent | 1c193ed1e5eb6372df181ed70913532d0dcc58f9 (diff) | |
download | scummvm-rg350-0b691bbbd2d2064638a21cbbf11d83f2c7c2390a.tar.gz scummvm-rg350-0b691bbbd2d2064638a21cbbf11d83f2c7c2390a.tar.bz2 scummvm-rg350-0b691bbbd2d2064638a21cbbf11d83f2c7c2390a.zip |
FULLPIPE: Implement sceneHandler29_shoot()
-rw-r--r-- | engines/fullpipe/constants.h | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene29.cpp | 16 |
2 files changed, 19 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 6dc368599b..53f5c87d0b 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1302,6 +1302,8 @@ namespace Fullpipe { #define MV_PTR_MOVEFAST 2102 #define MV_SHG_HITASS 2151 #define MV_SHR_HITASS 2152 +#define MV_STR1_SHOOT 2109 +#define MV_STR2_SHOOT 2112 #define PIC_SC29_LTRUBA 2081 #define QU_SC29_MANFROM_L 2101 #define QU_SC29_MANFROM_R 2104 @@ -1311,6 +1313,8 @@ namespace Fullpipe { #define SND_29_029 4759 #define ST_ASS_NORM 2122 #define ST_MAN29_RUNR 2140 +#define ST_STR1_RIGHT 2143 +#define ST_STR2_RIGHT 2144 // Scene 30 #define ANI_LEG 2322 diff --git a/engines/fullpipe/scenes/scene29.cpp b/engines/fullpipe/scenes/scene29.cpp index 5d885a5af1..0820f768b5 100644 --- a/engines/fullpipe/scenes/scene29.cpp +++ b/engines/fullpipe/scenes/scene29.cpp @@ -313,7 +313,21 @@ void sceneHandler29_assHitRed() { } void sceneHandler29_shoot() { - warning("STUB: sceneHandler29_shoot()"); + if (g_vars->scene29_var10 && g_vars->scene29_var20 < 1310) { + if (g_fp->_rnd->getRandomNumber(1) || g_vars->scene29_shooter1->_movement || g_vars->scene29_shooter1->_statics->_staticsId != ST_STR1_RIGHT) { + if (!g_vars->scene29_shooter2->_movement && g_vars->scene29_shooter2->_statics->_staticsId == ST_STR2_RIGHT) { + if (g_vars->scene29_shooter2->_flags & 4) { + g_vars->scene29_shooter2->startAnim(MV_STR2_SHOOT, 0, -1); + + g_vars->scene29_var13 = 0; + } + } + } else { + g_vars->scene29_shooter1->startAnim(MV_STR1_SHOOT, 0, -1); + + g_vars->scene29_var13 = 0; + } + } } void sceneHandler29_animBearded() { |