[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