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

sev- sev at scummvm.org
Wed Dec 25 22:57:22 CET 2013


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:
d5f2acb3b2 FULLPIPE: Started implementing sceneHandler11()


Commit: d5f2acb3b24680b3ad0e5c885fb6112c28c1a31b
    https://github.com/scummvm/scummvm/commit/d5f2acb3b24680b3ad0e5c885fb6112c28c1a31b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-12-25T13:49:18-08:00

Commit Message:
FULLPIPE: Started implementing sceneHandler11()

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



diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp
index d38bc9c..240eccf 100644
--- a/engines/fullpipe/scenes/scene11.cpp
+++ b/engines/fullpipe/scenes/scene11.cpp
@@ -141,4 +141,194 @@ void scene11_initScene(Scene *sc) {
 	g_fp->setArcadeOverlay(PIC_CSR_ARCADE5);
 }
 
+int sceneHandler11(ExCommand *cmd) {
+#if 0
+	if (cmd->_messageKind != 17)
+		return 0;
+
+	switch (cmd->_messageNum) {
+	case MSG_CMN_WINARCADE:
+		sceneHandler11_winArcade();
+		break;
+
+	case MSG_SC11_SITSWINGER:
+		if (g_fp->getObjectState(sO_Swingie) == getObjectEnumState(sO_Swingie, sO_IsStandingInBoots)
+			    || g_fp->getObjectState(sO_Swingie) == g_fp->getObjectEnumState(sO_Swingie, sO_IsStandingInCorner)) {
+			g_fp->setObjectState(sO_Swingie, g_fp->getObjectEnumState(sO_Swingie, sO_IsSitting));
+		}
+		break;
+
+	case MSG_SC11_MANCRY:
+		playSound(g_vars->scene11_var07, 0);
+		g_vars->scene11_var07 = 0;
+		break;
+
+	case MSG_SC11_RESTARTMAN:
+		sceneHandler11_restartMan();
+		break;
+
+	case MSG_SC11_HITMAN:
+		sceneHandler11_hitMan();
+		break;
+
+	case MSG_SC11_MANTOSWING:
+		sceneHandler11_manToSwing();
+		break;
+
+	case MSG_SC11_PUTBOOT:
+		sceneHandler11_putBoot();
+		break;
+
+	case MSG_SC11_SHOWSWING:
+		sceneHandler11_showSwing();
+		break;
+
+	case 107:
+		if (g_vars->scene11_var02)
+			sceneHandler11_sub01();
+		break;
+
+	case 33:
+		{
+			if (!g_fp->_aniMan2)
+				goto LABEL_27;
+
+			int x = g_fp->_aniMan2->_ox;
+			g_vars->scene11_var21 = g_fp->_aniMan2->_ox;
+			int y = g_fp->_aniMan2->_oy;
+			g_vars->scene11_var22 = g_fp->_aniMan2->_oy;
+			if (g_vars->scene11_var03) {
+				if (x > g_fp->_sceneRect.right - 200)
+					OffsetRect(&g_fp->_sceneRect, x - g_fp->_sceneRect.right + 200, 0);
+				goto LABEL_26;
+			}
+			if (g_vars->scene11_var04) {
+				g_fp->_currentScene->bg._x = g_fp->_sceneWidth - x;
+				if (g_vars->scene11_var21 < 910)
+					g_vars->scene11_var04 = 0;
+			LABEL_26:
+				v2 = 1;
+			LABEL_27:
+				if (g_vars->scene11_var20) {
+					if (g_fp->_sceneRect.left >= 534 && g_vars->scene11_var06 < 534)
+						sceneHandler11_sub06();
+					g_vars->scene11_var06 = g_fp->_sceneRect.left;
+				}
+				if (!g_vars->scene11_var02)
+					goto LABEL_50;
+				v6 = g_vars->scene11_var16;
+				if (g_vars->scene11_var16 <= 0 || g_vars->scene11_var15 - g_vars->scene11_var16 <= 72) {
+					v7 = g_vars->scene11_var18;
+				} else {
+					sceneHandler11_sub02();
+					v7 = 0;
+					v6 = 0;
+					g_vars->scene11_var18 = 0;
+					g_vars->scene11_var16 = 0;
+				}
+				if (!g_vars->scene11_var02)
+					goto LABEL_50;
+				if (g_vars->scene11_var17 == v7 || v6 <= 0 || g_vars->scene11_var15 - v6 <= 2) {
+				LABEL_49:
+					if (g_vars->scene11_var02) {
+					LABEL_61:
+						g_fp->_behaviorManager_updateBehaviors();
+						g_fp->startSceneTrack();
+						return v2;
+					}
+				LABEL_50:
+					if (g_vars->scene11_var19
+						|| 0.0 == g_vars->scene11_var10
+						&& (v8 = g_vars->scene11_dudeOnSwing->_movement) != 0
+						&& v8->_currDynamicPhaseIndex == 45
+						&& (g_vars->scene11_dudeOnSwing->changeStatics2(ST_KCH_STATIC), !g_vars->scene11_var02)
+						&& g_vars->scene11_var19) {
+						if (!g_vars->scene11_swingie->_movement) {
+							if (g_vars->scene11_boots->_flags & 4 && g_vars->scene11_boots->_statics->_staticsId == ST_BTS11_2) {
+								sceneHandler11_sub07();
+								BehaviorManager_updateBehaviors(&g_behaviorManager);
+								startSceneTrack();
+								return v2;
+							}
+							g_vars->scene11_swingie->startAnim(MV_SWR_SWING, 0, -1);
+						}
+					}
+					goto LABEL_61;
+				}
+				if (v7 == 1) {
+					if (!g_vars->scene11_var17) {
+						sceneHandler11_sub03();
+					LABEL_48:
+						g_vars->scene11_var16 = g_vars->scene11_var15;
+						goto LABEL_49;
+					}
+				} else {
+					if (v7 != 2)
+						goto LABEL_48;
+					if (!g_vars->scene11_var17) {
+						sceneHandler11_sub04();
+						goto LABEL_48;
+					}
+				}
+				sceneHandler11_sub02();
+				goto LABEL_48;
+			}
+			if (x >= g_fp->_sceneRect.left + 200) {
+				if (x <= g_fp->_sceneRect.right - 200) {
+				LABEL_18:
+					if (y < g_fp->_sceneRect.top + 200) {
+						g_fp->_currentScene->bg._y = y - g_fp->_sceneRect.top - 300;
+						y = g_vars->scene11_var22;
+						x = g_vars->scene11_var21;
+					}
+					if (y > g_fp->_sceneRect.bottom - 300) {
+						g_fp->_currentScene->bg._y = y - g_fp->_sceneRect.bottom + 300;
+						x = g_vars->scene11_var21;
+					}
+					if (x >= 940)
+						g_vars->scene11_var04 = 1;
+					goto LABEL_26;
+				}
+				g_fp->_currentScene->bg._x = x - g_fp->_sceneRect.right + 300;
+			} else {
+				g_fp->_currentScene->bg._x = x - g_fp->_sceneRect.left - 300;
+			}
+			y = g_vars->scene11_var22;
+			x = g_vars->scene11_var21;
+			goto LABEL_18;
+		}
+
+		break;
+
+	case 29:
+		if (g_vars->scene11_var19) {
+			if (g_fp->_currentScene->getStaticANIObjectAtPos(g_fp->_sceneRect.left + cmd->_x, g_fp->_sceneRect.top + cmd->_y) == g_vars->scene11_swingie && cmd->_keyCode == ANI_INV_BOOT)
+				sceneHandler11_putBoot();
+		} else {
+			if (!g_vars->scene11_var02)
+				goto LABEL_69;
+			sceneHandler11_sub05();
+			g_vars->scene11_var16 = g_vars->scene11_var15;
+		}
+		if (!g_vars->scene11_var02) {
+		LABEL_69:
+			v10 = (GameObject *)Scene_getStaticANIObjectAtPos(g_fp->_currentScene, cmd->_sceneClickX, cmd->_sceneClickY);
+			if (!v10 || !canInteractAny(&g_fp->_aniMan->go, v10, cmd->_keyCode)) {
+				v11 = Scene_getPictureObjectIdAtPos(g_fp->_currentScene, cmd->_sceneClickX, cmd->_sceneClickY);
+				v12 = (GameObject *)Scene_getPictureObjectById(g_fp->_currentScene, v11, 0);
+				if (!v12 || !canInteractAny(g_fp->_aniMan, v12, cmd->_keyCode)) {
+					if ((v13 = cmd->_sceneClickX, g_fp->_sceneRect.right - v13 < 47) && g_fp->_sceneRect.right < g_fp->_sceneWidth - 1 || v13 - g_fp->_sceneRect.left < 47 && g_fp->_sceneRect.left > 0) {
+						processArcade(cmd);
+						return 0;
+					}
+				}
+			}
+			return 0;
+		}
+	}
+#endif
+
+	return 0;
+}
+
 } // End of namespace Fullpipe






More information about the Scummvm-git-logs mailing list