[Scummvm-cvs-logs] scummvm master -> 63f80c365f9f9b5622fda6a6fd888efd95dc7243

sev- sev at scummvm.org
Tue Dec 31 18:02:23 CET 2013


This automated email contains information about 7 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f643fd8fea FULLPIPE: Implement sceneHandler14_endArcade()
fa472d3118 FULLPIPE: Fix out-of-bounds read.
16e510f78c FULLPIPE: Remove redundant check. CID 1147505
3209d5c0f3 FULLPIPE: Implement sceneHandler14_grandmaJump()
5b13fe488c FULLPIPE: Implement sceneHandler14_manKickBall()
5e43ec5bdb FULLPIPE: More code to scene14
63f80c365f FULLPIPE: Implement sceneHandler14_sub13()


Commit: f643fd8fea0f62282b9a8cf784755d6d16f921a8
    https://github.com/scummvm/scummvm/commit/f643fd8fea0f62282b9a8cf784755d6d16f921a8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T08:02:28-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_endArcade()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene14.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index f44b397..d75d6b7 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -599,6 +599,10 @@ namespace Fullpipe {
 #define MV_BAL14_SPIN 1247
 #define MV_MAN14_KICK 1237
 #define MV_MAN14_STEPFW 1240
+#define ST_GMA_SIT 1229
+#define QU_GMA_BLINK 1252
+#define QU_GMA_THROW 1255
+
 #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 7433a91..385f926 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -32,7 +32,7 @@
 
 #include "fullpipe/interaction.h"
 #include "fullpipe/behavior.h"
-
+#include "fullpipe/input.h"
 
 namespace Fullpipe {
 
@@ -168,7 +168,28 @@ void sceneHandler14_startArcade() {
 }
 
 void sceneHandler14_endArcade() {
-	warning("STUB: sceneHandler14_endArcade()");
+	g_vars->scene14_var03 = 0;
+
+	setInputDisabled(0);
+
+	getGameLoaderInteractionController()->enableFlag24();
+	getCurrSceneSc2MotionController()->setEnabled();
+
+	BehaviorEntryInfo *beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene14_grandma, ST_GMA_SIT, QU_GMA_BLINK);
+	if (beh)
+		beh->_percent = 327;
+
+	beh = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene14_grandma, ST_GMA_SIT, QU_GMA_THROW);
+	if (beh)
+		beh->_percent = 0;
+
+	g_vars->scene14_var01 = 200;
+	g_vars->scene14_var02 = 200;
+
+	g_fp->_aniMan2 = g_fp->_aniMan;
+
+	g_vars->scene14_var07 = 300;
+	g_vars->scene14_var08 = 300;
 }
 
 void sceneHandler14_sub01() {


Commit: fa472d31185424c66b5687c2b8812efe2bd8fe8e
    https://github.com/scummvm/scummvm/commit/fa472d31185424c66b5687c2b8812efe2bd8fe8e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T08:06:25-08:00

Commit Message:
FULLPIPE: Fix out-of-bounds read.

Changed paths:
    engines/fullpipe/scenes.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 835f324..d2dc621 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -259,7 +259,7 @@ int FullpipeEngine::convertScene(int scene) {
 }
 
 int FullpipeEngine::getSceneEntrance(int scene) {
-	for (int i = 0; i < 41; i++)
+	for (int i = 0; i < 40; i++)
 		if (scenes[i] == scene)
 			return scenesD[i];
 


Commit: 16e510f78ca1cbc67924cf0521e7712fc51d94d0
    https://github.com/scummvm/scummvm/commit/16e510f78ca1cbc67924cf0521e7712fc51d94d0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T08:07:47-08:00

Commit Message:
FULLPIPE: Remove redundant check. CID 1147505

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



diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index 385f926..e596c21 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -56,10 +56,8 @@ void scene14_initScene(Scene *sc) {
 
 		StaticANIObject *ball = sc->getStaticANIObject1ById(ANI_BALL14, -1);
 
-		if (ball) {
-			ball->_flags &= 0xFFFB;
-			g_vars->scene14_var11.push_back(ball);
-		}
+		ball->_flags &= 0xFFFB;
+		g_vars->scene14_var11.push_back(ball);
 		
 		for (uint i = 0; i < 3; i++) {
 			ball = new StaticANIObject(ball); // create a copy


Commit: 3209d5c0f3620bb141e45da287f25cf4d576dd8e
    https://github.com/scummvm/scummvm/commit/3209d5c0f3620bb141e45da287f25cf4d576dd8e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T08:12:40-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_grandmaJump()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene14.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index d75d6b7..68c5b67 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -601,6 +601,8 @@ namespace Fullpipe {
 #define MV_MAN14_STEPFW 1240
 #define ST_GMA_SIT 1229
 #define QU_GMA_BLINK 1252
+#define QU_GMA_JUMPBK 1251
+#define QU_GMA_JUMPFW 1249
 #define QU_GMA_THROW 1255
 
 #define QU_SC14_ENTERLIFT 1225
diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index e596c21..88f4e8e 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -139,7 +139,16 @@ void sceneHandler14_showBallFly() {
 }
 
 void sceneHandler14_grandmaJump() {
-	warning("STUB: sceneHandler14_grandmaJump()");
+	BehaviorEntryInfo *beh1 = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene14_grandma, ST_GMA_SIT, QU_GMA_JUMPFW);
+	BehaviorEntryInfo *beh2 = g_fp->_behaviorManager->getBehaviorEntryInfoByMessageQueueDataId(g_vars->scene14_grandma, ST_GMA_SIT, QU_GMA_JUMPBK);
+
+	if (beh1) {
+		if (beh2) {
+			int p = beh1->_percent;
+			beh1->_percent = beh2->_percent;
+			beh2->_percent = p;
+		}
+	}
 }
 
 void sceneHandler14_winArcade() {


Commit: 5b13fe488cd4b9fe2d59cb44e14605346e156117
    https://github.com/scummvm/scummvm/commit/5b13fe488cd4b9fe2d59cb44e14605346e156117
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T08:27:24-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_manKickBall()

Changed paths:
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h
    engines/fullpipe/scenes/scene14.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index d2dc621..31753b9 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -218,6 +218,10 @@ Vars::Vars() {
 	scene14_var17 = 0;
 	scene14_var18 = 0;
 	scene14_var19 = 0;
+	scene14_var20 = 0;
+	scene14_var21 = 0;
+	scene14_var22 = 0;
+	scene14_var23 = 0;
 
 	scene15_chantingCountdown = 0;
 	scene15_plusminus = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 93abacd..db7aa12 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -284,7 +284,7 @@ public:
 	int scene14_var07;
 	int scene14_var08;
 	StaticANIObject *scene14_pink;
-	int scene14_var10;
+	StaticANIObject *scene14_var10;
 	Common::List<StaticANIObject *> scene14_var11;
 	Common::List<StaticANIObject *> scene14_var12;
 	int scene14_var13;
@@ -294,6 +294,10 @@ public:
 	int scene14_var17;
 	int scene14_var18;
 	int scene14_var19;
+	int scene14_var20;
+	int scene14_var21;
+	int scene14_var22;
+	int scene14_var23;
 
 	int scene15_chantingCountdown;
 	StaticANIObject *scene15_plusminus;
diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index 88f4e8e..e687270 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -131,7 +131,23 @@ void sceneHandler14_showBallMan() {
 }
 
 void sceneHandler14_manKickBall() {
-	warning("STUB: sceneHandler14_manKickBall()");
+	int val = (g_vars->scene14_var16 + 65 - (g_vars->scene14_var14 - 85)) / -32;
+	int den = val;
+
+	g_vars->scene14_var22 = g_vars->scene14_var14 - 85;
+	g_vars->scene14_var23 = g_vars->scene14_var15 - 76;
+	g_vars->scene14_var20 = -32;
+
+	if (!val)
+		den = 1;
+
+	g_vars->scene14_var21 = (g_vars->scene14_var17 - 102 - val * val / 2 - (g_vars->scene14_var15 - 76)) / den;
+
+	g_vars->scene14_var10->show1(g_vars->scene14_var14 - 85, g_vars->scene14_var15 - 76, -1, 0);
+	g_vars->scene14_var10->startAnim(MV_BAL14_SPIN, 0, -1);
+	g_vars->scene14_var10->_priority = 5;
+
+	g_vars->scene14_var05 = 1;
 }
 
 void sceneHandler14_showBallFly() {


Commit: 5e43ec5bdba34146915a1ebb571bbe0a6a66849e
    https://github.com/scummvm/scummvm/commit/5e43ec5bdba34146915a1ebb571bbe0a6a66849e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T08:32:44-08:00

Commit Message:
FULLPIPE: More code to scene14

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



diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index e687270..a25ee4e 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -115,11 +115,25 @@ int sceneHandler14_updateScreenCallback() {
 }
 
 void sceneHandler14_showBallGrandmaHit2() {
-	warning("STUB: sceneHandler14_showBallGrandmaHit2()");
+	if (g_vars->scene14_var10) {
+		g_vars->scene14_var10->show1(g_vars->scene14_var16 + 223, g_vars->scene14_var17 + 35, MV_BAL14_SPIN, 0);
+		g_vars->scene14_var10->_priority = 27;
+
+		g_vars->scene14_pink = g_vars->scene14_var10;
+
+		g_vars->scene14_var10 = 0;
+	}
 }
 
 void sceneHandler14_showBallGrandmaDive() {
-	warning("STUB: sceneHandler14_showBallGrandmaDive()");
+	if (g_vars->scene14_var10) {
+		g_vars->scene14_var10->show1(g_vars->scene14_var16 + 506, g_vars->scene14_var17 - 29, -1, 0);
+
+		g_vars->scene14_var11.push_back(g_vars->scene14_var10);
+		g_vars->scene14_var10 = 0;
+	}
+
+	g_fp->_aniMan2 = g_fp->_aniMan;
 }
 
 void sceneHandler14_showBallGrandmaHit() {


Commit: 63f80c365f9f9b5622fda6a6fd888efd95dc7243
    https://github.com/scummvm/scummvm/commit/63f80c365f9f9b5622fda6a6fd888efd95dc7243
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T08:38:51-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_sub13()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene14.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 68c5b67..2b1d010 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -599,12 +599,13 @@ namespace Fullpipe {
 #define MV_BAL14_SPIN 1247
 #define MV_MAN14_KICK 1237
 #define MV_MAN14_STEPFW 1240
+#define PIC_SC14_RTRUBA 1221
 #define ST_GMA_SIT 1229
 #define QU_GMA_BLINK 1252
 #define QU_GMA_JUMPBK 1251
 #define QU_GMA_JUMPFW 1249
 #define QU_GMA_THROW 1255
-
+#define QU_SC14_ENDARCADE 1391
 #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 a25ee4e..94b6d23f 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -287,7 +287,21 @@ void sceneHandler14_sub12() {
 }
 
 void sceneHandler14_sub13() {
-	warning("STUB: sceneHandler14_sub13()");
+	g_vars->scene14_var03 = 0;
+
+	if (g_fp->_aniMan->_movement)
+		g_fp->_aniMan->_movement->gotoLastFrame();
+
+	g_fp->_aniMan->stopAnim_maybe();
+
+	handleObjectInteraction(g_fp->_aniMan, g_fp->_currentScene->getPictureObjectById(PIC_SC14_RTRUBA, 0), 0);
+
+	g_vars->scene14_grandma->changeStatics2(ST_GMA_SIT);
+
+	chainQueue(QU_SC14_ENDARCADE, 0);
+
+	getGameLoaderInteractionController()->disableFlag24();
+	getCurrSceneSc2MotionController()->clearEnabled();
 }
 
 int sceneHandler14(ExCommand *cmd) {






More information about the Scummvm-git-logs mailing list