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

sev- sev at scummvm.org
Wed Mar 5 22:04:04 CET 2014


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

Summary:
b0d681e5be FULLPIPE: Implement sceneHandler18()
afda517c3d FULLPIPE: Implement sceneHandler19()
eddf87f548 FULLPIPE: Enable scene18 and scene19


Commit: b0d681e5be6b3de608e8f5418747d7c4a6019e26
    https://github.com/scummvm/scummvm/commit/b0d681e5be6b3de608e8f5418747d7c4a6019e26
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-03-05T13:02:55-08:00

Commit Message:
FULLPIPE: Implement sceneHandler18()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index d84b639..60f5760 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -877,6 +877,16 @@ namespace Fullpipe {
 #define ANI_GIRL18 1484
 #define ANI_KRESLO 1459
 #define ANI_WHIRLIGIG_18 829
+#define MSG_SC18_CLICKBOARD 3297
+#define MSG_SC18_MANCLIMBEDDOWN 1540
+#define MSG_SC18_MANCLIMBEDUP 1539
+#define MSG_SC18_MANREADY 1507
+#define MSG_SC18_SHOWBOYJUMP 1495
+#define MSG_SC18_SHOWBOYJUMPTO 1497
+#define MSG_SC18_SHOWGIRLJUMP 1496
+#define MSG_SC18_SHOWGIRLJUMPTO 1499
+#define MSG_SC18_SHOWMANJUMP 1510
+#define MSG_SC18_SHOWMANJUMPTO 1508
 #define MV_KSL_SWING 1460
 #define MV_KSL_SWINGBOY 1462
 #define MV_KSL_SWINGGIRL 1464
diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp
index 8319c83..d365ba2 100644
--- a/engines/fullpipe/scenes/scene18and19.cpp
+++ b/engines/fullpipe/scenes/scene18and19.cpp
@@ -384,4 +384,155 @@ int scene19_updateCursor() {
 	return g_fp->_cursorId;
 }
 
+void sceneHandler18_clickBoard() {
+	warning("STUB: sceneHandler18_clickBoard()");
+}
+
+void sceneHandler18and19_showManJump() {
+	warning("STUB: sceneHandler18and19_showManJump()");
+}
+
+void sceneHandler18_showManJumpTo() {
+	warning("STUB: sceneHandler18_showManJumpTo()");
+}
+
+void sceneHandler18and19_showGirlJumpTo() {
+	warning("STUB: sceneHandler18and19_showGirlJumpTo()");
+}
+
+void sceneHandler18and19_showGirlJump() {
+	warning("STUB: sceneHandler18and19_showGirlJump()");
+}
+
+void sceneHandler18and19_showBoyJumpTo() {
+	warning("STUB: sceneHandler18and19_showBoyJumpTo()");
+}
+
+void sceneHandler18and19_showBoyJump() {
+	warning("STUB: sceneHandler18and19_showBoyJump()");
+}
+
+void sceneHandler18and19_drawRiders() {
+	warning("STUB: sceneHandler18and19_drawRiders()");
+}
+
+void sceneHandler18and19_animateRiders() {
+	warning("STUB: sceneHandler18and19_animateRiders()");
+}
+
+int sceneHandler18(ExCommand *cmd) {
+	if (cmd->_messageKind != 17)
+		return 0;
+
+	switch (cmd->_messageNum) {
+	case MSG_SC18_CLICKBOARD:
+		sceneHandler18_clickBoard();
+		break;
+
+	case MSG_SC3_HIDEDOMINO:
+		g_vars->scene18_domino->_flags &= 0xFFFB;
+		break;
+
+	case MSG_SC18_SHOWMANJUMP:
+		sceneHandler18and19_showManJump();
+		break;
+
+	case MSG_SC18_MANREADY:
+		g_vars->scene18_var28 = 1;
+		break;
+
+	case MSG_SC18_SHOWMANJUMPTO:
+		sceneHandler18_showManJumpTo();
+		break;
+
+	case MSG_SC18_SHOWGIRLJUMPTO:
+		sceneHandler18and19_showGirlJumpTo();
+		break;
+
+	case MSG_SC18_SHOWGIRLJUMP:
+		sceneHandler18and19_showGirlJump();
+		break;
+
+	case MSG_SC18_SHOWBOYJUMPTO:
+		sceneHandler18and19_showBoyJumpTo();
+		break;
+
+	case MSG_SC18_SHOWBOYJUMP:
+		sceneHandler18and19_showBoyJump();
+		break;
+
+	case 29:
+		{
+			if (g_vars->scene18_var15) {
+				cmd->_messageKind = 0;
+				break;
+			}
+
+			StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+
+			if (!ani || !canInteractAny(g_fp->_aniMan, ani, cmd->_keyCode)) {
+				int picId = g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+				PictureObject *pic = g_fp->_currentScene->getPictureObjectById(picId, 0);
+
+				if (pic && pic->_id == PIC_SC18_DOMIN && g_vars->scene18_domino
+					&& (g_vars->scene18_domino->_flags & 4) && g_fp->_aniMan->isIdle()) {
+					if (!(g_fp->_aniMan->_flags & 0x100) && g_fp->_msgObjectId2 != g_vars->scene18_domino->_id) {
+						handleObjectInteraction(g_fp->_aniMan, g_vars->scene18_domino, cmd->_keyCode);
+						cmd->_messageKind = 0;
+						break;
+					}
+				}
+
+				if (!pic || !canInteractAny(g_fp->_aniMan, pic, cmd->_keyCode)) {
+					if ((g_fp->_sceneRect.right - cmd->_sceneClickX < 47 && g_fp->_sceneRect.right < g_fp->_sceneWidth - 1)
+						|| (cmd->_sceneClickX - g_fp->_sceneRect.left < 47 && g_fp->_sceneRect.left > 0)) {
+						g_fp->processArcade(cmd);
+
+						g_vars->scene18_var28 = 0;
+
+						break;
+					}
+				}
+			}
+			break;
+		}
+
+	case 33:
+		if (g_fp->_aniMan2) {
+			int x = g_fp->_aniMan2->_ox;
+
+			g_vars->scene18_var11 = g_fp->_aniMan2->_oy;
+
+			if (x < g_fp->_sceneRect.left + g_vars->scene18_var16)
+				g_fp->_currentScene->_x = x - g_vars->scene18_var18 - g_fp->_sceneRect.left;
+
+			if (x > g_fp->_sceneRect.right - g_vars->scene18_var16)
+				g_fp->_currentScene->_x = x + g_vars->scene18_var18 - g_fp->_sceneRect.right;
+		}
+
+		if (g_vars->scene18_var28 && g_fp->_aniMan->_movement)
+			g_vars->scene18_var28 = 0;
+
+		if (g_vars->scene18_var08) {
+			if (!g_vars->scene18_var12)
+				sceneHandler18and19_drawRiders();
+
+			g_vars->scene18_var12 = g_vars->scene18_var12 == 0;
+
+			if (!g_vars->scene18_whirlgig->_movement) {
+				g_vars->scene18_whirlgig->startAnim(MV_WHR18_SPIN, 0, -1);
+				g_fp->_behaviorManager->updateBehaviors();
+				break;
+			}
+		} else {
+			sceneHandler18and19_animateRiders();
+		}
+
+		g_fp->_behaviorManager->updateBehaviors();
+		break;
+	}
+
+	return 0;
+}
+
 } // End of namespace Fullpipe


Commit: afda517c3d36fbfa8c34f1fee8d6e3c877974103
    https://github.com/scummvm/scummvm/commit/afda517c3d36fbfa8c34f1fee8d6e3c877974103
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-03-05T13:02:55-08:00

Commit Message:
FULLPIPE: Implement sceneHandler19()

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



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 60f5760..f07a1db 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -902,7 +902,10 @@ namespace Fullpipe {
 // Scene 19
 #define ANI_CORDIE 1529
 #define ANI_WHIRLGIG_19 1302
+#define MSG_SC19_UPDATENUMRIDES 5203
 #define MV_WHR19_SPIN 1317
+#define PIC_SC19_RTRUBA1 1513
+#define PIC_SC19_RTRUBA2 1514
 #define PIC_SC19_RTRUBA3 1515
 #define PIC_SC19_RTRUBA31 5320
 #define SND_19_015 3928
diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp
index d365ba2..e950785 100644
--- a/engines/fullpipe/scenes/scene18and19.cpp
+++ b/engines/fullpipe/scenes/scene18and19.cpp
@@ -535,4 +535,117 @@ int sceneHandler18(ExCommand *cmd) {
 	return 0;
 }
 
+void sceneHandler19_updateNumRides() {
+	warning("STUB: sceneHandler19_updateNumRides()");
+}
+
+int sceneHandler19(ExCommand *cmd) {
+	if (cmd->_messageKind != 17)
+		return 0;
+
+	switch (cmd->_messageNum) {
+	case MSG_SC18_SHOWMANJUMP:
+		sceneHandler18and19_showManJump();
+		break;
+
+	case MSG_SC19_UPDATENUMRIDES:
+		sceneHandler19_updateNumRides();
+		break;
+
+	case MSG_SC18_SHOWGIRLJUMPTO:
+		sceneHandler18and19_showGirlJumpTo();
+		break;
+
+	case MSG_SC18_SHOWBOYJUMPTO:
+		sceneHandler18and19_showBoyJumpTo();
+		break;
+
+	case MSG_SC18_SHOWGIRLJUMP:
+		sceneHandler18and19_showGirlJump();
+		break;
+
+	case MSG_SC18_SHOWBOYJUMP:
+		sceneHandler18and19_showBoyJump();
+		break;
+
+	case 29:
+		if (g_vars->scene18_var15) {
+			switch (g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY)) {
+			case PIC_SC19_RTRUBA1:
+				g_vars->scene18_var13 = 1;
+				g_vars->scene18_var14 = 331;
+				cmd->_messageKind = 0;
+				break;
+
+			case PIC_SC19_RTRUBA2:
+				g_vars->scene18_var13 = 2;
+				g_vars->scene18_var14 = 350;
+				cmd->_messageKind = 0;
+				break;
+
+			case PIC_SC19_RTRUBA3:
+				g_vars->scene18_var13 = 3;
+				g_vars->scene18_var14 = 9;
+				cmd->_messageKind = 0;
+				break;
+
+			default:
+				g_vars->scene18_var13 = -1;
+				g_vars->scene18_var14 = -1;
+				cmd->_messageKind = 0;
+				break;
+			}
+			break;
+		}
+
+		if (g_vars->scene19_var05) {
+			if (g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY) == PIC_SC19_RTRUBA3) {
+				if (g_fp->_aniMan->isIdle()) {
+					if (!(g_fp->_aniMan->_flags & 0x100)) {
+						PictureObject *pic = g_fp->_currentScene->getPictureObjectById(PIC_SC19_RTRUBA31, 0);
+
+						handleObjectInteraction(g_fp->_aniMan, pic, cmd->_keyCode);
+						break;
+					}
+				}
+			}
+		}
+		break;
+
+	case 33:
+		if (g_fp->_aniMan2) {
+			int x = g_fp->_aniMan2->_ox;
+
+			g_vars->scene18_var11 = g_fp->_aniMan2->_oy;
+
+			if (x < g_fp->_sceneRect.left + g_vars->scene18_var16)
+				g_fp->_currentScene->_x = x - g_vars->scene18_var18 - g_fp->_sceneRect.left;
+
+			if (x > g_fp->_sceneRect.right - g_vars->scene18_var16)
+				g_fp->_currentScene->_x = x + g_vars->scene18_var18 - g_fp->_sceneRect.right;
+		}
+
+		if (g_vars->scene18_var08) {
+			if (!g_vars->scene18_var12)
+				sceneHandler18and19_drawRiders();
+
+			g_vars->scene18_var12 = !g_vars->scene18_var12;
+
+			if (!g_vars->scene18_whirlgig->_movement) {
+				g_vars->scene18_whirlgig->startAnim(MV_WHR19_SPIN, 0, -1);
+
+				g_fp->_behaviorManager->updateBehaviors();
+				break;
+			}
+		} else {
+			sceneHandler18and19_animateRiders();
+		}
+
+		g_fp->_behaviorManager->updateBehaviors();
+		break;
+	}
+
+	return 0;
+}
+
 } // End of namespace Fullpipe


Commit: eddf87f5485a80cfd1d83f477bb258a5ad399b95
    https://github.com/scummvm/scummvm/commit/eddf87f5485a80cfd1d83f477bb258a5ad399b95
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-03-05T13:02:55-08:00

Commit Message:
FULLPIPE: Enable scene18 and scene19

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



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 2844ad4..1c63693 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -795,7 +795,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		_updateCursorCallback = scene17_updateCursor;
 		break;
 
-#if 0
 	case SC_18:
 		scene18_setupEntrance();
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_18");
@@ -817,10 +816,10 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 	case SC_19:
 		if (!g_fp->_scene3) {
 			g_fp->_scene3 = accessScene(SC_18);
-			getGameLoader()->loadScene(SC_18);
-			scene18_initScene2(g_scene3);
+			g_fp->_gameLoader->loadScene(SC_18);
+			scene18_initScene2(g_fp->_scene3);
 			scene18_preload();
-			scene19_setMovements(g_scene3, entrance->field_4);
+			scene19_setMovements(g_fp->_scene3, entrance->_field_4);
 			g_vars->scene18_var01 = 1;
 		}
 
@@ -841,7 +840,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		scene19_setSugarState(scene);
 		_updateCursorCallback = scene19_updateCursor;
 		break;
-#endif
 
 	case SC_20:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_20");
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 6a74538..30306fa 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -110,7 +110,19 @@ int sceneHandler17(ExCommand *cmd);
 int scene17_updateCursor();
 
 void scene18_preload();
+void scene18_setupEntrance();
+void scene18_initScene1(Scene *sc);
+void scene18_initScene2(Scene *sc);
+int sceneHandler18(ExCommand *cmd);
+int scene18_updateCursor();
+
+void scene19_preload();
+void scene19_setMovements(Scene *sc, int entranceId);
+void scene19_initScene2();
 void scene19_setMovements(Scene *sc, int key);
+int sceneHandler19(ExCommand *cmd);
+int scene19_updateCursor();
+void scene19_setSugarState(Scene *sc);
 
 void scene20_initScene(Scene *sc);
 int sceneHandler20(ExCommand *ex);






More information about the Scummvm-git-logs mailing list