aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantoniou792019-08-18 21:09:51 +0300
committerantoniou792019-08-18 21:09:51 +0300
commitb7c089f489440252785b1f18dc6d3a2356d6fde1 (patch)
tree64dbad110dbcc8934d83b6de11694fbba2643831
parenta5849197c95659c04ad0e386495f360b68706297 (diff)
downloadscummvm-rg350-b7c089f489440252785b1f18dc6d3a2356d6fde1.tar.gz
scummvm-rg350-b7c089f489440252785b1f18dc6d3a2356d6fde1.tar.bz2
scummvm-rg350-b7c089f489440252785b1f18dc6d3a2356d6fde1.zip
BLADERUNNER: Restore bits of dialogue for McCoy, Chew, Walls
-rw-r--r--engines/bladerunner/game_constants.h2
-rw-r--r--engines/bladerunner/script/ai/crazylegs.cpp2
-rw-r--r--engines/bladerunner/script/ai/early_q.cpp4
-rw-r--r--engines/bladerunner/script/ai/sebastian.cpp6
-rw-r--r--engines/bladerunner/script/ai/steele.cpp2
-rw-r--r--engines/bladerunner/script/scene/dr03.cpp24
-rw-r--r--engines/bladerunner/script/scene/ma06.cpp8
-rw-r--r--engines/bladerunner/script/scene/ps15.cpp10
-rw-r--r--engines/bladerunner/script/scene/rc02.cpp20
-rw-r--r--engines/bladerunner/script/scene/rc03.cpp6
-rw-r--r--engines/bladerunner/script/scene/tb06.cpp3
11 files changed, 61 insertions, 26 deletions
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 5711b0e562..0454666009 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -596,7 +596,7 @@ enum Flags {
kFlagTB02toTB03 = 154, // is never checked
kFlagTB03toTB02 = 155,
kFlagPS07KleinInsultedTalk = 156,
- // 157 is never used
+ kFlagSergeantWallsMazeInstructions = 157, // Re-purposed. Original: 157 is never used
kFlagSergeantWallsBuzzInDone = 158,
kFlagPS04GuzzaTalkZubenRetired = 159,
kFlagPS04GuzzaTalkZubenEscaped = 160,
diff --git a/engines/bladerunner/script/ai/crazylegs.cpp b/engines/bladerunner/script/ai/crazylegs.cpp
index b4ed739844..e54e57dd36 100644
--- a/engines/bladerunner/script/ai/crazylegs.cpp
+++ b/engines/bladerunner/script/ai/crazylegs.cpp
@@ -82,7 +82,7 @@ void AIScriptCrazylegs::OtherAgentEnteredCombatMode(int otherActorId, int combat
Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true);
Actor_Says(kActorCrazylegs, 430, 3);
- Actor_Says_With_Pause(kActorCrazylegs, 440, 0.0, 3);
+ Actor_Says_With_Pause(kActorCrazylegs, 440, 0.0f, 3);
Actor_Says(kActorMcCoy, 1870, -1);
Actor_Says(kActorCrazylegs, 450, 3);
Actor_Set_Goal_Number(kActorCrazylegs, kGoalCrazyLegsMcCoyDrewHisGun);
diff --git a/engines/bladerunner/script/ai/early_q.cpp b/engines/bladerunner/script/ai/early_q.cpp
index 1d98e98453..d78ca824a9 100644
--- a/engines/bladerunner/script/ai/early_q.cpp
+++ b/engines/bladerunner/script/ai/early_q.cpp
@@ -347,8 +347,8 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
_vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, kAnimationModeCombatAim);
Actor_Says(kActorEarlyQ, 130, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 3400, kAnimationModeCombatAim);
- Actor_Says_With_Pause(kActorEarlyQ, 140, 1.0, kAnimationModeTalk);
- Actor_Says_With_Pause(kActorEarlyQ, 150, 1.0, kAnimationModeTalk);
+ Actor_Says_With_Pause(kActorEarlyQ, 140, 1.0f, kAnimationModeTalk);
+ Actor_Says_With_Pause(kActorEarlyQ, 150, 1.0f, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 3405, kAnimationModeCombatAim);
Actor_Says(kActorEarlyQ, 160, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 3410, kAnimationModeCombatAim);
diff --git a/engines/bladerunner/script/ai/sebastian.cpp b/engines/bladerunner/script/ai/sebastian.cpp
index d5032ebec4..64f272e854 100644
--- a/engines/bladerunner/script/ai/sebastian.cpp
+++ b/engines/bladerunner/script/ai/sebastian.cpp
@@ -103,13 +103,13 @@ void AIScriptSebastian::OtherAgentEnteredCombatMode(int otherActorId, int combat
if (Global_Variable_Query(kVariableGunPulledInFrontOfSebastian) == 1) {
Actor_Says(kActorSebastian, 680, 12);
Actor_Face_Actor(kActorMcCoy, kActorSebastian, true);
- Actor_Says_With_Pause(kActorMcCoy, 7265, 0.0, kAnimationModeCombatIdle);
+ Actor_Says_With_Pause(kActorMcCoy, 7265, 0.0f, kAnimationModeCombatIdle);
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatIdle);
Delay(500);
Actor_Says(kActorSebastian, 690, 16);
} else {
Actor_Says(kActorSebastian, 700, 15);
- Actor_Says_With_Pause(kActorMcCoy, 7270, 0.0, kAnimationModeCombatIdle);
+ Actor_Says_With_Pause(kActorMcCoy, 7270, 0.0f, kAnimationModeCombatIdle);
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatIdle);
}
AI_Movement_Track_Unpause(kActorSebastian);
@@ -421,7 +421,7 @@ void AIScriptSebastian::dialogue() {
Actor_Says(kActorSebastian, 350, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 7125, 13);
Actor_Says(kActorSebastian, 360, 17);
- Actor_Says_With_Pause(kActorMcCoy, 7130, 1.0, kAnimationModeTalk);
+ Actor_Says_With_Pause(kActorMcCoy, 7130, 1.0f, kAnimationModeTalk);
Actor_Says(kActorMcCoy, 7135, 18);
break;
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index 739ef95111..1ee7e5f572 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -801,7 +801,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Actor_Face_Actor(kActorSteele, kActorIzo, true);
Actor_Change_Animation_Mode(kActorIzo, kAnimationModeIdle);
Actor_Face_Actor(kActorIzo, kActorSteele, true);
- Actor_Says_With_Pause(kActorSteele, 2010, 0.0, kAnimationModeCombatIdle);
+ Actor_Says_With_Pause(kActorSteele, 2010, 0.0f, kAnimationModeCombatIdle);
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle);
Loop_Actor_Walk_To_Actor(kActorSteele, kActorIzo, 60, false, false);
Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle);
diff --git a/engines/bladerunner/script/scene/dr03.cpp b/engines/bladerunner/script/scene/dr03.cpp
index 265dcd1856..c272baded8 100644
--- a/engines/bladerunner/script/scene/dr03.cpp
+++ b/engines/bladerunner/script/scene/dr03.cpp
@@ -68,8 +68,13 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
Actor_Face_Actor(kActorChew, kActorMcCoy, true);
if (!Game_Flag_Query(kFlagDR03ChewTalk1)) {
- Actor_Says(kActorMcCoy, 755, 18);
- Actor_Says(kActorChew, 10, 14);
+ if (_vm->_cutContent && Random_Query(1, 2) == 1) {
+ Actor_Says(kActorMcCoy, 750, 18);
+ Actor_Says(kActorChew, 0, 14);
+ } else {
+ Actor_Says(kActorMcCoy, 755, 18);
+ Actor_Says(kActorChew, 10, 14);
+ }
Actor_Says(kActorMcCoy, 760, 18);
Actor_Says(kActorChew, 20, 14);
Actor_Says(kActorMcCoy, 765, 18);
@@ -185,14 +190,14 @@ void SceneScriptDR03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
void SceneScriptDR03::PlayerWalkedIn() {
if (!Game_Flag_Query(kFlagDR02toDR03)) {
if (Random_Query(1, 2) == 1) {
- Actor_Says(kActorChew, 660, 14);
- Actor_Says(kActorChew, 680, 14);
+ Actor_Says(kActorChew, 660, 14); // (yells) Ah!
+ Actor_Says(kActorChew, 680, 14); // What you want? I busy.
} else if (Random_Query(1, 2) == 2) {
- Actor_Says(kActorChew, 670, 14);
- Actor_Says(kActorChew, 620, 14);
+ Actor_Says(kActorChew, 670, 14); // Hmph. (mumbles in Chinese)
+ Actor_Says(kActorChew, 620, 14); // (yells) What you do, huh?
} else {
- Actor_Says(kActorChew, 690, 14);
- Actor_Says(kActorChew, 710, 14);
+ Actor_Says(kActorChew, 690, 14); // Not good time now, come back later.
+ Actor_Says(kActorChew, 710, 14); // (Mumbles in Chinese)
}
}
}
@@ -285,6 +290,9 @@ void SceneScriptDR03::dialogueWithChew() {
case 670: // TYRELL
Actor_Says(kActorMcCoy, 765, 12);
+ if (_vm->_cutContent) {
+ Actor_Says_With_Pause(kActorMcCoy, 785, 0.80f, 18);
+ }
Actor_Says(kActorMcCoy, 790, 13);
Actor_Says(kActorChew, 310, 12);
Actor_Says(kActorChew, 320, 3);
diff --git a/engines/bladerunner/script/scene/ma06.cpp b/engines/bladerunner/script/scene/ma06.cpp
index f067067a70..3a67b573b9 100644
--- a/engines/bladerunner/script/scene/ma06.cpp
+++ b/engines/bladerunner/script/scene/ma06.cpp
@@ -145,9 +145,9 @@ void SceneScriptMA06::PlayerWalkedIn() {
Ambient_Sounds_Remove_Looping_Sound(kSfxSPINUP1, 1); // stop elev moving sound
Ambient_Sounds_Remove_Looping_Sound(kSfxAPRTFAN1, 1); // stop other ambient
Ambient_Sounds_Remove_Looping_Sound(kSfxELEAMB3, 1); // stop other ambient
- Actor_Says_With_Pause(kActorRachael, 300, 1.0, 14); // GoodbyeMcCoy
- Actor_Says(kActorRachael, 310, 14); // Isnt ThisYourFloor --
- Actor_Says(kActorMcCoy, 2860, 14); // YouTakeCareOfYoursel
+ Actor_Says_With_Pause(kActorRachael, 300, 1.0f, 14); // GoodbyeMcCoy
+ Actor_Says(kActorRachael, 310, 14); // Isnt ThisYourFloor --
+ Actor_Says(kActorMcCoy, 2860, 14); // YouTakeCareOfYoursel
Set_Enter(kSetMA02_MA04, kSceneMA02);
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA06LoopDoorClose, true);
@@ -243,7 +243,7 @@ void SceneScriptMA06::activateElevator() {
Game_Flag_Reset(kFlagMA06toMA01);
Game_Flag_Reset(kFlagMA06ToMA02);
Game_Flag_Reset(kFlagMA06toMA07);
-
+
while (true) {
if (Game_Flag_Query(kFlagMA06ToMA02)) {
break;
diff --git a/engines/bladerunner/script/scene/ps15.cpp b/engines/bladerunner/script/scene/ps15.cpp
index 180bc0f6e7..6cdd9615bc 100644
--- a/engines/bladerunner/script/scene/ps15.cpp
+++ b/engines/bladerunner/script/scene/ps15.cpp
@@ -162,6 +162,16 @@ void SceneScriptPS15::PlayerWalkedIn() {
Actor_Says(kActorMcCoy, 4445, 18);
Actor_Says(kActorSergeantWalls, 10, 12);
Actor_Says(kActorMcCoy, 4450, 18);
+ if (_vm->_cutContent && !Game_Flag_Query(kFlagSergeantWallsMazeInstructions)) {
+ // TODO: These instructions don't make much sense... Is it better to not restore this at all?
+ // Could there have been a system with a bell-tone that was removed from the original version?
+ Game_Flag_Set(kFlagSergeantWallsMazeInstructions);
+ Actor_Says(kActorSergeantWalls, 20, 13);
+ Actor_Says(kActorSergeantWalls, 30, 12);
+ Actor_Says(kActorMcCoy, 4455, 12);
+ Actor_Says(kActorSergeantWalls, 40, 12);
+ Actor_Says(kActorSergeantWalls, 50, 12);
+ }
Actor_Says(kActorSergeantWalls, 60, 13);
Actor_Says(kActorSergeantWalls, 70, 12);
Actor_Says(kActorMcCoy, 4460, 15);
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp
index 3aa8cc33b5..9595b513b9 100644
--- a/engines/bladerunner/script/scene/rc02.cpp
+++ b/engines/bladerunner/script/scene/rc02.cpp
@@ -304,10 +304,24 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
if (Global_Variable_Query(kVariableChapter) == 4) {
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
if (Actor_Query_Goal_Number(kActorRunciter) == kGoalRunciterDead) {
- if (Random_Query(1, 2) == 1) {
- Actor_Says(kActorMcCoy, 8715, 17);
+ if (_vm->_cutContent) {
+ switch (Random_Query(1, 3)) {
+ case 1:
+ Actor_Says(kActorMcCoy, 8715, 17);
+ break;
+ case 2:
+ Actor_Says(kActorMcCoy, 8720, 17);
+ break;
+ case 3:
+ Actor_Says(kActorMcCoy, 8725, 17);
+ break;
+ }
} else {
- Actor_Says(kActorMcCoy, 8720, 17);
+ if (Random_Query(1, 2) == 1) {
+ Actor_Says(kActorMcCoy, 8715, 17);
+ } else {
+ Actor_Says(kActorMcCoy, 8720, 17);
+ }
}
return true;
}
diff --git a/engines/bladerunner/script/scene/rc03.cpp b/engines/bladerunner/script/scene/rc03.cpp
index 3b0bfdf346..7ada145017 100644
--- a/engines/bladerunner/script/scene/rc03.cpp
+++ b/engines/bladerunner/script/scene/rc03.cpp
@@ -311,9 +311,9 @@ void SceneScriptRC03::PlayerWalkedIn() {
Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
Actor_Face_Actor(kActorMcCoy, kActorIzo, true);
Actor_Change_Animation_Mode(kActorIzo, kAnimationModeCombatIdle);
- Actor_Says_With_Pause(kActorIzo, 630, 0, -1);
- Actor_Says_With_Pause(kActorIzo, 640, 0, -1);
- Actor_Says_With_Pause(kActorIzo, 650, 0, -1);
+ Actor_Says_With_Pause(kActorIzo, 630, 0.0f, -1); // TODO: A bug? why is animation mode set as -1? and why is "With_Pause" version used?
+ Actor_Says_With_Pause(kActorIzo, 640, 0.0f, -1); // TODO: A bug? why is animation mode set as -1? and why is "With_Pause" version used?
+ Actor_Says_With_Pause(kActorIzo, 650, 0.0f, -1); // TODO: A bug? why is animation mode set as -1? and why is "With_Pause" version used?
if (Game_Flag_Query(kFlagIzoIsReplicant) ) {
#if BLADERUNNER_ORIGINAL_BUGS
Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);
diff --git a/engines/bladerunner/script/scene/tb06.cpp b/engines/bladerunner/script/scene/tb06.cpp
index a2177bfae4..545f17b6bc 100644
--- a/engines/bladerunner/script/scene/tb06.cpp
+++ b/engines/bladerunner/script/scene/tb06.cpp
@@ -135,6 +135,9 @@ bool SceneScriptTB06::ClickedOnItem(int itemId, bool a2) {
Actor_Voice_Over(2380, kActorVoiceOver);
Actor_Voice_Over(2390, kActorVoiceOver);
Actor_Voice_Over(2400, kActorVoiceOver);
+ if (_vm->_cutContent) {
+ Actor_Says_With_Pause(kActorMcCoy, 8516, 0.70f, kAnimationModeTalk); // Any idea if they were real dogs? (gets no answer)
+ }
return true;
}
}