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

antoniou79 antoniou at cti.gr
Sun Jun 30 14:34:03 CEST 2019


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

Summary:
72329773d4 BLADERUNNER: Possible gun blinking out fix
9fa862c0f4 BLADERUNNER: Additional potential Bullet Bob's gun fix
b64e66a6b5 BLADERUNNER: Fix Steele re-arresting Izo at RC03


Commit: 72329773d449e0abe36b4dde45aab3927f0677ea
    https://github.com/scummvm/scummvm/commit/72329773d449e0abe36b4dde45aab3927f0677ea
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-30T15:27:50+03:00

Commit Message:
BLADERUNNER: Possible gun blinking out fix

Changed paths:
    engines/bladerunner/script/ai/generic_walker_a.cpp


diff --git a/engines/bladerunner/script/ai/generic_walker_a.cpp b/engines/bladerunner/script/ai/generic_walker_a.cpp
index 09be416..be21ee6 100644
--- a/engines/bladerunner/script/ai/generic_walker_a.cpp
+++ b/engines/bladerunner/script/ai/generic_walker_a.cpp
@@ -185,6 +185,10 @@ bool AIScriptGenericWalkerA::GoalChanged(int currentGoalNumber, int newGoalNumbe
 		return true;
 	} else if (newGoalNumber == kGoalGenwalkerABulletBobsTrackGun) {
 		// Bullet Bob's tracking gun
+#if !BLADERUNNER_ORIGINAL_BUGS
+		// Possible bug fix for disappearing gun - don't allow track complete events to interfere with Gun state
+		AI_Movement_Track_Flush(kActorGenwalkerA);
+#endif
 		Actor_Put_In_Set(kActorGenwalkerA, kSetRC04);
 		Actor_Set_At_XYZ(kActorGenwalkerA, 0.0, 36.0, -172.0, 491);
 		Actor_Change_Animation_Mode(kActorGenwalkerA, kAnimationModeCombatIdle);


Commit: 9fa862c0f40f5d04ae7c520ae6fdd6797bc79b6a
    https://github.com/scummvm/scummvm/commit/9fa862c0f40f5d04ae7c520ae6fdd6797bc79b6a
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-30T15:27:50+03:00

Commit Message:
BLADERUNNER: Additional potential Bullet Bob's gun fix

Changed paths:
    engines/bladerunner/script/ai/generic_walker_a.cpp


diff --git a/engines/bladerunner/script/ai/generic_walker_a.cpp b/engines/bladerunner/script/ai/generic_walker_a.cpp
index be21ee6..6cb3639 100644
--- a/engines/bladerunner/script/ai/generic_walker_a.cpp
+++ b/engines/bladerunner/script/ai/generic_walker_a.cpp
@@ -47,6 +47,14 @@ void AIScriptGenericWalkerA::Initialize() {
 }
 
 bool AIScriptGenericWalkerA::Update() {
+#if !BLADERUNNER_ORIGINAL_BUGS
+	// extra check for possible fix of Bullet Bob's gun missing
+	if (Player_Query_Current_Set() == kSetRC04
+	    && Actor_Query_Goal_Number(kActorGenwalkerA) != kGoalGenwalkerABulletBobsTrackGun
+	) {
+		Actor_Set_Goal_Number(kActorGenwalkerA, kGoalGenwalkerABulletBobsTrackGun);
+	}
+#endif // !BLADERUNNER_ORIGINAL_BUGS
 	switch (Actor_Query_Goal_Number(kActorGenwalkerA)) {
 		case kGoalGenwalkerDefault:
 			if (prepareWalker()) {
@@ -75,6 +83,16 @@ void AIScriptGenericWalkerA::TimerExpired(int timer) {
 }
 
 void AIScriptGenericWalkerA::CompletedMovementTrack() {
+#if !BLADERUNNER_ORIGINAL_BUGS
+	// extra check for possible fix of Bullet Bob's gun missing
+	if (Player_Query_Current_Set() == kSetRC04
+	    && Actor_Query_Goal_Number(kActorGenwalkerA) != kGoalGenwalkerABulletBobsTrackGun
+	) {
+		Actor_Set_Goal_Number(kActorGenwalkerA, kGoalGenwalkerABulletBobsTrackGun);
+		return;
+	}
+#endif // !BLADERUNNER_ORIGINAL_BUGS
+
 	if (Actor_Query_Goal_Number(kActorGenwalkerA) > kGoalGenwalkerDefault) {
 		Actor_Set_Goal_Number(kActorGenwalkerA, kGoalGenwalkerDefault);
 		if (!Game_Flag_Query(kFlagGenericWalkerWaiting)) {


Commit: b64e66a6b5a4c10a38c34bfaa1b07d5cb5fac41f
    https://github.com/scummvm/scummvm/commit/b64e66a6b5a4c10a38c34bfaa1b07d5cb5fac41f
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-06-30T15:27:51+03:00

Commit Message:
BLADERUNNER: Fix Steele re-arresting Izo at RC03

Changed paths:
    engines/bladerunner/script/ai/izo.cpp
    engines/bladerunner/script/ai/steele.cpp
    engines/bladerunner/script/scene/rc03.cpp


diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp
index 9191ef1..2861e76 100644
--- a/engines/bladerunner/script/ai/izo.cpp
+++ b/engines/bladerunner/script/ai/izo.cpp
@@ -106,6 +106,7 @@ void AIScriptIzo::CompletedMovementTrack() {
 		return; //true;
 
 	case kGoalIzoRC03Walk:
+		// fall through
 	case kGoalIzoRC03Run:
 		Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03RunAway);
 		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index b10ca1f..10dd1d9 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -822,7 +822,9 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		// Scene_Exits_Enable() is done in Izo's kGoalIzoGetArrested - CompletedMovementTrack() case
 		Actor_Set_Goal_Number(kActorIzo, kGoalIzoGetArrested);
 		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleLeaveRC03);
+#if BLADERUNNER_ORIGINAL_BUGS
 		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDefault); // TODO - a bug? why set to default here?
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		return true;
 
 	case kGoalSteeleIzoBlockedByMcCoy:
@@ -2333,9 +2335,9 @@ void AIScriptSteele::SetAnimationState(int animationState, int animationFrame, i
 bool AIScriptSteele::ReachedMovementTrackWaypoint(int waypointId) {
 	if (waypointId == 174
 	 && Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleLeaveRC03
-	)
+	) {
 		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGoToPoliceStation);
-
+	}
 	return true;
 }
 
diff --git a/engines/bladerunner/script/scene/rc03.cpp b/engines/bladerunner/script/scene/rc03.cpp
index 49b8b94..b9a0225 100644
--- a/engines/bladerunner/script/scene/rc03.cpp
+++ b/engines/bladerunner/script/scene/rc03.cpp
@@ -51,7 +51,12 @@ void SceneScriptRC03::InitializeScene() {
 	Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
 	Scene_Exit_Add_2D_Exit(1,   0, 0,  30, 479, 3);
 	if (Game_Flag_Query(kFlagRC03UnlockedToUG01)) {
+#if BLADERUNNER_ORIGINAL_BUGS
 		Scene_Exit_Add_2D_Exit(2, 524, 350, 573, 359, 2);
+#else
+	// prevent Izo's corpse from blocking the exit hot-spot area
+		Scene_Exit_Add_2D_Exit(2, 524, 340, 573, 359, 2);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 	}
 	Scene_Exit_Add_2D_Exit(3,  85, 255, 112, 315, 0);
 	Scene_Exit_Add_2D_Exit(4, 428, 260, 453, 324, 0);
@@ -316,7 +321,19 @@ void SceneScriptRC03::PlayerWalkedIn() {
 			Loop_Actor_Walk_To_XYZ(kActorIzo, 180.0f, -4.0f, 184.0f, 0, false, false, false);
 			Actor_Change_Animation_Mode(kActorIzo, 6);
 			if (!Game_Flag_Query(kFlagIzoIsReplicant)) {
+#if BLADERUNNER_ORIGINAL_BUGS
 				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);
+#else
+				if (Actor_Query_Goal_Number(kActorIzo) != kGoalIzoGetArrested
+				    && Actor_Query_Goal_Number(kActorIzo) != kGoalIzoGotArrested
+				    && Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleApprehendIzo
+				    && Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleArrestIzo
+				    && Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleLeaveRC03
+				    && Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleGoToPoliceStation
+				) {
+					Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);
+				}
+#endif // BLADERUNNER_ORIGINAL_BUGS
 			}
 			Player_Gains_Control();
 		} else {





More information about the Scummvm-git-logs mailing list