aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThanasis Antoniou2019-04-12 19:09:42 +0300
committerThanasis Antoniou2019-04-12 19:10:49 +0300
commit00daee91124a18a71b6fa57ef2c709e162747674 (patch)
tree419da2edce89cf5eca94f974f6d774dd78d461e8
parentfd2ae5854eebc23f0b0d70e0510afcb90decf0b0 (diff)
downloadscummvm-rg350-00daee91124a18a71b6fa57ef2c709e162747674.tar.gz
scummvm-rg350-00daee91124a18a71b6fa57ef2c709e162747674.tar.bz2
scummvm-rg350-00daee91124a18a71b6fa57ef2c709e162747674.zip
BLADERUNNER: Fix McCoy's fake voice with Dektora
Also a fix for a closeArchive() warning about A.TLK not being open
-rw-r--r--engines/bladerunner/chapters.cpp6
-rw-r--r--engines/bladerunner/script/scene/nr07.cpp25
2 files changed, 25 insertions, 6 deletions
diff --git a/engines/bladerunner/chapters.cpp b/engines/bladerunner/chapters.cpp
index 64da4812cb..09ab94bb98 100644
--- a/engines/bladerunner/chapters.cpp
+++ b/engines/bladerunner/chapters.cpp
@@ -53,7 +53,13 @@ bool Chapters::enterChapter(int chapter) {
void Chapters::closeResources() {
int id = _resourceIds[_chapter];
+#if BLADERUNNER_ORIGINAL_BUGS
_vm->closeArchive("A.TLK");
+#else
+ if (_vm->isArchiveOpen("A.TLK")) {
+ _vm->closeArchive("A.TLK");
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
_vm->closeArchive(Common::String::format("VQA%d.MIX", MIN(id, 3)));
_vm->closeArchive(Common::String::format("%d.TLK", MIN(id, 3)));
_vm->closeArchive(Common::String::format("OUTTAKE%d.MIX", id));
diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp
index 88490092f0..5a66016eb9 100644
--- a/engines/bladerunner/script/scene/nr07.cpp
+++ b/engines/bladerunner/script/scene/nr07.cpp
@@ -244,11 +244,24 @@ void SceneScriptNR07::clickedOnVase() {
} else {
Actor_Modify_Friendliness_To_Other(kActorDektora, kActorMcCoy, -2);
}
- Actor_Says(kActorMcCoy, 3600, 19);
- Actor_Says(kActorDektora, 550, 30);
- Actor_Says(kActorMcCoy, 3605, 19);
- Actor_Says(kActorDektora, 560, 31);
- Actor_Says(kActorMcCoy, 3610, 19);
+#if BLADERUNNER_ORIGINAL_BUGS
+ Actor_Says(kActorMcCoy, 3600, 19); // The flowers are beautiful. (McCoy fake fan voice)
+ Actor_Says(kActorDektora, 550, 30); // And a extremely rare (...)
+ Actor_Says(kActorMcCoy, 3605, 19); // That's a pretty card. (McCoy fake fan voice)
+ Actor_Says(kActorDektora, 560, 31); // Please don't touch that. It's private.
+ Actor_Says(kActorMcCoy, 3610, 19); // Sorry (McCoy fake fan voice)
+#else
+ if (!Game_Flag_Query(kFlagNR07McCoyIsCop)) {
+ Actor_Says(kActorMcCoy, 3600, 19); // The flowers are beautiful. (McCoy fake fan voice)
+ Actor_Says(kActorDektora, 550, 30); // And a extremely rare (...)
+ Actor_Says(kActorMcCoy, 3605, 19); // That's a pretty card. (McCoy fake fan voice)
+ Actor_Says(kActorDektora, 560, 31); // Please don't touch that. It's private.
+ Actor_Says(kActorMcCoy, 3610, 19); // Sorry (McCoy fake fan voice)
+ } else {
+ Actor_Says(kActorDektora, 560, 31); // Please don't touch that. It's private.
+ Actor_Says(kActorMcCoy, 8525, 19); // Hmph.
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
}
} else if (!Actor_Clue_Query(kActorMcCoy, kClueDektorasCard)) {
Actor_Clue_Acquire(kActorMcCoy, kClueDektorasCard, true, -1);
@@ -270,7 +283,7 @@ void SceneScriptNR07::talkAboutBelt1() {
Actor_Says(kActorMcCoy, 3630, 13);
Actor_Says_With_Pause(kActorDektora, 590, 1.0f, 30);
Actor_Says(kActorDektora, 600, 30);
- Actor_Start_Speech_Sample(kActorMcCoy, 3640);
+ Actor_Start_Speech_Sample(kActorMcCoy, 3640); // Tell you the truth, I'm from the LPD. (...)
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, 0);
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);