[Scummvm-cvs-logs] scummvm master -> a90c5369e181e66a4f24cadb0931f9bbfcfd1b48

sev- sev at scummvm.org
Sat Feb 8 11:46:20 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:
a90c5369e1 FULLPIPE: Implement sceneHandler27_sub02()


Commit: a90c5369e181e66a4f24cadb0931f9bbfcfd1b48
    https://github.com/scummvm/scummvm/commit/a90c5369e181e66a4f24cadb0931f9bbfcfd1b48
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-02-08T02:45:32-08:00

Commit Message:
FULLPIPE: Implement sceneHandler27_sub02()

Changed paths:
    engines/fullpipe/scenes/scene27.cpp



diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp
index 20e6850..7564ea2 100644
--- a/engines/fullpipe/scenes/scene27.cpp
+++ b/engines/fullpipe/scenes/scene27.cpp
@@ -560,7 +560,56 @@ void sceneHandler27_calcWinArcade() {
 }
 
 void sceneHandler27_sub02() {
-	warning("STUB: sceneHandler27_sub02()");
+	g_vars->scene27_var10 = 0;
+
+	for (uint i = 0; i < g_vars->scene27_var07.size(); i++) {
+		g_vars->scene27_var07[i]->ani->hide();
+
+		Ball *runPtr = g_vars->scene27_balls.pTail;
+		Ball *lastP = g_vars->scene27_balls.field_8;
+		StaticANIObject *newbat = g_vars->scene27_var07[i]->ani;
+
+		if (!g_vars->scene27_balls.pTail) {
+			g_vars->scene27_balls.cPlex = (Ball *)calloc(g_vars->scene27_balls.cPlexLen, sizeof(Ball));
+
+			Ball *p1 = g_vars->scene27_balls.cPlex + (g_vars->scene27_balls.cPlexLen - 1) * sizeof(Ball);
+
+			if (g_vars->scene27_balls.cPlexLen - 1 < 0) {
+				runPtr = g_vars->scene27_balls.pTail;
+			} else {
+				runPtr = g_vars->scene27_balls.pTail;
+
+				for (int j = 0; j < g_vars->scene27_balls.cPlexLen; j++) {
+					p1->p1 = runPtr;
+					runPtr = p1;
+
+					p1 -= sizeof(Ball);
+				}
+
+				g_vars->scene27_balls.pTail = runPtr;
+			}
+		}
+
+		g_vars->scene27_balls.pTail = runPtr->p0;
+		runPtr->p1 = lastP;
+		runPtr->p0 = 0;
+		runPtr->ani = newbat;
+
+		g_vars->scene27_balls.numBalls++;
+
+		if (g_vars->scene27_balls.field_8)
+			g_vars->scene27_balls.field_8->p0 = runPtr;
+		else
+			g_vars->scene27_balls.pHead = runPtr;
+
+		g_vars->scene27_balls.field_8 = runPtr;
+	}
+
+	g_vars->scene27_var07.clear();
+
+	sceneHandler27_batLogic();
+
+	g_vars->scene27_var11 = 0;
 }
 
 void sceneHandler27_animateBats() {






More information about the Scummvm-git-logs mailing list