[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