[Scummvm-git-logs] scummvm master -> ab82cacf23154cb06255086da0a7edf8f11f6793

sev- sev at scummvm.org
Sun Oct 2 21:26:31 CEST 2016


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

Summary:
2d4ce853c8 FULLPIPE: Scene11: Preserve Dude's state during swing update
ab82cacf23 FULLPIPE: Restore original swing logic in scene11


Commit: 2d4ce853c81c6a1f78df9e3b55b00e8a06eded97
    https://github.com/scummvm/scummvm/commit/2d4ce853c81c6a1f78df9e3b55b00e8a06eded97
Author: Retro-Junk (bambarbee at yandex.ru)
Date: 2016-10-02T20:53:48+02:00

Commit Message:
FULLPIPE: Scene11: Preserve Dude's state during swing update

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



diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp
index 6866dcf..e0f8f99 100644
--- a/engines/fullpipe/scenes/scene11.cpp
+++ b/engines/fullpipe/scenes/scene11.cpp
@@ -334,11 +334,12 @@ void sceneHandler11_jumpFromSwing() {
 }
 
 void sceneHandler11_swing0() {
+	int phase = g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex;
 	g_vars->scene11_dudeOnSwing->_statics = g_vars->scene11_dudeOnSwing->getStaticsById(ST_MAN11_EMPTY);
 	g_vars->scene11_dudeOnSwing->_movement = 0;
 	g_vars->scene11_dudeOnSwing->show1(690, 215, MV_MAN11_SWING_0, 0);
 	g_vars->scene11_dudeOnSwing->startAnim(MV_MAN11_SWING_0, 0, -1);
-	g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex);
+	g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(phase);
 
 	g_vars->scene11_swingDirection = 0;
 	g_vars->scene11_swingMaxAngle = 45;
@@ -346,11 +347,12 @@ void sceneHandler11_swing0() {
 }
 
 void sceneHandler11_swing1() {
+	int phase = g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex;
 	g_vars->scene11_dudeOnSwing->_statics = g_vars->scene11_dudeOnSwing->getStaticsById(ST_MAN11_EMPTY);
 	g_vars->scene11_dudeOnSwing->_movement = 0;
 	g_vars->scene11_dudeOnSwing->show1(690, 215, MV_MAN11_SWING_1, 0);
 	g_vars->scene11_dudeOnSwing->startAnim(MV_MAN11_SWING_1, 0, -1);
-	g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex);
+	g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(phase);
 
 	g_vars->scene11_swingDirection = 1;
 	g_vars->scene11_swingMaxAngle = 42;
@@ -358,11 +360,12 @@ void sceneHandler11_swing1() {
 }
 
 void sceneHandler11_swing2() {
+	int phase = g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex;
 	g_vars->scene11_dudeOnSwing->_statics = g_vars->scene11_dudeOnSwing->getStaticsById(ST_MAN11_EMPTY);
 	g_vars->scene11_dudeOnSwing->_movement = 0;
 	g_vars->scene11_dudeOnSwing->show1(690, 215, MV_MAN11_SWING_2, 0);
 	g_vars->scene11_dudeOnSwing->startAnim(MV_MAN11_SWING_2, 0, -1);
-	g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex);
+	g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(phase);
 
 	g_vars->scene11_swingDirection = 2;
 	g_vars->scene11_swingMaxAngle = 48;
@@ -370,6 +373,7 @@ void sceneHandler11_swing2() {
 }
 
 void sceneHandler11_emptySwing() {
+	int phase = g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex;
 	if (g_vars->scene11_swingDirection)
 		sceneHandler11_swing0();
 
@@ -379,7 +383,7 @@ void sceneHandler11_emptySwing() {
 	g_vars->scene11_dudeOnSwing->show1(-1, -1, -1, 0);
 	g_vars->scene11_dudeOnSwing->changeStatics2(ST_KCH_EMPTY);
 	g_vars->scene11_dudeOnSwing->startAnim(MV_KCH_MOVE2, 0, -1);
-	g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex);
+	g_vars->scene11_dudeOnSwing->_movement->setDynamicPhaseIndex(phase);
 
 	g_vars->scene11_swingInertia = 0.03; //1.9881250;
 }


Commit: ab82cacf23154cb06255086da0a7edf8f11f6793
    https://github.com/scummvm/scummvm/commit/ab82cacf23154cb06255086da0a7edf8f11f6793
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-10-02T21:26:06+02:00

Commit Message:
FULLPIPE: Restore original swing logic in scene11

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



diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp
index e0f8f99..0eab1e3 100644
--- a/engines/fullpipe/scenes/scene11.cpp
+++ b/engines/fullpipe/scenes/scene11.cpp
@@ -334,6 +334,8 @@ void sceneHandler11_jumpFromSwing() {
 }
 
 void sceneHandler11_swing0() {
+	debugC(1, kDebugSceneLogic, "sceneHandler11_swing0()");
+
 	int phase = g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex;
 	g_vars->scene11_dudeOnSwing->_statics = g_vars->scene11_dudeOnSwing->getStaticsById(ST_MAN11_EMPTY);
 	g_vars->scene11_dudeOnSwing->_movement = 0;
@@ -347,6 +349,8 @@ void sceneHandler11_swing0() {
 }
 
 void sceneHandler11_swing1() {
+	debugC(1, kDebugSceneLogic, "sceneHandler11_swing1()");
+
 	int phase = g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex;
 	g_vars->scene11_dudeOnSwing->_statics = g_vars->scene11_dudeOnSwing->getStaticsById(ST_MAN11_EMPTY);
 	g_vars->scene11_dudeOnSwing->_movement = 0;
@@ -360,6 +364,8 @@ void sceneHandler11_swing1() {
 }
 
 void sceneHandler11_swing2() {
+	debugC(1, kDebugSceneLogic, "sceneHandler11_swing2()");
+
 	int phase = g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex;
 	g_vars->scene11_dudeOnSwing->_statics = g_vars->scene11_dudeOnSwing->getStaticsById(ST_MAN11_EMPTY);
 	g_vars->scene11_dudeOnSwing->_movement = 0;
@@ -535,7 +541,7 @@ void sceneHandler11_setSwingDirection() {
 	else if (g_vars->scene11_swingDirection == 1)
 		g_vars->scene11_swingDirectionPrevTurn = 2;
 	else
-		g_vars->scene11_swingDirectionPrevTurn = (g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex <= 45) + 1;
+		g_vars->scene11_swingDirectionPrevTurn = (g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex <= 45 ? 1 : 0) + 1;
 }
 
 void sceneHandler11_swingieSit() {
@@ -669,9 +675,17 @@ int sceneHandler11(ExCommand *cmd) {
 				if (!g_vars->scene11_arcadeIsOn)
 					goto LABEL_50;
 
+				int dir1;
+				int dir2;
+
+				dir2 = g_vars->scene11_swingCounterPrevTurn;
+
 				if (g_vars->scene11_swingCounterPrevTurn <= 0 || g_vars->scene11_swingCounter - g_vars->scene11_swingCounterPrevTurn <= 72) {
+					dir1 = g_vars->scene11_swingDirectionPrevTurn;
 				} else {
 					sceneHandler11_swing0();
+					dir1 = 0;
+					dir2 = 0;
 					g_vars->scene11_swingDirectionPrevTurn = 0;
 					g_vars->scene11_swingCounterPrevTurn = 0;
 				}
@@ -679,7 +693,7 @@ int sceneHandler11(ExCommand *cmd) {
 				if (!g_vars->scene11_arcadeIsOn)
 					goto LABEL_50;
 
-				if (g_vars->scene11_swingDirection == g_vars->scene11_swingDirectionPrevTurn || g_vars->scene11_swingCounterPrevTurn <= 0 || g_vars->scene11_swingCounter - g_vars->scene11_swingCounterPrevTurn <= 2) {
+				if (g_vars->scene11_swingDirection == dir1 || dir2 <= 0 || g_vars->scene11_swingCounter - dir2 <= 2) {
 				LABEL_49:
 					if (g_vars->scene11_arcadeIsOn) {
 						g_fp->_behaviorManager->updateBehaviors();
@@ -688,18 +702,19 @@ int sceneHandler11(ExCommand *cmd) {
 					}
 				LABEL_50:
 					if (g_vars->scene11_swingIsSwinging
-						|| (0.0 == g_vars->scene11_swingSpeed
-							&& g_vars->scene11_dudeOnSwing->_movement != 0
-							&& g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex == 45
-							&& (g_vars->scene11_dudeOnSwing->changeStatics2(ST_KCH_STATIC), !g_vars->scene11_arcadeIsOn)
-							&& g_vars->scene11_swingIsSwinging)) {
-						if (!g_vars->scene11_swingie->_movement) {
-							if ((g_vars->scene11_boots->_flags & 4) && g_vars->scene11_boots->_statics->_staticsId == ST_BTS11_2) {
-								sceneHandler11_swingieJumpDown();
-
-								g_fp->_behaviorManager->updateBehaviors();
-								g_fp->startSceneTrack();
-								return res;
+							|| (0.0 == g_vars->scene11_swingSpeed
+								&& g_vars->scene11_dudeOnSwing->_movement
+								&& g_vars->scene11_dudeOnSwing->_movement->_currDynamicPhaseIndex == 45)) {
+						g_vars->scene11_dudeOnSwing->changeStatics2(ST_KCH_STATIC);
+						if (!g_vars->scene11_arcadeIsOn && g_vars->scene11_swingIsSwinging) {
+							if (!g_vars->scene11_swingie->_movement) {
+								if ((g_vars->scene11_boots->_flags & 4) && g_vars->scene11_boots->_statics->_staticsId == ST_BTS11_2) {
+									sceneHandler11_swingieJumpDown();
+
+									g_fp->_behaviorManager->updateBehaviors();
+									g_fp->startSceneTrack();
+									return res;
+								}
 							}
 							g_vars->scene11_swingie->startAnim(MV_SWR_SWING, 0, -1);
 						}
@@ -709,20 +724,25 @@ int sceneHandler11(ExCommand *cmd) {
 					return res;
 				}
 
-				if (g_vars->scene11_swingDirectionPrevTurn == 1) {
-					if (!g_vars->scene11_swingDirection)
+				if (dir1 == 1) {
+					if (!g_vars->scene11_swingDirection) {
 						sceneHandler11_swing1();
-					else
-						sceneHandler11_swing0();
-				} else if (g_vars->scene11_swingDirectionPrevTurn == 2) {
-					if (!g_vars->scene11_swingDirection)
+				LABEL_48:
+						g_vars->scene11_swingCounterPrevTurn = g_vars->scene11_swingCounter;
+						goto LABEL_49;
+					}
+				} else {
+					if (dir1 != 2)
+						goto LABEL_48;
+
+					if (!g_vars->scene11_swingDirection) {
 						sceneHandler11_swing2();
-					else
-						sceneHandler11_swing0();
+						goto LABEL_48;
+					}
 				}
 
-				g_vars->scene11_swingCounterPrevTurn = g_vars->scene11_swingCounter;
-				goto LABEL_49;
+				sceneHandler11_swing0();
+				goto LABEL_48;
 			}
 			if (x >= g_fp->_sceneRect.left + 200) {
 				if (x <= g_fp->_sceneRect.right - 200) {





More information about the Scummvm-git-logs mailing list