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

sev- sev at scummvm.org
Tue Dec 31 23:39:55 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:
5391fa723a FULLPIPE: Implement sceneHandler_sub07()
784d10531c FULLPIPE: More code to scene14
07dfc7993c FULLPIPE: Implement sceneHandler14_sub10()
05efe75ebe FULLPIPE: Implement sceneHandler14_sub11()
79b8e0078b FULLPIPE: Implement sceneHandler14_winArcade()
fe8dfa3c68 FULLPIPE: Implement sceneHandler14_sub04()
e17bd0a554 FULLPIPE: Implement sceneHandler14_sub01()


Commit: 5391fa723aa82cb23dc809c8a42ecd18de72aeaa
    https://github.com/scummvm/scummvm/commit/5391fa723aa82cb23dc809c8a42ecd18de72aeaa
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T13:53:32-08:00

Commit Message:
FULLPIPE: Implement sceneHandler_sub07()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 36ef374..ff87b80 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -596,6 +596,7 @@ namespace Fullpipe {
 #define MSG_SC14_SHOWBALLLAST 3246
 #define MSG_SC14_SHOWBALLMAN 1254
 #define MSG_SC14_STARTARCADE 3252
+#define MV_BAL14_FALL 1258
 #define MV_BAL14_SPIN 1247
 #define MV_BAL14_TOGMA 3214
 #define MV_MAN14_DECLINE 1239
diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index f81bcce..c4b7acb 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -408,14 +408,34 @@ bool sceneHandler14_sub04(ExCommand *cmd) {
 	return false;
 }
 
-void sceneHandler14_sub07() {
-	warning("STUB: sceneHandler14_sub07()");
-}
-
 void sceneHandler14_sub08() {
 	warning("STUB: sceneHandler14_sub08()");
 }
 
+void sceneHandler14_sub07() {
+	g_vars->scene14_var10->stopAnim_maybe();
+	g_vars->scene14_var10->_priority = 27;
+
+	MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
+	ExCommand *ex = new ExCommand(ANI_BALL14, 1, MV_BAL14_FALL, 0, 0, 0, 1, 0, 0, 0);
+
+	ex->_keyCode = g_vars->scene14_var10->_okeyCode;
+	ex->_excFlags |= 2;
+	ex->_field_24 = 1;
+	mq->addExCommandToEnd(ex);
+
+	ex = new ExCommand(ANI_BALL14, 6, 0, 0, 0, 0, 1, 0, 0, 0);
+	ex->_keyCode = g_vars->scene14_var10->_okeyCode;
+	ex->_excFlags |= 3;
+	mq->addExCommandToEnd(ex);
+	mq->chain(0);
+
+	g_vars->scene14_var11.push_back(g_vars->scene14_var10);
+	g_vars->scene14_var10 = 0;
+
+	sceneHandler14_sub08();
+}
+
 void sceneHandler14_sub09() {
 	warning("STUB: sceneHandler14_sub09()");
 }


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

Commit Message:
FULLPIPE: More code to scene14

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index ff87b80..6e45e84 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -599,7 +599,9 @@ namespace Fullpipe {
 #define MV_BAL14_FALL 1258
 #define MV_BAL14_SPIN 1247
 #define MV_BAL14_TOGMA 3214
+#define MV_GMA_THROW 1232
 #define MV_MAN14_DECLINE 1239
+#define MV_MAN14_FALL 1236
 #define MV_MAN14_KICK 1237
 #define MV_MAN14_KICKAIR 1256
 #define MV_MAN14_STEPFW 1240
diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index c4b7acb..82af3b1 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -409,7 +409,19 @@ bool sceneHandler14_sub04(ExCommand *cmd) {
 }
 
 void sceneHandler14_sub08() {
-	warning("STUB: sceneHandler14_sub08()");
+	g_vars->scene14_grandma->changeStatics2(ST_GMA_SIT);
+
+	MessageQueue *mq = new MessageQueue;
+	ExCommand *ex = new ExCommand(ANI_GRANDMA, 2, 30, 0, 0, 0, 1, 0, 0, 0);
+
+	ex->_excFlags |= 2;
+	mq->addExCommandToEnd(ex);
+
+	ex = new ExCommand(ANI_GRANDMA, 1, MV_GMA_THROW, 0, 0, 0, 1, 0, 0, 0);
+	ex->_excFlags |= 2;
+	mq->addExCommandToEnd(ex);
+
+	mq->chain(0);
 }
 
 void sceneHandler14_sub07() {
@@ -436,14 +448,24 @@ void sceneHandler14_sub07() {
 	sceneHandler14_sub08();
 }
 
-void sceneHandler14_sub09() {
-	warning("STUB: sceneHandler14_sub09()");
-}
-
 void sceneHandler14_sub10() {
 	warning("STUB: sceneHandler14_sub10()");
 }
 
+void sceneHandler14_sub09() {
+	if (!g_fp->_aniMan->_movement || g_fp->_aniMan->_movement->_id != MV_MAN14_FALL) {
+		sceneHandler14_sub06();
+
+		g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000);
+		g_fp->_aniMan->startAnim(MV_MAN14_FALL, 0, -1);
+		g_vars->scene14_var10->stopAnim_maybe();
+		g_vars->scene14_var10->hide();
+
+		sceneHandler14_sub10();
+	}
+	++g_vars->scene14_var24;
+}
+
 void sceneHandler14_sub11() {
 	warning("STUB: sceneHandler14_sub11()");
 }


Commit: 07dfc7993cbf9bdc8fbb822a136235b7322761ec
    https://github.com/scummvm/scummvm/commit/07dfc7993cbf9bdc8fbb822a136235b7322761ec
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T14:04:09-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_sub10()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 6e45e84..91b701e 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -599,6 +599,7 @@ namespace Fullpipe {
 #define MV_BAL14_FALL 1258
 #define MV_BAL14_SPIN 1247
 #define MV_BAL14_TOGMA 3214
+#define MV_GMA_JUMPFW 1230
 #define MV_GMA_THROW 1232
 #define MV_MAN14_DECLINE 1239
 #define MV_MAN14_FALL 1236
diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index 82af3b1..ae14b6d 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -449,7 +449,28 @@ void sceneHandler14_sub07() {
 }
 
 void sceneHandler14_sub10() {
-	warning("STUB: sceneHandler14_sub10()");
+	g_vars->scene14_grandma->changeStatics2(ST_GMA_SIT);
+
+	MessageQueue *mq = new MessageQueue;
+	ExCommand *ex = new ExCommand(ANI_GRANDMA, 2, 30, 0, 0, 0, 1, 0, 0, 0);
+
+	ex->_excFlags |= 2;
+	mq->addExCommandToEnd(ex);
+
+	ex = new ExCommand(ANI_GRANDMA, 1, MV_GMA_JUMPFW, 0, 0, 0, 1, 0, 0, 0);
+	ex->_excFlags |= 2;
+	mq->addExCommandToEnd(ex);
+
+	ex = new ExCommand(ANI_GRANDMA, 1, MV_GMA_THROW, 0, 0, 0, 1, 0, 0, 0);
+	ex->_excFlags |= 2;
+	mq->addExCommandToEnd(ex);
+
+	mq->chain(0);
+
+	g_vars->scene14_var18 += 71;
+	g_fp->_currentScene->_x = 71;
+
+	g_fp->_aniMan2 = g_fp->_aniMan;
 }
 
 void sceneHandler14_sub09() {


Commit: 05efe75ebed62f855674724749228d0607cf9333
    https://github.com/scummvm/scummvm/commit/05efe75ebed62f855674724749228d0607cf9333
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T14:12:50-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_sub11()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 91b701e..849e70e 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -599,6 +599,8 @@ namespace Fullpipe {
 #define MV_BAL14_FALL 1258
 #define MV_BAL14_SPIN 1247
 #define MV_BAL14_TOGMA 3214
+#define MV_GMA_BACKOFF 1233
+#define MV_GMA_BACKOFF2 3217
 #define MV_GMA_JUMPFW 1230
 #define MV_GMA_THROW 1232
 #define MV_MAN14_DECLINE 1239
@@ -616,6 +618,7 @@ namespace Fullpipe {
 #define QU_SC14_ENTERLIFT 1225
 #define QU_SC14_EXITLIFT 1226
 #define QU_SC14_STARTARCADE 1390
+#define QU_SC14_WINARCADE 3247
 
 // Scene 15
 #define ANI_BOOT_15 4779
diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index ae14b6d..8ba7e16 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -487,10 +487,6 @@ void sceneHandler14_sub09() {
 	++g_vars->scene14_var24;
 }
 
-void sceneHandler14_sub11() {
-	warning("STUB: sceneHandler14_sub11()");
-}
-
 void sceneHandler14_sub12() {
 	g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000);
 	g_fp->_aniMan->startAnim(MV_MAN14_STEPFW, 0, -1);
@@ -501,6 +497,60 @@ void sceneHandler14_sub12() {
 	g_fp->_aniMan2 = g_vars->scene14_grandma;
 }
 
+void sceneHandler14_sub11() {
+	g_vars->scene14_var10->stopAnim_maybe();
+	g_vars->scene14_var10->hide();
+
+	if (g_vars->scene14_var04)
+		sceneHandler14_sub06();
+
+	if (g_vars->scene14_var24 <= 1) {
+		setInputDisabled(1);
+
+		sceneHandler14_sub06();
+
+		g_vars->scene14_var06 = 0;
+		g_fp->_aniMan2 = 0;
+
+		chainQueue(QU_SC14_WINARCADE, 1);
+
+		--g_vars->scene14_var24;
+	} else {
+		ExCommand *ex;
+
+		g_vars->scene14_grandma->changeStatics2(ST_GMA_SIT);
+
+		if (g_vars->scene14_var24 != 3 || g_vars->scene14_pink) {
+			MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
+
+			ex = new ExCommand(ANI_GRANDMA, 1, MV_GMA_BACKOFF, 0, 0, 0, 1, 0, 0, 0);
+			ex->_excFlags |= 2;
+			mq->addExCommandToEnd(ex);
+
+			ex = new ExCommand(ANI_GRANDMA, 1, MV_GMA_THROW, 0, 0, 0, 1, 0, 0, 0);
+			ex->_excFlags |= 2;
+			mq->addExCommandToEnd(ex);
+
+			mq->chain(0);
+		} else {
+			MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
+
+			ex = new ExCommand(ANI_GRANDMA, 1, MV_GMA_BACKOFF2, 0, 0, 0, 1, 0, 0, 0);
+			ex->_excFlags |= 2;
+			mq->addExCommandToEnd(ex);
+
+			ex = new ExCommand(ANI_GRANDMA, 1, MV_GMA_THROW, 0, 0, 0, 1, 0, 0, 0);
+			ex->_excFlags |= 2;
+			mq->addExCommandToEnd(ex);
+
+			mq->chain(0);
+		}
+
+		sceneHandler14_sub12();
+		--g_vars->scene14_var24;
+	}
+}
+
 int sceneHandler14(ExCommand *cmd) {
 	if (cmd->_messageKind != 17)
 		return 0;


Commit: 79b8e0078b86df238dcff5b3e5a1feb49664d490
    https://github.com/scummvm/scummvm/commit/79b8e0078b86df238dcff5b3e5a1feb49664d490
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T14:19:32-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_winArcade()

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



diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index 8ba7e16..c3e0269 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -279,8 +279,66 @@ void sceneHandler14_grandmaJump() {
 	}
 }
 
+void 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_winArcade() {
-	warning("STUB: sceneHandler14_winArcade()");
+	if (g_vars->scene14_var03) {
+		if (g_vars->scene14_var04) {
+			g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000);
+
+			g_vars->scene14_var04 = 0;
+		}
+
+		if (g_vars->scene14_var10) {
+			g_vars->scene14_var11.push_back(g_vars->scene14_var10);
+
+			g_vars->scene14_var10->_flags &= 0xFFFB;
+			g_vars->scene14_var10 = 0;
+		}
+
+		g_vars->scene14_var05 = 0;
+
+		sceneHandler14_endArcade();
+
+		g_vars->scene14_var13 = 0;
+
+		if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_In_14)) {
+			g_fp->setObjectState(sO_Grandma, g_fp->getObjectEnumState(sO_Grandma, sO_In_15));
+			g_vars->scene14_grandma->changeStatics2(ST_GMA_SIT);
+			g_vars->scene14_grandma->_flags &= 0xFFFB;
+		}
+
+		if (g_fp->_currentScene->_messageQueueId) {
+			MessageQueue *mq = g_fp->_globalMessageQueueList->getMessageQueueById(g_fp->_currentScene->_messageQueueId);
+			if (mq)
+				delete mq;
+
+			g_fp->_currentScene->_messageQueueId = 0;
+		}
+	}
 }
 
 void sceneHandler14_showBallLast() {
@@ -322,31 +380,6 @@ void sceneHandler14_startArcade() {
 	g_fp->_updateScreenCallback = sceneHandler14_updateScreenCallback;
 }
 
-void 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() {
 	warning("STUB: sceneHandler14_sub01()");
 }


Commit: fe8dfa3c68e04fa8370df6a0782fcc25e01abd70
    https://github.com/scummvm/scummvm/commit/fe8dfa3c68e04fa8370df6a0782fcc25e01abd70
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T14:32:43-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_sub04()

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



diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index c3e0269..00f5647 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -436,9 +436,51 @@ void sceneHandler14_sub03() {
 }
 
 bool sceneHandler14_sub04(ExCommand *cmd) {
-	warning("STUB: sceneHandler14_sub04()");
+	if (!getCurrSceneSc2MotionController()->_isEnabled)
+		return 0;
+
+	if (!g_vars->scene14_var13) {
+		if (!cmd->_keyCode) {
+			if (g_vars->scene14_pink) {
+				if (g_vars->scene14_pink->_flags & 4) {
+					if (cmd->_sceneClickX < g_vars->scene14_pink->_ox + 40) {
+						handleObjectInteraction(g_fp->_aniMan, g_vars->scene14_pink, 0);
+						cmd->_messageKind = 0;
+						return true;
+					}
+				}
+			}
+		}
+		return false;
+	}
+
+	if (getCurrSceneSc2MotionController()->_objtype != kObjTypeMctlCompound)
+		return false;
+
+	if (!getCurrSceneSc2MotionController()->_motionControllers[0]->_movGraphReactObj->pointInRegion(cmd->_sceneClickX, cmd->_sceneClickY))
+		return false;
+
+	if (cmd->_sceneClickX > 1237)
+		return false;
 
-	return false;
+	MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, 1237, 451, 1, 0);
+
+	if (!mq)
+		return false;
+
+	ExCommand *ex = new ExCommand(0, 17, MSG_SC14_STARTARCADE, 0, 0, 0, 1, 0, 0, 0);
+
+	ex->_excFlags |= 3;
+	mq->addExCommandToEnd(ex);
+	mq->setFlags(mq->getFlags() | 1);
+
+	postExCommand(g_fp->_aniMan->_id, 2, 1237, 451, 0, -1);
+
+	cmd->_messageKind = 0;
+
+	getCurrSceneSc2MotionController()->clearEnabled();
+	getGameLoaderInteractionController()->disableFlag24();
+	return true;
 }
 
 void sceneHandler14_sub08() {


Commit: e17bd0a5540b45a72445802cd6c963d83ed48993
    https://github.com/scummvm/scummvm/commit/e17bd0a5540b45a72445802cd6c963d83ed48993
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-31T14:39:13-08:00

Commit Message:
FULLPIPE: Implement sceneHandler14_sub01()

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



diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index 00f5647..ca2b34b 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -380,10 +380,6 @@ void sceneHandler14_startArcade() {
 	g_fp->_updateScreenCallback = sceneHandler14_updateScreenCallback;
 }
 
-void sceneHandler14_sub01() {
-	warning("STUB: sceneHandler14_sub01()");
-}
-
 void sceneHandler14_sub06() {
 	g_fp->_aniMan->_callback2 = 0;
 	g_vars->scene14_var04 = 0;
@@ -626,6 +622,36 @@ void sceneHandler14_sub11() {
 	}
 }
 
+void sceneHandler14_sub01() {
+	int x = g_vars->scene14_var20 + g_vars->scene14_var22;
+	int y = g_vars->scene14_var21 + g_vars->scene14_var23;
+
+	g_vars->scene14_var22 += g_vars->scene14_var20;
+	g_vars->scene14_var23 += g_vars->scene14_var21;
+
+	g_vars->scene14_var21++;
+
+	if (g_vars->scene14_var21 - 1 + g_vars->scene14_var23 > 517) {
+		if (x <= g_vars->scene14_var14 - 16 ) {
+			if ( g_vars->scene14_var20 >= 0 || x >= g_vars->scene14_var16 + 65 || x <= g_vars->scene14_var16 - 135 || y <= g_vars->scene14_var17 - 102 ) {
+				if (g_vars->scene14_var10->_movement)
+					g_vars->scene14_var10->_movement->setOXY(x, y);
+				else
+					g_vars->scene14_var10->setOXY(x, y);
+			} else {
+				sceneHandler14_sub11();
+				g_vars->scene14_var05 = 0;
+			}
+		} else {
+			sceneHandler14_sub09();
+			g_vars->scene14_var05 = 0;
+		}
+	} else {
+		sceneHandler14_sub07();
+		g_vars->scene14_var05 = 0;
+	}
+}
+
 int sceneHandler14(ExCommand *cmd) {
 	if (cmd->_messageKind != 17)
 		return 0;






More information about the Scummvm-git-logs mailing list