From 00daee91124a18a71b6fa57ef2c709e162747674 Mon Sep 17 00:00:00 2001 From: Thanasis Antoniou Date: Fri, 12 Apr 2019 19:09:42 +0300 Subject: BLADERUNNER: Fix McCoy's fake voice with Dektora Also a fix for a closeArchive() warning about A.TLK not being open --- engines/bladerunner/chapters.cpp | 6 ++++++ engines/bladerunner/script/scene/nr07.cpp | 25 +++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) (limited to 'engines') 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); -- cgit v1.2.3