[Scummvm-git-logs] scummvm master -> c92d20d28a4eb95fea0e61086d47a58a2ca3b283

antoniou79 antoniou at cti.gr
Mon May 13 22:20:49 CEST 2019


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c92d20d28a BLADERUNNER: Fix freeze for MA06 elevator


Commit: c92d20d28a4eb95fea0e61086d47a58a2ca3b283
    https://github.com/scummvm/scummvm/commit/c92d20d28a4eb95fea0e61086d47a58a2ca3b283
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-13T23:20:14+03:00

Commit Message:
BLADERUNNER: Fix freeze for MA06 elevator

Changed paths:
    engines/bladerunner/script/scene/ma06.cpp


diff --git a/engines/bladerunner/script/scene/ma06.cpp b/engines/bladerunner/script/scene/ma06.cpp
index 719dfd7..7e1e530 100644
--- a/engines/bladerunner/script/scene/ma06.cpp
+++ b/engines/bladerunner/script/scene/ma06.cpp
@@ -21,6 +21,7 @@
  */
 
 #include "bladerunner/script/scene_script.h"
+#include "common/debug.h"
 
 namespace BladeRunner {
 
@@ -34,6 +35,12 @@ enum kMA06Loops {
 void SceneScriptMA06::InitializeScene() {
 	Setup_Scene_Information(40.0f, 1.0f, -20.0f, 400);
 
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+	Ambient_Sounds_Remove_All_Looping_Sounds(1);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
+#endif // BLADERUNNER_ORIGINAL_BUGS
+
 	Ambient_Sounds_Add_Looping_Sound(kSfxELEAMB3,  50, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxAPRTFAN1, 33, 0, 1);
 
@@ -232,6 +239,7 @@ void SceneScriptMA06::activateElevator() {
 	Game_Flag_Reset(kFlagMA06toMA01);
 	Game_Flag_Reset(kFlagMA06ToMA02);
 	Game_Flag_Reset(kFlagMA06toMA07);
+	int floor = 0;
 	while (true) {
 		if (Game_Flag_Query(kFlagMA06ToMA02)) {
 			break;
@@ -245,7 +253,15 @@ void SceneScriptMA06::activateElevator() {
 
 		Actor_Says(kActorAnsweringMachine, 80, kAnimationModeTalk);
 		Player_Gains_Control();
-		int floor = Elevator_Activate(kElevatorMA);
+		floor = Elevator_Activate(kElevatorMA);
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+		// Fix for a crash/ freeze bug;
+		//  To reproduce original issue: in Act 4, visit Rajiff, then exit to ground floor. Re-enter elevator and press Alt+F4
+		if (floor < 0) {
+			break;
+		}
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		Player_Loses_Control();
 
 		Scene_Loop_Start_Special(kSceneLoopModeOnce, kMA06LoopMainLoop, true);





More information about the Scummvm-git-logs mailing list