aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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() {