aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/scene
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/script/scene')
-rw-r--r--engines/bladerunner/script/scene/ps04.cpp19
-rw-r--r--engines/bladerunner/script/scene/tb05.cpp2
-rw-r--r--engines/bladerunner/script/scene/ug13.cpp2
3 files changed, 15 insertions, 8 deletions
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index 11e45b73f6..120fde25e2 100644
--- a/engines/bladerunner/script/scene/ps04.cpp
+++ b/engines/bladerunner/script/scene/ps04.cpp
@@ -51,7 +51,8 @@ void SceneScriptPS04::InitializeScene() {
Ambient_Sounds_Add_Sound(kSfxSCANNER5, 9, 40, 20, 20, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(kSfxSCANNER6, 9, 40, 20, 20, 0, 0, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(kSfxSCANNER7, 9, 40, 20, 20, 0, 0, -101, -101, 0, 0);
- Scene_Loop_Start_Special(kPS04LoopPanToPS04, 0, 0);
+
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kPS04LoopPanToPS04, false);
Scene_Loop_Set_Default(kPS04LoopMainLoop);
}
@@ -358,20 +359,26 @@ void SceneScriptPS04::dialogueWithGuzza() {
Actor_Says(kActorGuzza, 620, 32);
if (_vm->_cutContent) {
// add a fade-out here while Guzza calls-in for favors
- Scene_Loop_Start_Special(kPS04LoopPanToPS04, 0, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeOnce, kPS04LoopPanToPS04, true);
Scene_Loop_Set_Default(kPS04LoopMainLoop);
- Delay(2000);
+ Delay(1000);
+ Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
+ Delay(1000);
}
- Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
Actor_Says(kActorGuzza, 700, 34);
Actor_Says(kActorMcCoy, 4100, 13);
Actor_Says(kActorGuzza, 710, 31);
Actor_Says(kActorGuzza, 720, 34);
Actor_Says(kActorMcCoy, 4105, 18);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, false, false, 0);
+#if BLADERUNNER_ORIGINAL_BUGS
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, false, false, false);
+#else
+ // enforce stop running (if was running) - McCoy running in Guzza's office in this scene looks bad
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, false, false, true);
+#endif // BLADERUNNER_ORIGINAL_BUGS
Actor_Says(kActorGuzza, 730, 32);
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
- Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, false, false, 0);
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, false, false, false);
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
Actor_Says(kActorGuzza, 740, 31);
Actor_Says(kActorGuzza, 750, 32);
diff --git a/engines/bladerunner/script/scene/tb05.cpp b/engines/bladerunner/script/scene/tb05.cpp
index 896c3ffb73..f2eb62aea0 100644
--- a/engines/bladerunner/script/scene/tb05.cpp
+++ b/engines/bladerunner/script/scene/tb05.cpp
@@ -177,7 +177,7 @@ bool SceneScriptTB05::ClickedOnExit(int exitId) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 151.53f, -205.0f, 12, true, false, 0)) {
Game_Flag_Set(kFlagTB05toTB06);
Set_Enter(kSetTB06, kSceneTB06);
- Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, 1);
+ Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, true);
}
return true;
}
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp
index ee1d364e4a..9b72fbdc78 100644
--- a/engines/bladerunner/script/scene/ug13.cpp
+++ b/engines/bladerunner/script/scene/ug13.cpp
@@ -66,7 +66,7 @@ void SceneScriptUG13::InitializeScene() {
}
if (Game_Flag_Query(kFlagUG08toUG13)) {
- Scene_Loop_Start_Special(0, 0, 0);
+ Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
Scene_Loop_Set_Default(1);
} else if (Game_Flag_Query(kFlagUG08ElevatorUp)) {
Scene_Loop_Set_Default(4);