aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-18 15:41:05 +0200
committerEugene Sandulenko2013-12-18 15:41:05 +0200
commit4bc2f258a4b5b320a3176071bc2948b987ff00f9 (patch)
tree7e9984a84811947fe4a85243309c1bf0301a3d13 /engines
parentfa94808e31dbcb21175a63e896c1aff90f61caec (diff)
downloadscummvm-rg350-4bc2f258a4b5b320a3176071bc2948b987ff00f9.tar.gz
scummvm-rg350-4bc2f258a4b5b320a3176071bc2948b987ff00f9.tar.bz2
scummvm-rg350-4bc2f258a4b5b320a3176071bc2948b987ff00f9.zip
FULLPIPE: Implement sceneHandler06_sub03()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/constants.h3
-rw-r--r--engines/fullpipe/scenes/scene06.cpp13
2 files changed, 15 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index d449c01ff5..01ab47afdc 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -35,6 +35,7 @@ namespace Fullpipe {
#define ANI_DOMINO_3 2732
#define ANI_DADAYASHIK 306
#define ANI_EGGEATER 334
+#define ANI_EGGIE 4929
#define ANI_HAND 601
#define ANI_HANDLE 622
#define ANI_IN1MAN 5110
@@ -241,6 +242,8 @@ namespace Fullpipe {
#define PIC_SCD_SEL 734
#define QU_BALL_WALKL 4920
#define QU_BALL_WALKR 4919
+#define QU_EGG6_GOL 4936
+#define QU_EGG6_GOR 4935
#define QU_EGTR_MD2_SHOW 4698
#define QU_EGTR_MD1_SHOW 4697
#define QU_EGTR_SLIMSHOW 4883
diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp
index 3b72030e15..f1a6e77b52 100644
--- a/engines/fullpipe/scenes/scene06.cpp
+++ b/engines/fullpipe/scenes/scene06.cpp
@@ -223,7 +223,18 @@ void sceneHandler06_throwBall() {
}
void sceneHandler06_sub03() {
- warning("STUB: sceneHandler06_sub03()");
+ if (15 - g_vars->scene06_numBallsGiven >= 4 && !g_fullpipe->_rnd->getRandomNumber(9)) {
+ StaticANIObject *ani = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_EGGIE, -1);
+ if (!ani || !(ani->_flags & 4)) {
+ if (g_vars->scene06_var15)
+ chainQueue(QU_EGG6_GOR, 0);
+ else
+ chainQueue(QU_EGG6_GOL, 0);
+
+ g_vars->scene06_var14 = 0;
+ g_vars->scene06_var15 = (g_vars->scene06_var15 == 0);
+ }
+ }
}
void sceneHandler06_sub10() {