[Scummvm-cvs-logs] scummvm master -> 72cc9351912c17defd7b5a5d1de4e5e1ce523f71
sev-
sev at scummvm.org
Wed Feb 19 21:42:39 CET 2014
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
72cc935191 FULLPIPE: Implement sceneHandler09_showBall()
Commit: 72cc9351912c17defd7b5a5d1de4e5e1ce523f71
https://github.com/scummvm/scummvm/commit/72cc9351912c17defd7b5a5d1de4e5e1ce523f71
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-02-19T12:46:58-08:00
Commit Message:
FULLPIPE: Implement sceneHandler09_showBall()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene09.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 525e237..01bb364 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -599,6 +599,7 @@ namespace Fullpipe {
#define MSG_SC9_SHOWBALL 936
#define MSG_SC9_STARTTIOTIA 4942
#define MSG_SC9_TOLADDER 4206
+#define MV_BALL9_EXPLODE 939
#define MV_GLT_FLYAWAY 931
#define MV_MAN9_SHOOT 922
#define MV_VSN_CYCLE2 2987
diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp
index 0679a0c..f8a78be 100644
--- a/engines/fullpipe/scenes/scene09.cpp
+++ b/engines/fullpipe/scenes/scene09.cpp
@@ -305,7 +305,43 @@ void sceneHandler09_eatBall() {
}
void sceneHandler09_showBall() {
- warning("STUB: sceneHandler09_showBall()");
+ if (g_vars->scene09_var07.numBalls) {
+ StaticANIObject *ani = g_vars->scene09_var07.pHead->ani;
+ Ball *ph = g_vars->scene09_var07.pHead;
+ g_vars->scene09_var07.pHead = ph->p0;
+
+ if (g_vars->scene09_var07.pHead)
+ ph->p0->p1 = 0;
+ else
+ g_vars->scene09_var07.field_8 = 0;
+
+ ph->p0 = g_vars->scene09_var07.pTail;
+
+ g_vars->scene09_var07.pTail = ph;
+ g_vars->scene09_var07.numBalls--;
+
+ if (!g_vars->scene09_var07.numBalls) {
+ g_vars->scene09_var07.numBalls = 0;
+ g_vars->scene09_var07.pTail = 0;
+ g_vars->scene09_var07.field_8 = 0;
+ g_vars->scene09_var07.pHead = 0;
+
+ free(g_vars->scene09_var07.cPlex);
+ g_vars->scene09_var07.cPlex = 0;
+ }
+
+ Ball *ball = g_vars->scene09_balls.sub04(g_vars->scene09_balls.field_8, 0);
+ ball->ani = ani;
+
+ if (g_vars->scene09_balls.field_8)
+ g_vars->scene09_balls.field_8->p0 = ball;
+ else
+ g_vars->scene09_balls.pHead = ball;
+
+ g_vars->scene09_balls.field_8 = ball;
+
+ ani->show1(g_fp->_aniMan->_ox + 94, g_fp->_aniMan->_oy - 162, MV_BALL9_EXPLODE, 0);
+ }
}
void sceneHandler09_cycleHangers() {
More information about the Scummvm-git-logs
mailing list