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

antoniou79 antoniou at cti.gr
Wed May 8 22:03:08 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:
db0020c55f BLADERUNNER: Another fix for confess to Guzza


Commit: db0020c55fa0078e1ff01156454f224df02dba6c
    https://github.com/scummvm/scummvm/commit/db0020c55fa0078e1ff01156454f224df02dba6c
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-08T22:58:04+03:00

Commit Message:
BLADERUNNER: Another fix for confess to Guzza

Changed paths:
    engines/bladerunner/script/ai/dektora.cpp
    engines/bladerunner/script/scene/ps04.cpp
    engines/bladerunner/script/scene/tb05.cpp
    engines/bladerunner/script/scene/ug13.cpp
    engines/bladerunner/script/script.cpp
    engines/bladerunner/script/script.h


diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index 690c1e9..0d76f10 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -1057,7 +1057,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 		if (_animationFrame == 8
 		 && Actor_Query_In_Set(kActorDektora, kSetNR10)
 		) {
-			Scene_Loop_Start_Special(2, 4, 1);
+			Scene_Loop_Start_Special(kSceneLoopModeOnce, 4, true);
 		}
 
 		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(157)) {
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index 11e45b7..120fde2 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 896c3ff..f2eb62a 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 ee1d364..9b72fbd 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);
diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp
index 1b52d65..4ce5e89 100644
--- a/engines/bladerunner/script/script.cpp
+++ b/engines/bladerunner/script/script.cpp
@@ -577,12 +577,12 @@ bool ScriptBase::Loop_Actor_Walk_To_Waypoint(int actorId, int waypointId, int pr
 	return result;
 }
 
-bool ScriptBase::Loop_Actor_Walk_To_XYZ(int actorId, float x, float y, float z, int proximity, bool interruptible, bool run, bool a7) {
-	debugC(kDebugScript, "Loop_Actor_Walk_To_XYZ(%d, %f, %f, %f, %d, %d, %d, %d)", actorId, x, y, z, proximity, interruptible, run, a7);
+bool ScriptBase::Loop_Actor_Walk_To_XYZ(int actorId, float x, float y, float z, int proximity, bool interruptible, bool run, bool force) {
+	debugC(kDebugScript, "Loop_Actor_Walk_To_XYZ(%d, %f, %f, %f, %d, %d, %d, %d)", actorId, x, y, z, proximity, interruptible, run, force);
 	_vm->gameWaitForActive();
 
 	if (_vm->_runningActorId == actorId) {
-		if (a7) {
+		if (force) {
 			_vm->_runningActorId = -1;
 		} else {
 			run = true;
diff --git a/engines/bladerunner/script/script.h b/engines/bladerunner/script/script.h
index fbd366f..7641b22 100644
--- a/engines/bladerunner/script/script.h
+++ b/engines/bladerunner/script/script.h
@@ -107,7 +107,7 @@ protected:
 	bool Loop_Actor_Walk_To_Item(int actorId, int itemId, int proximity, bool interruptible, bool run);
 	bool Loop_Actor_Walk_To_Scene_Object(int actorId, const char *objectName, int proximity, bool interruptible, bool run);
 	bool Loop_Actor_Walk_To_Waypoint(int actorId, int waypointId, int proximity, bool interruptible, bool run);
-	bool Loop_Actor_Walk_To_XYZ(int actorId, float x, float y, float z, int proximity, bool interruptible, bool run, bool a7);
+	bool Loop_Actor_Walk_To_XYZ(int actorId, float x, float y, float z, int proximity, bool interruptible, bool run, bool force);
 	void Async_Actor_Walk_To_Waypoint(int actorId, int waypointId, int proximity, bool run);
 	void Async_Actor_Walk_To_XYZ(int actorId, float x, float y, float z, int proximity, bool run);
 	void Actor_Force_Stop_Walking(int actorId);





More information about the Scummvm-git-logs mailing list