aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/scene
diff options
context:
space:
mode:
authorThanasis Antoniou2019-04-08 17:02:35 +0300
committerThanasis Antoniou2019-04-08 18:56:47 +0300
commit50ff57bb07959b605efe0c62df891514b83552b3 (patch)
tree3fa4acce34bc982123a87069dbb7604a0561ffb7 /engines/bladerunner/script/scene
parentcf8031d26f3da0eee49504b3b2555be4e5bb39e6 (diff)
downloadscummvm-rg350-50ff57bb07959b605efe0c62df891514b83552b3.tar.gz
scummvm-rg350-50ff57bb07959b605efe0c62df891514b83552b3.tar.bz2
scummvm-rg350-50ff57bb07959b605efe0c62df891514b83552b3.zip
BLADERUNNER: Smoother transition in MA04-M05 in Acts 2-3
Diffstat (limited to 'engines/bladerunner/script/scene')
-rw-r--r--engines/bladerunner/script/scene/ma04.cpp4
-rw-r--r--engines/bladerunner/script/scene/ma05.cpp16
2 files changed, 17 insertions, 3 deletions
diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp
index abcf30a042..034ec8eec1 100644
--- a/engines/bladerunner/script/scene/ma04.cpp
+++ b/engines/bladerunner/script/scene/ma04.cpp
@@ -138,7 +138,11 @@ bool SceneScriptMA04::ClickedOnExit(int exitId) {
if (isPhoneMessageWaiting() || isPhoneRinging()) {
Overlay_Remove("MA04OVER");
}
+#if BLADERUNNER_ORIGINAL_BUGS
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1675.0f, 0, false, false, 1);
+#else
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1627.0f, 0, false, false, 1);
+#endif // BLADERUNNER_ORIGINAL_BUGS
Game_Flag_Set(kFlagMA04toMA05);
if (Global_Variable_Query(kVariableChapter) != 2 && Global_Variable_Query(kVariableChapter) != 3) {
Async_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 956.17f, 1568.0f, 0, false);
diff --git a/engines/bladerunner/script/scene/ma05.cpp b/engines/bladerunner/script/scene/ma05.cpp
index 8aa6b70df2..6c2622d266 100644
--- a/engines/bladerunner/script/scene/ma05.cpp
+++ b/engines/bladerunner/script/scene/ma05.cpp
@@ -25,9 +25,9 @@
namespace BladeRunner {
enum kMA05Loops {
- kMA05LoopInshot = 0,
- kMA05LoopMain = 1,
- kMA05LoopSpinner = 3
+ kMA05LoopInshot = 0, // 0 - 29 // Frame 29 (in Acts 1 and 2 this ties in with Frame 30 of the Loop Main, in Act 5 it ties with frame 60?!)
+ kMA05LoopMain = 1, // 30 - 90
+ kMA05LoopSpinner = 3 // 91 - 150 // Frame 150 ties in with Frame 30 of Loop Main
};
enum kMA05Exits {
@@ -38,7 +38,11 @@ void SceneScriptMA05::InitializeScene() {
if (Global_Variable_Query(kVariableChapter) != 2 && Global_Variable_Query(kVariableChapter) != 3) {
Setup_Scene_Information(-7204.0f, 953.97f, 1651.0f, 0);
} else {
+#if BLADERUNNER_ORIGINAL_BUGS
Setup_Scene_Information(-7207.0f, 956.17f, 1564.0f, 0);
+#else
+ Setup_Scene_Information(-7199.0f, 953.97f, 1605.0f, 0);
+#endif // BLADERUNNER_ORIGINAL_BUGS
}
Scene_Exit_Add_2D_Exit(kMA05ExitMA04, 432, 21, 471, 226, 1);
Ambient_Sounds_Add_Looping_Sound(kSfxROOFRAN1, 90, 0, 1);
@@ -130,6 +134,12 @@ void SceneScriptMA05::PlayerWalkedIn() {
Game_Flag_Set(kFlagChapter1Ended);
Player_Gains_Control();
}
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ if (Global_Variable_Query(kVariableChapter) == 2 || Global_Variable_Query(kVariableChapter) == 3) {
+ Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 953.97f, 1564.0f, 0, false, false, 1);
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
//return false;
}