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

antoniou79 antoniou at cti.gr
Mon Apr 29 14:55:40 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:
d4d521b562 BLADERUNNER: Chess, keyboard, and clues bug fixes


Commit: d4d521b5629bfd00b6cc1e603ee1c3f90b7247e3
    https://github.com/scummvm/scummvm/commit/d4d521b5629bfd00b6cc1e603ee1c3f90b7247e3
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2019-04-29T15:27:47+03:00

Commit Message:
BLADERUNNER: Chess, keyboard, and clues bug fixes

Changed paths:
    engines/bladerunner/script/ai/sadik.cpp
    engines/bladerunner/script/ai/sebastian.cpp
    engines/bladerunner/script/scene/ar01.cpp
    engines/bladerunner/script/scene/bb06.cpp
    engines/bladerunner/script/scene/bb09.cpp
    engines/bladerunner/script/scene/bb51.cpp
    engines/bladerunner/script/scene/ct01.cpp
    engines/bladerunner/script/scene/dr06.cpp
    engines/bladerunner/script/scene/ps04.cpp
    engines/bladerunner/script/scene/ps15.cpp
    engines/bladerunner/script/scene/rc04.cpp


diff --git a/engines/bladerunner/script/ai/sadik.cpp b/engines/bladerunner/script/ai/sadik.cpp
index 85c1e58..c4a2b99 100644
--- a/engines/bladerunner/script/ai/sadik.cpp
+++ b/engines/bladerunner/script/ai/sadik.cpp
@@ -189,20 +189,22 @@ bool AIScriptSadik::ShotAtAndHit() {
 	if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikUG18Move) {
 		// this lowers Sadik's original health but makes it impossible to kill him here (UG18)
 		if (Game_Flag_Query(kFlagSadikIsReplicant)) {
-#if BLADERUNNER_ORIGINAL_BUGS // Sadik killed in BB09 dead end bug fix
+#if BLADERUNNER_ORIGINAL_BUGS
 			Actor_Set_Health(kActorSadik, 60, 60);
 #else
-			if (Actor_Query_Current_HP(kActorSadik) == 60) { // shot also at Bradburry, so lower his health further
+			// Sadik killed in BB09 dead end bug fix
+			if (Actor_Query_Current_HP(kActorSadik) == 60) { // shot also at Bradbury, so lower his health further
 				Actor_Set_Health(kActorSadik, 50, 50);
 			} else {
 				Actor_Set_Health(kActorSadik, 60, 60);
 			}
 #endif
 		} else {
-#if BLADERUNNER_ORIGINAL_BUGS // Sadik killed in BB09 dead end bug fix
+#if BLADERUNNER_ORIGINAL_BUGS
 			Actor_Set_Health(kActorSadik, 40, 40);
 #else
-			if (Actor_Query_Current_HP(kActorSadik) == 40) { // shot also at Bradburry, so lower his health further
+			// Sadik killed in BB09 dead end bug fix
+			if (Actor_Query_Current_HP(kActorSadik) == 40) { // shot also at Bradbury, so lower his health further
 				Actor_Set_Health(kActorSadik, 30, 30);
 			} else {
 				Actor_Set_Health(kActorSadik, 40, 40);
diff --git a/engines/bladerunner/script/ai/sebastian.cpp b/engines/bladerunner/script/ai/sebastian.cpp
index d2560fd..4f2cc0a 100644
--- a/engines/bladerunner/script/ai/sebastian.cpp
+++ b/engines/bladerunner/script/ai/sebastian.cpp
@@ -425,7 +425,7 @@ void AIScriptSebastian::dialogue() {
 			Actor_Says_With_Pause(kActorSebastian, 370, 0.30f, 13);
 			Actor_Says_With_Pause(kActorSebastian, 380, 0.70f, 17);
 			Actor_Says(kActorSebastian, 390, 14);
-			if (Actor_Clue_Query(kActorMcCoy, kClueChessTable)) { // cut feature? it is impossible to obtain this clue
+			if (Actor_Clue_Query(kActorMcCoy, kClueChessTable)) {
 				Actor_Says(kActorMcCoy, 7140, kAnimationModeTalk);
 				Actor_Says(kActorSebastian, 400, 12);
 				Actor_Says(kActorMcCoy, 7145, 16);
diff --git a/engines/bladerunner/script/scene/ar01.cpp b/engines/bladerunner/script/scene/ar01.cpp
index 0397435..4659783 100644
--- a/engines/bladerunner/script/scene/ar01.cpp
+++ b/engines/bladerunner/script/scene/ar01.cpp
@@ -172,7 +172,11 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {
 					Actor_Says(kActorFishDealer, 140, 14);
 					Actor_Says(kActorMcCoy, 50, 13);
 					Actor_Says(kActorFishDealer, 150, 14);
-					Actor_Clue_Acquire(kActorMcCoy, kClueFishLadyInterview, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+					Actor_Clue_Acquire(kActorMcCoy, kClueFishLadyInterview, true, kActorMcCoy); // A bug? Shouldn't the last argument be -1 or kActorFishDealer here?
+#else
+					Actor_Clue_Acquire(kActorMcCoy, kClueFishLadyInterview, true, kActorFishDealer);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 				} else {
 					if (Random_Query(1, 2) == 1) {
 						Actor_Says(kActorMcCoy, 30, 17);
diff --git a/engines/bladerunner/script/scene/bb06.cpp b/engines/bladerunner/script/scene/bb06.cpp
index d27ea18..89a5881 100644
--- a/engines/bladerunner/script/scene/bb06.cpp
+++ b/engines/bladerunner/script/scene/bb06.cpp
@@ -84,7 +84,7 @@ void SceneScriptBB06::SceneLoaded() {
 	Clickable_Object("BOX31");
 #if BLADERUNNER_ORIGINAL_BUGS // Sebastian's Doll Fix
 	// This Item_Add_To_World call is only ok for the transition from BB51 to BB06,
-	// otherwise the doll item is not placed in the current set
+	// otherwise the "doll" item (actually the badge item) is not placed in the current set
 	Item_Add_To_World(kItemBB06ControlBox, kModelAnimationBadge, kSetBB06_BB07, -127.0f, 68.42f, 57.0f, 0, 8, 8, true, true, false, true);
 #else
 	if (!Game_Flag_Query(kFlagBB06AndroidDestroyed)) {
diff --git a/engines/bladerunner/script/scene/bb09.cpp b/engines/bladerunner/script/scene/bb09.cpp
index d461d7d..3cca63d 100644
--- a/engines/bladerunner/script/scene/bb09.cpp
+++ b/engines/bladerunner/script/scene/bb09.cpp
@@ -56,7 +56,7 @@ void SceneScriptBB09::InitializeScene() {
 	Ambient_Sounds_Add_Sound(kSfxHAUNT1,   5,  50, 17, 27, -100,  100, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(kSfxHAUNT2,   5,  50, 17, 27, -100,  100, -101, -101, 0, 0);
 
-	Actor_Set_Targetable(kActorSadik, true); // Don't kill Sadik yet, game cannot continue, a bug?
+	Actor_Set_Targetable(kActorSadik, true); // Don't kill Sadik yet, game cannot continue. This is an original bug - fixed in ScummVM in Sadik's AI script (method ShotAtAndHit() )
 }
 
 void SceneScriptBB09::SceneLoaded() {
diff --git a/engines/bladerunner/script/scene/bb51.cpp b/engines/bladerunner/script/scene/bb51.cpp
index 9451369..9eb8717 100644
--- a/engines/bladerunner/script/scene/bb51.cpp
+++ b/engines/bladerunner/script/scene/bb51.cpp
@@ -69,6 +69,13 @@ bool SceneScriptBB51::MouseClick(int x, int y) {
 
 bool SceneScriptBB51::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("V2CHESSTBL01", objectName)) {
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+		// acquire chess clue
+		if (!Actor_Clue_Query(kActorMcCoy, kClueChessTable)) {
+			Actor_Clue_Acquire(kActorMcCoy, kClueChessTable, true, -1);
+		}
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		Actor_Face_Object(kActorMcCoy, "V2CHESSTBL01", true);
 		Actor_Voice_Over(80, kActorVoiceOver);
 		Actor_Voice_Over(90, kActorVoiceOver);
diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp
index 43805d0..29ba22c 100644
--- a/engines/bladerunner/script/scene/ct01.cpp
+++ b/engines/bladerunner/script/scene/ct01.cpp
@@ -221,7 +221,7 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
 			Game_Flag_Set(kFlagCT01GordoTalk);
 			Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, true, kActorMcCoy);
 #if BLADERUNNER_ORIGINAL_BUGS
-			Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, true, kActorMcCoy);
+			Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, true, kActorMcCoy); // a bug?
 #else
 			Actor_Clue_Acquire(kActorGordo, kClueMcCoyIsABladeRunner, true, kActorMcCoy);
 #endif // BLADERUNNER_ORIGINAL_BUGS
diff --git a/engines/bladerunner/script/scene/dr06.cpp b/engines/bladerunner/script/scene/dr06.cpp
index a5389e5..fb7716e 100644
--- a/engines/bladerunner/script/scene/dr06.cpp
+++ b/engines/bladerunner/script/scene/dr06.cpp
@@ -133,7 +133,7 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
 		}
 		return true;
 	}
-
+#if BLADERUNNER_ORIGINAL_BUGS
 	if ( Object_Query_Click("X2_KEYBRD02", objectName) // a bug? there is no X2_KEYBRD02 only X2KEYBRD02
 	 && !Game_Flag_Query(kFlagDR06KeyboardChecked)) {
 		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, true, false, 0);
@@ -143,6 +143,17 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
 		Game_Flag_Set(kFlagDR06KeyboardChecked);
 		return true;
 	}
+#else
+	if ( Object_Query_Click("X2KEYBRD02", objectName) // Use X2KEYBRD02 in place of X2_KEYBRD02
+	 && !Game_Flag_Query(kFlagDR06KeyboardChecked)) {
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, true, false, 0);
+		Actor_Face_Object(kActorMcCoy, "X2KEYBRD02", true);
+		Actor_Voice_Over(830, kActorVoiceOver);
+		Actor_Voice_Over(840, kActorVoiceOver);
+		Game_Flag_Set(kFlagDR06KeyboardChecked);
+		return true;
+	}
+#endif // BLADERUNNER_ORIGINAL_BUGS
 
 	if (Object_Query_Click("X2_TORSO04HIRES", objectName)) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -700.0f, 136.6f, -1133.0f, 4, true, false, 0)) {
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index 830de0d..6be8128 100644
--- a/engines/bladerunner/script/scene/ps04.cpp
+++ b/engines/bladerunner/script/scene/ps04.cpp
@@ -99,7 +99,11 @@ bool SceneScriptPS04::ClickedOnItem(int itemId, bool a2) {
 		Item_Remove_From_World(kItemWeaponsOrderForm);
 		Item_Pickup_Spin_Effect(kModelAnimationOriginalRequisitionForm, 464, 362);
 		Actor_Says(kActorMcCoy, 4485, kAnimationModeTalk);
-		Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+		Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, true, kActorMcCoy); // A bug? Shouldn't the last argument be -1 here?
+#else
+		Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, true, -1);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 	}
 	return false;
 }
diff --git a/engines/bladerunner/script/scene/ps15.cpp b/engines/bladerunner/script/scene/ps15.cpp
index f7bb4da..0e1aa83 100644
--- a/engines/bladerunner/script/scene/ps15.cpp
+++ b/engines/bladerunner/script/scene/ps15.cpp
@@ -100,8 +100,13 @@ bool SceneScriptPS15::ClickedOnItem(int itemId, bool a2) {
 			Actor_Says(kActorSergeantWalls, 160, 14);
 			Actor_Says(kActorMcCoy, 4490, 12);
 			Actor_Says(kActorSergeantWalls, 170, 13);
-			Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, true, kActorMcCoy);
-			Actor_Clue_Acquire(kActorMcCoy, kCluePoliceIssueWeapons, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+			Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm,   true, kActorMcCoy); // A bug? Shouldn't the last argument be -1 or kActorSergeantWalls here?
+			Actor_Clue_Acquire(kActorMcCoy, kCluePoliceIssueWeapons, true, kActorMcCoy); // A bug? Shouldn't the last argument be -1 or kActorSergeantWalls here?
+#else
+			Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm,   true, kActorSergeantWalls);
+			Actor_Clue_Acquire(kActorMcCoy, kCluePoliceIssueWeapons, true, kActorSergeantWalls);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		}
 		return true;
 	}
diff --git a/engines/bladerunner/script/scene/rc04.cpp b/engines/bladerunner/script/scene/rc04.cpp
index 212e07c..151945c 100644
--- a/engines/bladerunner/script/scene/rc04.cpp
+++ b/engines/bladerunner/script/scene/rc04.cpp
@@ -126,7 +126,11 @@ void SceneScriptRC04::dialogueWithBulletBob() {
 			Actor_Says(kActorBulletBob, 380, 37);
 			Actor_Says(kActorBulletBob, 390, 11);
 			Actor_Says(kActorBulletBob, 400, 37);
-			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);  // A bug? Shouldn't the last argument be -1 or kActorBulletBob here?
+#else
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorBulletBob);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		} else {
 			Actor_Says(kActorBulletBob, 410, 11);
 			Actor_Says(kActorBulletBob, 420, 37);
@@ -136,7 +140,11 @@ void SceneScriptRC04::dialogueWithBulletBob() {
 			Actor_Says(kActorBulletBob, 450, 32);
 			Actor_Says(kActorMcCoy, 5030, 16);
 			Actor_Says(kActorBulletBob, 460, 37);
-			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorMcCoy);  // A bug? Shouldn't the last argument be -1 or kActorBulletBob here?
+#else
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorBulletBob);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		}
 		return;
 
@@ -165,7 +173,11 @@ void SceneScriptRC04::dialogueWithBulletBob() {
 			Actor_Says(kActorBulletBob, 380, 33);
 			Actor_Says(kActorBulletBob, 390, 37);
 			Actor_Says(kActorBulletBob, 400, 32);
-			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);  // A bug? Shouldn't the last argument be -1 or kActorBulletBob here?
+#else
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorBulletBob);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		} else {
 			Actor_Says(kActorBulletBob, 410, 32);
 			Actor_Says(kActorBulletBob, 420, 30);
@@ -175,7 +187,11 @@ void SceneScriptRC04::dialogueWithBulletBob() {
 			Actor_Says(kActorBulletBob, 450, 37);
 			Actor_Says(kActorMcCoy, 5030, 16);
 			Actor_Says(kActorBulletBob, 460, 30);
-			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorMcCoy);  // A bug? Shouldn't the last argument be -1 or kActorBulletBob here?
+#else
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorBulletBob);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		}
 		break;
 
@@ -205,7 +221,11 @@ void SceneScriptRC04::dialogueWithBulletBob() {
 			Actor_Says(kActorBulletBob, 720, 30);
 			Actor_Says(kActorMcCoy, 5080, 11);
 			Actor_Says(kActorBulletBob, 730, 37);
-			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);  // A bug? Shouldn't the last argument be -1 or kActorBulletBob here?
+#else
+			Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorBulletBob);
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		} else {
 			Actor_Says(kActorBulletBob, 560, 37);
 			Actor_Says(kActorMcCoy, 5070, 13);
@@ -222,7 +242,11 @@ void SceneScriptRC04::dialogueWithBulletBob() {
 			Actor_Says(kActorBulletBob, 650, 35);
 			Actor_Says(kActorBulletBob, 660, 30);
 			Actor_Says(kActorMcCoy, 5060, 13);
-			Actor_Clue_Acquire(kActorMcCoy, kClueGogglesReplicantIssue, true, kActorMcCoy);
+#if BLADERUNNER_ORIGINAL_BUGS
+			Actor_Clue_Acquire(kActorMcCoy, kClueGogglesReplicantIssue, true, kActorMcCoy);  // A bug? Shouldn't the last argument be -1 or kActorBulletBob here?
+#else
+			Actor_Clue_Acquire(kActorMcCoy, kClueGogglesReplicantIssue, true, kActorBulletBob);  // A bug? Shouldn't the last argument be -1 or kActorBulletBob here?
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		}
 		break;
 





More information about the Scummvm-git-logs mailing list