[Scummvm-git-logs] scummvm master -> 8787bbb39029ef6fc901ded8a09fba4215e03f79

antoniou79 antoniou at cti.gr
Sun May 5 13:36:04 CEST 2019


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:
8787bbb390 BLADERUNNER: fix for Clovis being stuck at BB11


Commit: 8787bbb39029ef6fc901ded8a09fba4215e03f79
    https://github.com/scummvm/scummvm/commit/8787bbb39029ef6fc901ded8a09fba4215e03f79
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-05T14:33:04+03:00

Commit Message:
BLADERUNNER: fix for Clovis being stuck at BB11

This is a possible bugfix, hopefully it will be enough

The bug occurs when skipping fast through the dialogue of Clovis with Sadik at BB11 rooftop. But it does not happen always. I've managed to capture the case when this happens a few times (_animationState == 0 switch clause), but I'm unsure if there are other unhandled _animationState values that would cause this.

Changed paths:
    engines/bladerunner/script/ai/clovis.cpp
    engines/bladerunner/script/scene/ps10.cpp
    engines/bladerunner/script/scene/ps11.cpp
    engines/bladerunner/script/scene/ps12.cpp
    engines/bladerunner/script/scene/ps13.cpp
    engines/bladerunner/script/vk_script.cpp


diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp
index 542beb0..b26df93 100644
--- a/engines/bladerunner/script/ai/clovis.cpp
+++ b/engines/bladerunner/script/ai/clovis.cpp
@@ -1436,13 +1436,28 @@ bool AIScriptClovis::ChangeAnimationMode(int mode) {
 
 	case kAnimationModeSit:
 		switch (_animationState) {
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+		// Sometimes the animationState will be 0 here (seems to happen randomly if skipping fast through the dialogue)
+		// and this would cause Clovis to not switch to his sitting animation
+		// and thus the BB11 rooftop scene would get stuck there
+		case 0:
+			// fall through
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		case 4:
+			// fall through
 		case 5:
+			// fall through
 		case 6:
+			// fall through
 		case 7:
+			// fall through
 		case 8:
+			// fall through
 		case 9:
+			// fall through
 		case 10:
+			// fall through
 		case 11:
 			_animationState = 3;
 			_animationFrame = 0;
diff --git a/engines/bladerunner/script/scene/ps10.cpp b/engines/bladerunner/script/scene/ps10.cpp
index 6cb50cd..18e9b13 100644
--- a/engines/bladerunner/script/scene/ps10.cpp
+++ b/engines/bladerunner/script/scene/ps10.cpp
@@ -503,7 +503,7 @@ bool SceneScriptPS10::ClickedOnItem(int itemId, bool combatMode) {
 		case kItemPS10Target4:
 			Sound_Play(kSfxFEMHURT2, 50, 0, 0, 50);
 			break;
-		case kItemPS10Target5:              // fall-through
+		case kItemPS10Target5:              // fall through
 		case kItemPS10Target7:
 			Sound_Play(kSfxMALEHURT, 50, 0, 0, 50);
 			break;
diff --git a/engines/bladerunner/script/scene/ps11.cpp b/engines/bladerunner/script/scene/ps11.cpp
index a56e3d0..8a68bc4 100644
--- a/engines/bladerunner/script/scene/ps11.cpp
+++ b/engines/bladerunner/script/scene/ps11.cpp
@@ -755,12 +755,12 @@ bool SceneScriptPS11::ClickedOnActor(int actorId) {
 bool SceneScriptPS11::ClickedOnItem(int itemId, bool combatMode) {
 	if (Player_Query_Combat_Mode()) {
 		switch (itemId) {
-		case kItemPS11Target4:              // fall-through
+		case kItemPS11Target4:              // fall through
 		case kItemPS11Target15:
 			Sound_Play(kSfxMALEHURT, 50, 0, 0, 50);
 			break;
-		case kItemPS11Target7:              // fall-through
-		case kItemPS11Target8:              // fall-through
+		case kItemPS11Target7:              // fall through
+		case kItemPS11Target8:              // fall through
 		case kItemPS11Target13:
 			Sound_Play(kSfxFEMHURT2, 50, 0, 0, 50);
 			break;
diff --git a/engines/bladerunner/script/scene/ps12.cpp b/engines/bladerunner/script/scene/ps12.cpp
index 0d0fcee..cd45c16 100644
--- a/engines/bladerunner/script/scene/ps12.cpp
+++ b/engines/bladerunner/script/scene/ps12.cpp
@@ -826,8 +826,8 @@ bool SceneScriptPS12::ClickedOnItem(int itemId, bool a2) {
 		Item_Spin_In_World(itemId);
 #endif // BLADERUNNER_ORIGINAL_BUGS
 		switch (itemId) {
-		case kItemPS12Target6:              // fall-through
-		case kItemPS12Target7:              // fall-through
+		case kItemPS12Target6:              // fall through
+		case kItemPS12Target7:              // fall through
 		case kItemPS12Target8:
 #if BLADERUNNER_ORIGINAL_BUGS
 #else
@@ -843,20 +843,20 @@ bool SceneScriptPS12::ClickedOnItem(int itemId, bool a2) {
 			Item_Flag_As_Non_Target(kItemPS12Target7);
 			Item_Flag_As_Non_Target(kItemPS12Target8);
 			break;
-		case kItemPS12Target1:              // fall-through
-		case kItemPS12Target2:              // fall-through
-		case kItemPS12Target3:              // fall-through
-		case kItemPS12Target4:              // fall-through
-		case kItemPS12Target5:              // fall-through
-		case kItemPS12Target9:              // fall-through
-		case kItemPS12Target10:             // fall-through
-		case kItemPS12Target11:             // fall-through
-		case kItemPS12Target12:             // fall-through
-		case kItemPS12Target13:             // fall-through
-		case kItemPS12Target14:             // fall-through
-		case kItemPS12Target15:             // fall-through
-		case kItemPS12Target16:             // fall-through
-		case kItemPS12Target17:             // fall-through
+		case kItemPS12Target1:              // fall through
+		case kItemPS12Target2:              // fall through
+		case kItemPS12Target3:              // fall through
+		case kItemPS12Target4:              // fall through
+		case kItemPS12Target5:              // fall through
+		case kItemPS12Target9:              // fall through
+		case kItemPS12Target10:             // fall through
+		case kItemPS12Target11:             // fall through
+		case kItemPS12Target12:             // fall through
+		case kItemPS12Target13:             // fall through
+		case kItemPS12Target14:             // fall through
+		case kItemPS12Target15:             // fall through
+		case kItemPS12Target16:             // fall through
+		case kItemPS12Target17:             // fall through
 		default:
 #if BLADERUNNER_ORIGINAL_BUGS
 #else
diff --git a/engines/bladerunner/script/scene/ps13.cpp b/engines/bladerunner/script/scene/ps13.cpp
index ef1d45f..95dc38d 100644
--- a/engines/bladerunner/script/scene/ps13.cpp
+++ b/engines/bladerunner/script/scene/ps13.cpp
@@ -694,11 +694,11 @@ bool SceneScriptPS13::ClickedOnActor(int actorId) {
 bool SceneScriptPS13::ClickedOnItem(int itemId, bool a2) {
 	if (Player_Query_Combat_Mode()) {
 		switch (itemId) {
-		case kItemPS13Target3:             // fall-through
+		case kItemPS13Target3:             // fall through
 		case kItemPS13Target5:
 			Sound_Play(kSfxFEMHURT2, 50, 0, 0, 50);
 			break;
-		case kItemPS13Target10:            // fall-through
+		case kItemPS13Target10:            // fall through
 		case kItemPS13Target11:
 			Sound_Play(kSfxMALEHURT, 50, 0, 0, 50);
 			break;
@@ -710,8 +710,8 @@ bool SceneScriptPS13::ClickedOnItem(int itemId, bool a2) {
 		Item_Spin_In_World(itemId);
 #endif // BLADERUNNER_ORIGINAL_BUGS
 		switch (itemId) {
-		case kItemPS13Target10:            // fall-through
-		case kItemPS13Target11:            // fall-through
+		case kItemPS13Target10:            // fall through
+		case kItemPS13Target11:            // fall through
 		case kItemPS13Target12:
 #if BLADERUNNER_ORIGINAL_BUGS
 #else
@@ -727,18 +727,18 @@ bool SceneScriptPS13::ClickedOnItem(int itemId, bool a2) {
 			Item_Flag_As_Non_Target(kItemPS13Target11);
 			Item_Flag_As_Non_Target(kItemPS13Target12);
 			break;
-		case kItemPS13Target1:             // fall-through
-		case kItemPS13Target2:             // fall-through
-		case kItemPS13Target3:             // fall-through
-		case kItemPS13Target4:             // fall-through
-		case kItemPS13Target5:             // fall-through
-		case kItemPS13Target6:             // fall-through
-		case kItemPS13Target7:             // fall-through
-		case kItemPS13Target8:             // fall-through
-		case kItemPS13Target9:             // fall-through
-		case kItemPS13Target13:            // fall-through
-		case kItemPS13Target14:            // fall-through
-		case kItemPS13Target15:            // fall-through
+		case kItemPS13Target1:             // fall through
+		case kItemPS13Target2:             // fall through
+		case kItemPS13Target3:             // fall through
+		case kItemPS13Target4:             // fall through
+		case kItemPS13Target5:             // fall through
+		case kItemPS13Target6:             // fall through
+		case kItemPS13Target7:             // fall through
+		case kItemPS13Target8:             // fall through
+		case kItemPS13Target9:             // fall through
+		case kItemPS13Target13:            // fall through
+		case kItemPS13Target14:            // fall through
+		case kItemPS13Target15:            // fall through
 		default:
 #if BLADERUNNER_ORIGINAL_BUGS
 #else
diff --git a/engines/bladerunner/script/vk_script.cpp b/engines/bladerunner/script/vk_script.cpp
index 1d99e16..cb6ed88 100644
--- a/engines/bladerunner/script/vk_script.cpp
+++ b/engines/bladerunner/script/vk_script.cpp
@@ -511,7 +511,7 @@ void VKScript::SCRIPT_VK_DLL_McCoy_Asks_Question(int actorId, int questionId) {
 			case kActorBulletBob:
 				// debug("Last Bullet Bob Question!");
 				// don't break for BOB
-				// fall-through
+				// fall through
 			default:
 				VK_Subject_Reacts(5, 0, 0, 100);
 			}





More information about the Scummvm-git-logs mailing list