[Scummvm-git-logs] scummvm master -> 509738bb494247f2232b5b91719dba43b31fd661

antoniou79 antoniou at cti.gr
Sun Jul 14 01:19:41 CEST 2019


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

Summary:
9c5d96f68f BLADERUNNER: Restore dispatch and rats comment
509738bb49 BLADERUNNER: Fix seg fault at load from ScummVM menu


Commit: 9c5d96f68fd83093e67485d4e6cfa0a6cb46e11b
    https://github.com/scummvm/scummvm/commit/9c5d96f68fd83093e67485d4e6cfa0a6cb46e11b
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-07-14T01:57:20+03:00

Commit Message:
BLADERUNNER: Restore dispatch and rats comment

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/ai/free_slot_a.cpp
    engines/bladerunner/script/ai/free_slot_b.cpp
    engines/bladerunner/script/scene/kp02.cpp
    engines/bladerunner/script/scene/kp03.cpp
    engines/bladerunner/script/scene/ug04.cpp


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index a4c9ba8..39d4c8b 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -1108,19 +1108,19 @@ enum Flags {
 	kFlagMcCoyFreedOfAccusations = 666,
 	// 667 is never used
 	// 668 is never used
-	// 669 is never used
+	kFlagKP02DispatchOnToxicKipple = 669, // Re-purposed. Original: 669 is never used
 	kFlagCallWithGuzza = 670,
 	kFlagUG18GuzzaScene = 671,
 	kFlagMA07toPS14 = 672,
 	kFlagPS14toMA07 = 673,
 	kFlagKP01Entered = 674,
-	// 675 is never used
+	kFlagUG04DispatchOnHoodooRats = 675, // Re-purposed. Original: 675 is never used
 	kFlagUG15RatShot = 676,
 	kFlagUG15BridgeWillBreak = 677,
 	kFlagChapter2Intro = 678,
 	kFlagChapter3Intro = 679,
 	kFlagChapter4Intro = 680,
-	// 681 is never used
+	kFlagMcCoyCommentsOnHoodooRats = 681, // Re-purposed. Original: 681 is never used
 	kFlagUG15BridgeBroken = 682,
 	kFlagUG05TalkToPolice = 683,
 	kFlagHF05PoliceAttacked = 684,
@@ -2489,7 +2489,7 @@ enum GoalOfficerGrayford {
 	kGoalOfficerGrayfordStopPatrolToTalkToMcCoyAtDR04 = 106,
 	kGoalOfficerGrayfordLeavesWithMorajiCorpseDR04 = 110,
 	kGoalOfficerGrayfordArrestMcCoyInTB03Act4 = 399, // TB02_TB03
-	kGoalOfficerGrayfordStopAndTalkDR04 = 199, // this is used temporarily to make him stop and talk while at UG04 (Moraji's death scene)
+	kGoalOfficerGrayfordStopAndTalkDR04 = 199, // this is used temporarily to make him stop and talk while at DR04 (Moraji's death scene)
 	kGoalOfficerGrayfordStartOfAct4 = 300,
 	kGoalOfficerGrayfordHuntingAroundAct4 = 305,
 	kGoalOfficerGrayfordPrepareToHuntAroundAct4 = 306,
diff --git a/engines/bladerunner/script/ai/free_slot_a.cpp b/engines/bladerunner/script/ai/free_slot_a.cpp
index cba1488..eaee3e1 100644
--- a/engines/bladerunner/script/ai/free_slot_a.cpp
+++ b/engines/bladerunner/script/ai/free_slot_a.cpp
@@ -210,10 +210,17 @@ void AIScriptFreeSlotA::ReceivedClue(int clueId, int fromActorId) {
 void AIScriptFreeSlotA::ClickedByPlayer() {
 	if (Actor_Query_Goal_Number(kActorFreeSlotA) == kGoalFreeSlotAGone) {
 		Actor_Face_Actor(kActorMcCoy, kActorFreeSlotA, true);
-		if (Random_Query(1, 2) == 1) {
-			Actor_Says(kActorMcCoy, 8655, 16);
+		if (_vm->_cutContent && !Game_Flag_Query(kFlagMcCoyCommentsOnHoodooRats)) {
+			Game_Flag_Set(kFlagMcCoyCommentsOnHoodooRats);
+			Actor_Voice_Over(1060, kActorVoiceOver);  // Hoodoo rats
+			Actor_Voice_Over(1080, kActorVoiceOver);
+			Actor_Voice_Over(1090, kActorVoiceOver);
 		} else {
-			Actor_Says(kActorMcCoy, 8665, 16);
+			if (Random_Query(1, 2) == 1) {
+				Actor_Says(kActorMcCoy, 8655, 16);
+			} else {
+				Actor_Says(kActorMcCoy, 8665, 16);
+			}
 		}
 	}
 	//return false;
diff --git a/engines/bladerunner/script/ai/free_slot_b.cpp b/engines/bladerunner/script/ai/free_slot_b.cpp
index 69274da..1124d28 100644
--- a/engines/bladerunner/script/ai/free_slot_b.cpp
+++ b/engines/bladerunner/script/ai/free_slot_b.cpp
@@ -155,10 +155,17 @@ void AIScriptFreeSlotB::ClickedByPlayer() {
 		return; //false;
 
 	Actor_Face_Actor(kActorMcCoy, kActorFreeSlotB, true);
-	if (Random_Query(1, 2) == 1) {
-		Actor_Says(kActorMcCoy, 8655, 16);
+	if (_vm->_cutContent && !Game_Flag_Query(kFlagMcCoyCommentsOnHoodooRats)) {
+		Game_Flag_Set(kFlagMcCoyCommentsOnHoodooRats);
+		Actor_Voice_Over(1060, kActorVoiceOver);  // Hoodoo rats
+		Actor_Voice_Over(1080, kActorVoiceOver);
+		Actor_Voice_Over(1090, kActorVoiceOver);
 	} else {
-		Actor_Says(kActorMcCoy, 8665, 16);
+		if (Random_Query(1, 2) == 1) {
+			Actor_Says(kActorMcCoy, 8655, 16);
+		} else {
+			Actor_Says(kActorMcCoy, 8665, 16);
+		}
 	}
 }
 
diff --git a/engines/bladerunner/script/scene/kp02.cpp b/engines/bladerunner/script/scene/kp02.cpp
index 0c238b3..5bb0474 100644
--- a/engines/bladerunner/script/scene/kp02.cpp
+++ b/engines/bladerunner/script/scene/kp02.cpp
@@ -148,6 +148,13 @@ void SceneScriptKP02::PlayerWalkedIn() {
 	) {
 		Actor_Set_Goal_Number(kActorSteele, 450);
 	}
+
+	if (_vm->_cutContent && !Game_Flag_Query(kFlagKP02DispatchOnToxicKipple)) {
+		Game_Flag_Set(kFlagKP02DispatchOnToxicKipple);
+		ADQ_Add_Pause(Random_Query(0, 1) * 1000);
+		ADQ_Add(kActorDispatcher, 300, kAnimationModeTalk);
+		ADQ_Add(kActorDispatcher, 310, kAnimationModeTalk);
+	}
 	//return false;
 }
 
diff --git a/engines/bladerunner/script/scene/kp03.cpp b/engines/bladerunner/script/scene/kp03.cpp
index 8aa85f2..896823f 100644
--- a/engines/bladerunner/script/scene/kp03.cpp
+++ b/engines/bladerunner/script/scene/kp03.cpp
@@ -117,8 +117,14 @@ bool SceneScriptKP03::ClickedOn3DObject(const char *objectName, bool combatMode)
 				Game_Flag_Reset(kFlagKP03BombActive);
 				Scene_Loop_Set_Default(kKP03MainLoopBombNoWire);
 				Scene_Loop_Start_Special(kSceneLoopModeOnce, kKP03MainLoopBombInactive, false);
+				if (_vm->_cutContent) {
+					Actor_Voice_Over(1100, kActorVoiceOver); // I'd been lucky this time.
+				}
 				Actor_Voice_Over(1110, kActorVoiceOver);
 				Actor_Voice_Over(1120, kActorVoiceOver);
+				if (_vm->_cutContent) {
+					Actor_Voice_Over(1130, kActorVoiceOver); // One false step and...
+				}
 			} else {
 				Actor_Face_Object(kActorMcCoy, "BRACK MID", true);
 				Actor_Says(kActorMcCoy, 8580, 13);
diff --git a/engines/bladerunner/script/scene/ug04.cpp b/engines/bladerunner/script/scene/ug04.cpp
index f3fc451..b126ba4 100644
--- a/engines/bladerunner/script/scene/ug04.cpp
+++ b/engines/bladerunner/script/scene/ug04.cpp
@@ -162,6 +162,29 @@ void SceneScriptUG04::PlayerWalkedIn() {
 #endif
 		Game_Flag_Reset(kFlagUG06toUG04);
 	}
+	if (_vm->_cutContent
+	    && !Game_Flag_Query(kFlagUG04DispatchOnHoodooRats)
+	    && !Game_Flag_Query(kFlagMcCoyCommentsOnHoodooRats)
+	) {
+		if (Random_Query(0, 2) == 1) {
+			Game_Flag_Set(kFlagUG04DispatchOnHoodooRats);
+			ADQ_Add_Pause(Random_Query(0, 1) * 1000);
+			ADQ_Add(kActorDispatcher, 340, kAnimationModeTalk); // Southern Kipple Unit 2 LA.
+			if (Random_Query(0, 1) == 0) {
+				// Leary responds
+				ADQ_Add(kActorOfficerLeary, 240, kAnimationModeTalk); // LA, South Kipple Unit 2. Go ahead.
+				ADQ_Add(kActorDispatcher, 350, kAnimationModeTalk);
+				ADQ_Add(kActorDispatcher, 360, kAnimationModeTalk);
+				ADQ_Add(kActorOfficerLeary, 250, kAnimationModeTalk);
+			} else {
+				// Grayford responds
+				ADQ_Add(kActorOfficerGrayford, 520, kAnimationModeTalk); // LA, South Kipple Unit 2. Go ahead.
+				ADQ_Add(kActorDispatcher, 350, kAnimationModeTalk);
+				ADQ_Add(kActorDispatcher, 360, kAnimationModeTalk);
+				ADQ_Add(kActorOfficerGrayford, 530, kAnimationModeTalk);
+			}
+		}
+	}
 }
 
 void SceneScriptUG04::PlayerWalkedOut() {


Commit: 509738bb494247f2232b5b91719dba43b31fd661
    https://github.com/scummvm/scummvm/commit/509738bb494247f2232b5b91719dba43b31fd661
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-07-14T02:18:34+03:00

Commit Message:
BLADERUNNER: Fix seg fault at load from ScummVM menu

Happened if player was clicking mouse furiously while loading from the ScummVM GUI

Changed paths:
    engines/bladerunner/bladerunner.cpp
    engines/bladerunner/script/scene_script.cpp


diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index ecb4048..8c729a7 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -374,7 +374,6 @@ Common::Error BladeRunnerEngine::run() {
 		//  else {
 		// 	newGame(kGameDifficultyMedium);
 		// }
-
 		gameLoop();
 
 		_mouse->disable();
diff --git a/engines/bladerunner/script/scene_script.cpp b/engines/bladerunner/script/scene_script.cpp
index 8cfe8b3..14b353d 100644
--- a/engines/bladerunner/script/scene_script.cpp
+++ b/engines/bladerunner/script/scene_script.cpp
@@ -182,7 +182,10 @@ bool SceneScript::mouseClick(int x, int y) {
 	_inScriptCounter++;
 	_mouseX = x;
 	_mouseY = y;
-	bool result = _currentScript->MouseClick(x, y);
+	bool result = false;
+	if (_currentScript != nullptr) {
+		result = _currentScript->MouseClick(x, y);
+	}
 	_vm->_runningActorId = -1;
 	_inScriptCounter--;
 	_mouseX = -1;





More information about the Scummvm-git-logs mailing list