[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