aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Kohaut2019-01-27 16:43:35 +0100
committerPeter Kohaut2019-01-27 20:27:45 +0100
commit2fd99c5c1b3f0855ac94908ce14dfbc445f26ed6 (patch)
tree6ca7761088d97358dadb0ae22235287ee7c7b947
parentc3a2a262d98d832f2e5433caaa21acccc97669bd (diff)
downloadscummvm-rg350-2fd99c5c1b3f0855ac94908ce14dfbc445f26ed6.tar.gz
scummvm-rg350-2fd99c5c1b3f0855ac94908ce14dfbc445f26ed6.tar.bz2
scummvm-rg350-2fd99c5c1b3f0855ac94908ce14dfbc445f26ed6.zip
BLADERUNNER: Police station script fixes
-rw-r--r--engines/bladerunner/debugger.cpp4
-rw-r--r--engines/bladerunner/script/scene/ps09.cpp30
-rw-r--r--engines/bladerunner/script/scene_script.h2
3 files changed, 22 insertions, 14 deletions
diff --git a/engines/bladerunner/debugger.cpp b/engines/bladerunner/debugger.cpp
index f926ecf568..db31c76cfe 100644
--- a/engines/bladerunner/debugger.cpp
+++ b/engines/bladerunner/debugger.cpp
@@ -363,7 +363,7 @@ const struct SceneList {
{ 1, "CT05", 28, 17 }, { 1, "CT06", 29, 18 }, { 1, "CT07", 30, 19 }, { 1, "CT12", 4, 24 },
{ 1, "MA01", 49, 48 }, { 1, "MA02", 10, 49 }, { 1, "MA04", 10, 50 }, { 1, "MA04", 50, 50 },
{ 1, "MA05", 51, 51 }, { 1, "MA06", 52, 52 }, { 1, "MA07", 53, 53 }, { 1, "PS01", 61, 65 },
- { 1, "PS02", 62, 66 }, { 1, "PS03", 63, 67 }, { 1, "PS04", 64, 68 }, { 1, "PS05", 15, 59 },
+ { 1, "PS02", 62, 66 }, { 1, "PS03", 63, 67 }, { 1, "PS04", 64, 68 }, { 1, "PS05", 15, 69 },
{ 1, "PS06", 65, 70 }, { 1, "PS07", 66, 71 }, { 1, "PS09", 67, 72 }, { 1, "PS10", 14, 73 },
{ 1, "PS11", 14, 74 }, { 1, "PS12", 14, 75 }, { 1, "PS13", 14, 76 }, { 1, "PS14", 68, 77 },
{ 1, "PS15", 101, 119 }, { 1, "RC01", 69, 78 }, { 1, "RC02", 16, 79 }, { 1, "RC51", 16, 107 },
@@ -384,7 +384,7 @@ const struct SceneList {
{ 2, "NR01", 54, 54 }, { 2, "NR02", 11, 55 }, { 2, "NR03", 55, 56 }, { 2, "NR04", 12, 57 },
{ 2, "NR05", 13, 58 }, { 2, "NR06", 56, 59 }, { 2, "NR07", 57, 60 }, { 2, "NR08", 13, 61 },
{ 2, "NR09", 58, 62 }, { 2, "NR10", 59, 63 }, { 2, "NR11", 60, 64 }, { 2, "PS01", 61, 65 },
- { 2, "PS02", 62, 66 }, { 2, "PS03", 63, 67 }, { 2, "PS04", 64, 68 }, { 2, "PS05", 15, 59 },
+ { 2, "PS02", 62, 66 }, { 2, "PS03", 63, 67 }, { 2, "PS04", 64, 68 }, { 2, "PS05", 15, 69 },
{ 2, "PS06", 65, 70 }, { 2, "PS07", 66, 71 }, { 2, "PS09", 67, 72 }, { 2, "PS10", 14, 73 },
{ 2, "PS11", 14, 74 }, { 2, "PS12", 14, 75 }, { 2, "PS13", 14, 76 }, { 2, "PS14", 68, 77 },
{ 2, "PS15", 101, 119 }, { 2, "RC01", 69, 78 }, { 2, "RC03", 70, 80 }, { 2, "RC04", 71, 81 },
diff --git a/engines/bladerunner/script/scene/ps09.cpp b/engines/bladerunner/script/scene/ps09.cpp
index 46bfac5d03..4f586c834d 100644
--- a/engines/bladerunner/script/scene/ps09.cpp
+++ b/engines/bladerunner/script/scene/ps09.cpp
@@ -97,19 +97,19 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {
return true;
}
- if ((!Game_Flag_Query(kFlagPS09GrigorianDialogue)
- && Game_Flag_Query(kFlagPS09GrigorianTalk1)
- && Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewA)
+ if (!Game_Flag_Query(kFlagPS09GrigorianDialogue)
+ && Game_Flag_Query(kFlagPS09GrigorianTalk1)
+ && (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewA)
+ || Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1)
+ || Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)
+ || Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)
)
- || Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1)
- || Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)
- || Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)
) {
Game_Flag_Set(kFlagPS09GrigorianDialogue);
Actor_Says(kActorMcCoy, 4240, 13);
Actor_Says(kActorGrigorian, 550, 15);
Actor_Says(kActorGrigorian, 480, 16);
- dialogueWithGregorian();
+ dialogueWithGrigorian();
return true;
}
@@ -127,7 +127,7 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {
|| Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)
)
) {
- dialogueWithGregorian();
+ dialogueWithGrigorian();
return true;
}
@@ -242,7 +242,15 @@ bool SceneScriptPS09::ClickedOn2DRegion(int region) {
}
void SceneScriptPS09::SceneFrameAdvanced(int frame) {
- if (frame == 1 || frame == 15 || frame == 20 || frame == 31 || frame == 33 || frame == 35 || frame == 52 || frame == 54) {
+ if (frame == 1
+ || frame == 15
+ || frame == 20
+ || frame == 31
+ || frame == 33
+ || frame == 35
+ || frame == 52
+ || frame == 54
+ ) {
Sound_Play(97, Random_Query(50, 33), 10, 10, 50);
}
//return true;
@@ -279,7 +287,7 @@ void SceneScriptPS09::PlayerWalkedOut() {
void SceneScriptPS09::DialogueQueueFlushed(int a1) {
}
-void SceneScriptPS09::dialogueWithGregorian() {
+void SceneScriptPS09::dialogueWithGrigorian() {
Dialogue_Menu_Clear_List();
if (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewA)
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1)
@@ -289,7 +297,7 @@ void SceneScriptPS09::dialogueWithGregorian() {
DM_Add_To_List_Never_Repeat_Once_Selected(180, -1, 5, 5); // CARS
DM_Add_To_List_Never_Repeat_Once_Selected(200, -1, 3, 6); // VOIGT-KAMPFF
}
- if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)
+ if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote) // bug? there is no way how to obtain this clue
&& (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewA)
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1)
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)
diff --git a/engines/bladerunner/script/scene_script.h b/engines/bladerunner/script/scene_script.h
index 84f709907a..06288204e8 100644
--- a/engines/bladerunner/script/scene_script.h
+++ b/engines/bladerunner/script/scene_script.h
@@ -381,7 +381,7 @@ END_SCRIPT
// PS08 does not exits
DECLARE_SCRIPT(PS09)
- void dialogueWithGregorian();
+ void dialogueWithGrigorian();
END_SCRIPT
DECLARE_SCRIPT(PS10)