aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h2
-rw-r--r--engines/fullpipe/scenes/scene14.cpp32
2 files changed, 30 insertions, 4 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 1b0808eccc..f44b39760d 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -596,7 +596,9 @@ namespace Fullpipe {
#define MSG_SC14_SHOWBALLLAST 3246
#define MSG_SC14_SHOWBALLMAN 1254
#define MSG_SC14_STARTARCADE 3252
+#define MV_BAL14_SPIN 1247
#define MV_MAN14_KICK 1237
+#define MV_MAN14_STEPFW 1240
#define QU_SC14_ENTERLIFT 1225
#define QU_SC14_EXITLIFT 1226
diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index 6bdf4d7fd6..7433a91457 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -106,6 +106,16 @@ int scene14_updateCursor() {
return g_fp->_cursorId;
}
+int sceneHandler14_updateScreenCallback() {
+ int res;
+
+ res = g_fp->drawArcadeOverlay(g_vars->scene14_var03);
+ if (!res)
+ g_fp->_updateScreenCallback = 0;
+
+ return res;
+}
+
void sceneHandler14_showBallGrandmaHit2() {
warning("STUB: sceneHandler14_showBallGrandmaHit2()");
}
@@ -139,11 +149,18 @@ void sceneHandler14_winArcade() {
}
void sceneHandler14_showBallLast() {
- warning("STUB: sceneHandler14_showBallLast()");
+ if (g_vars->scene14_pink) {
+ g_vars->scene14_pink->show1(693, 491, MV_BAL14_SPIN, 0);
+ g_vars->scene14_pink->_priority = 27;
+ }
}
void sceneHandler14_hideBallLast() {
- warning("STUB: sceneHandler14_hideBallLast()");
+ if (g_vars->scene14_pink) {
+ g_vars->scene14_pink->hide();
+ g_vars->scene14_var11.push_back(g_vars->scene14_pink);
+ g_vars->scene14_pink = 0;
+ }
}
void sceneHandler14_startArcade() {
@@ -177,7 +194,8 @@ void sceneHandler14_sub05() {
}
void sceneHandler14_sub06() {
- warning("STUB: sceneHandler14_sub06()");
+ g_fp->_aniMan->_callback2 = 0;
+ g_vars->scene14_var04 = 0;
}
void sceneHandler14_sub07() {
@@ -201,7 +219,13 @@ void sceneHandler14_sub11() {
}
void sceneHandler14_sub12() {
- warning("STUB: sceneHandler14_sub12()");
+ g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000);
+ g_fp->_aniMan->startAnim(MV_MAN14_STEPFW, 0, -1);
+
+ g_vars->scene14_var18 -= 71;
+
+ g_fp->_currentScene->_x = -71;
+ g_fp->_aniMan2 = g_vars->scene14_grandma;
}
void sceneHandler14_sub13() {