[Scummvm-git-logs] scummvm master -> 8ce3910081a95d93a635b565313c900f2403d3e0

antoniou79 a.antoniou79 at gmail.com
Wed Feb 26 00:05:39 UTC 2020


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:
8ce3910081 BLADERUNNER: Fix Lucy phonecall consistency bug


Commit: 8ce3910081a95d93a635b565313c900f2403d3e0
    https://github.com/scummvm/scummvm/commit/8ce3910081a95d93a635b565313c900f2403d3e0
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2020-02-26T02:04:50+02:00

Commit Message:
BLADERUNNER: Fix Lucy phonecall consistency bug

Lucy should not mention the place with the cars if she won't meet McCoy there

Lucy should not say "I'll meet you there, at the place where he sells the cars" when CrazyLegs is not there.

Changed paths:
    engines/bladerunner/script/scene/ma04.cpp
    engines/bladerunner/script/script.cpp


diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp
index 7af22753c1..c8f4b04c35 100644
--- a/engines/bladerunner/script/scene/ma04.cpp
+++ b/engines/bladerunner/script/scene/ma04.cpp
@@ -371,7 +371,7 @@ void SceneScriptMA04::phoneCallWithDektora() {
 	Actor_Says(kActorDektora, 340, 3);
 	Actor_Says(kActorDektora, 350, 3);
 	if (Game_Flag_Query(kFlagCrazylegsArrested)
-	 || Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsLeavesShowroom
+	    || Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsLeavesShowroom
 	) {
 		answer = 1170; // CLOVIS
 	} else {
@@ -424,15 +424,26 @@ void SceneScriptMA04::phoneCallWithLucy() {
 	Actor_Says(kActorMcCoy, 2555, 19);
 	Actor_Says(kActorLucy, 570, 3);
 	Actor_Says(kActorMcCoy, 2560, 17);
-	Actor_Says(kActorLucy, 580, 3);
+	Actor_Says(kActorLucy, 580, 3); // You promise?
 	if (Game_Flag_Query(kFlagCrazylegsArrested)
-	 || Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsLeavesShowroom
+	    || Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsLeavesShowroom
 	) {
-		Actor_Says(kActorLucy, 630, 3);
-		Actor_Says_With_Pause(kActorMcCoy, 2575, 0.0f, 15);
+#if BLADERUNNER_ORIGINAL_BUGS
+		Actor_Says(kActorLucy, 630, 3); // I'll meet you there, okay? At the place where he sells the cars.
+		Actor_Says_With_Pause(kActorMcCoy, 2575, 0.0f, 15); // Wait, Lucy!
+		if (!Game_Flag_Query(kFlagDirectorsCut)) {
+			Actor_Says(kActorLucy, 640, 3);
+		}
+#else
+		// When CrazyLegs is gone from his shop,
+		// it does not make sense for Lucy to say "At the place where he sells the cars"
+		Actor_Says_With_Pause(kActorMcCoy, 2570, 0.0f, 13); // Lucy, there's a good chance--
 		if (!Game_Flag_Query(kFlagDirectorsCut)) {
 			Actor_Says(kActorLucy, 640, 3);
 		}
+		Sound_Play(kSfxSPNBEEP9, 100, 0, 0, 50); // (Lucy hangs up)
+		Actor_Says(kActorMcCoy, 2575, 15); // Wait, Lucy!
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		Actor_Clue_Acquire(kActorMcCoy, kCluePhoneCallLucy2, true, -1);
 	} else {
 		Actor_Says(kActorLucy, 590, 3);
@@ -440,15 +451,26 @@ void SceneScriptMA04::phoneCallWithLucy() {
 		Actor_Says(kActorLucy, 600, 3);
 		Actor_Says(kActorLucy, 610, 3);
 		Actor_Says(kActorLucy, 620, 3);
+#if BLADERUNNER_ORIGINAL_BUGS
 		Actor_Says(kActorMcCoy, 2570, 13);
+#else
+		// McCoy is interrupted here, so use Actor_Says_With_Pause
+		Actor_Says_With_Pause(kActorMcCoy, 2570, 0.0f, 13);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		Actor_Says_With_Pause(kActorLucy, 630, 0.0f, 3);
 		Actor_Says_With_Pause(kActorMcCoy, 2575, 0.0f, 15);
 		if (!Game_Flag_Query(kFlagDirectorsCut)) {
 			Actor_Says(kActorLucy, 640, 3);
 		}
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+		Sound_Play(kSfxSPNBEEP9, 100, 0, 0, 50);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		Actor_Clue_Acquire(kActorMcCoy, kCluePhoneCallLucy1, true, -1);
 	}
+#if BLADERUNNER_ORIGINAL_BUGS
 	Sound_Play(kSfxSPNBEEP9, 100, 0, 0, 50);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 }
 
 void SceneScriptMA04::phoneCallWithSteele() {
diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp
index 8738edc6a7..85298edb5f 100644
--- a/engines/bladerunner/script/script.cpp
+++ b/engines/bladerunner/script/script.cpp
@@ -297,9 +297,9 @@ void ScriptBase::Actor_Says(int actorId, int sentenceId, int animationMode) {
 }
 
 /**
-* Actor actorId says the sentenceId, and then
-* if pause > 0.0f there will be a delay for "pause" seconds.
-* pause can be 0.0f
+* Actor actorId speaks the quote of sentenceId.
+* If pause > 0.0f, there will be a delay for "pause" seconds after the spoken sentence.
+* Pause can be 0.0f which can be used to simulate a talking actor being interrupted by another actor.
 */
 void ScriptBase::Actor_Says_With_Pause(int actorId, int sentenceId, float pause, int animationMode) {
 	debugC(kDebugScript, "Actor_Says_With_Pause(%d, %d, %f, %d)", actorId, sentenceId, pause, animationMode);




More information about the Scummvm-git-logs mailing list