[Scummvm-git-logs] scummvm master -> 7fba5444ee822202aa02fb7e5cef49baba76c630
antoniou79
antoniou at cti.gr
Sun Apr 14 15:15:15 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:
f8b5033680 BLADERUNNER: Remove line about Izo being in UG02 CH04
7fba5444ee BLADERUNNER: Don't restart dialogue with offended Larry
Commit: f8b5033680fce2cd660bf884e05cbbbaa936347f
https://github.com/scummvm/scummvm/commit/f8b5033680fce2cd660bf884e05cbbbaa936347f
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-04-14T15:59:57+03:00
Commit Message:
BLADERUNNER: Remove line about Izo being in UG02 CH04
Changed paths:
engines/bladerunner/script/scene/ug02.cpp
diff --git a/engines/bladerunner/script/scene/ug02.cpp b/engines/bladerunner/script/scene/ug02.cpp
index 5072265..266eb4b 100644
--- a/engines/bladerunner/script/scene/ug02.cpp
+++ b/engines/bladerunner/script/scene/ug02.cpp
@@ -130,7 +130,14 @@ bool SceneScriptUG02::ClickedOn3DObject(const char *objectName, bool a2) {
} else if (!Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache)) {
Actor_Voice_Over(2510, kActorVoiceOver);
Actor_Voice_Over(2520, kActorVoiceOver);
- Actor_Voice_Over(2530, kActorVoiceOver);
+#if BLADERUNNER_ORIGINAL_BUGS
+ Actor_Voice_Over(2530, kActorVoiceOver); // But there was no way to tell what was missing without Izo standing there checking his inventory.
+#else
+ // This voice over says that Izo is there in Chapter 4 checking out his weapon's cache
+ // This does not happen in the original game (Izo being there) although this case can be triggered
+ // TODO Restore this quote ONLY IF we restore the related cut-content so that Izo may appear here in Chapter 4.
+ //Actor_Voice_Over(2530, kActorVoiceOver); // But there was no way to tell what was missing without Izo standing there checking his inventory.
+#endif // BLADERUNNER_ORIGINAL_BUGS
} else if (!Game_Flag_Query(kFlagUG02AmmoTaken)) {
Item_Pickup_Spin_Effect(996, 360, 440);
Actor_Says(kActorMcCoy, 8525, 14);
Commit: 7fba5444ee822202aa02fb7e5cef49baba76c630
https://github.com/scummvm/scummvm/commit/7fba5444ee822202aa02fb7e5cef49baba76c630
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-04-14T15:59:57+03:00
Commit Message:
BLADERUNNER: Don't restart dialogue with offended Larry
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/ai/crazylegs.cpp
engines/bladerunner/script/scene/hf01.cpp
engines/bladerunner/script/scene/hf05.cpp
engines/bladerunner/script/scene/ma04.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 9da269b..ba3e156 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -2284,6 +2284,16 @@ enum GoalLeon {
kGoalLeonGone = 8
};
+enum GoalCrazyLegs {
+ kGoalCrazyLegsDefault = 0,
+ kGoalCrazyLegsShotAndHit = 1,
+ kGoalCrazyLegsLeavesShowroom = 2, // set either after McCoy re-holsters his gun, or if McCoy tells him to lie to Steele
+ // goal 10 seems unused
+ // goal 10 updates to 11 (also unused)
+ kGoalCrazyLegsMcCoyDrewHisGun = 210, // When McCoy draws gun and Ch < 5
+ kGoalCrazyLegsIsArrested = 699
+};
+
enum GoalFreeSlotA { // Rat
kGoalFreeSlotAUG15Wait = 300,
kGoalFreeSlotAUG15WalkOut = 301,
diff --git a/engines/bladerunner/script/ai/crazylegs.cpp b/engines/bladerunner/script/ai/crazylegs.cpp
index 4766efe..c2031fc 100644
--- a/engines/bladerunner/script/ai/crazylegs.cpp
+++ b/engines/bladerunner/script/ai/crazylegs.cpp
@@ -77,34 +77,34 @@ void AIScriptCrazylegs::OtherAgentExitedThisScene(int otherActorId) {
}
void AIScriptCrazylegs::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) {
- if (Actor_Query_Goal_Number(kActorCrazylegs) != 2 && !otherActorId) {
+ if (Actor_Query_Goal_Number(kActorCrazylegs) != kGoalCrazyLegsLeavesShowroom && otherActorId == kActorMcCoy) {
if (combatMode && Global_Variable_Query(kVariableChapter) < 5) {
- Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, 1);
- Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, 1);
+ Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);
+ Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true);
Actor_Says(kActorCrazylegs, 430, 3);
Actor_Says_With_Pause(kActorCrazylegs, 440, 0.0, 3);
Actor_Says(kActorMcCoy, 1870, -1);
Actor_Says(kActorCrazylegs, 450, 3);
- Actor_Set_Goal_Number(kActorCrazylegs, 210);
- } else if (Actor_Query_Goal_Number(kActorCrazylegs) == 210) {
- Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, 1);
+ Actor_Set_Goal_Number(kActorCrazylegs, kGoalCrazyLegsMcCoyDrewHisGun);
+ } else if (Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsMcCoyDrewHisGun) {
+ Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);
Actor_Says(kActorCrazylegs, 460, 3);
Actor_Says(kActorCrazylegs, 470, 3);
- Actor_Set_Goal_Number(kActorCrazylegs, 2);
+ Actor_Set_Goal_Number(kActorCrazylegs, kGoalCrazyLegsLeavesShowroom);
}
}
}
void AIScriptCrazylegs::ShotAtAndMissed() {
- if (Actor_Query_Goal_Number(kActorCrazylegs) == 2)
+ if (Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsLeavesShowroom)
return;
- Actor_Set_Goal_Number(kActorCrazylegs, 2);
+ Actor_Set_Goal_Number(kActorCrazylegs, kGoalCrazyLegsLeavesShowroom);
}
bool AIScriptCrazylegs::ShotAtAndHit() {
- Actor_Set_Goal_Number(kActorCrazylegs, 1);
- Actor_Says(kActorMcCoy, 1875, 4);
+ Actor_Set_Goal_Number(kActorCrazylegs, kGoalCrazyLegsShotAndHit);
+ Actor_Says(kActorMcCoy, 1875, 4); // I wouldn't drag that bucket of bolts if you paid me.
return false;
}
@@ -117,17 +117,17 @@ int AIScriptCrazylegs::GetFriendlinessModifierIfGetsClue(int otherActorId, int c
}
bool AIScriptCrazylegs::GoalChanged(int currentGoalNumber, int newGoalNumber) {
- if (newGoalNumber == 0) {
+ if (newGoalNumber == kGoalCrazyLegsDefault) {
return true;
}
- if (newGoalNumber == 1) {
+ if (newGoalNumber == kGoalCrazyLegsShotAndHit) {
AI_Movement_Track_Flush(kActorCrazylegs);
- Actor_Set_Targetable(kActorCrazylegs, 0);
+ Actor_Set_Targetable(kActorCrazylegs, false);
return true;
}
- if (newGoalNumber == 2) {
+ if (newGoalNumber == kGoalCrazyLegsLeavesShowroom) {
AI_Movement_Track_Flush(kActorCrazylegs);
AI_Movement_Track_Append(kActorCrazylegs, 360, 0);
AI_Movement_Track_Append(kActorCrazylegs, 40, 0);
diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp
index 56d5f6a..e01af36 100644
--- a/engines/bladerunner/script/scene/hf01.cpp
+++ b/engines/bladerunner/script/scene/hf01.cpp
@@ -157,7 +157,7 @@ bool SceneScriptHF01::ClickedOnActor(int actorId) {
|| Actor_Clue_Query(kActorMcCoy, kCluePhoneCallLucy1)
)
&& !Game_Flag_Query(kFlagCrazylegsArrested)
- && Actor_Query_Goal_Number(kActorCrazylegs) != 2
+ && Actor_Query_Goal_Number(kActorCrazylegs) != kGoalCrazyLegsLeavesShowroom
&& Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)
&& !Game_Flag_Query(kFlagHF01TalkToLovedOne)
) {
@@ -340,7 +340,7 @@ void SceneScriptHF01::PlayerWalkedIn() {
}
if (!Game_Flag_Query(kFlagCrazylegsArrested)
- && Actor_Query_Goal_Number(kActorCrazylegs) != 2
+ && Actor_Query_Goal_Number(kActorCrazylegs) != kGoalCrazyLegsLeavesShowroom
) {
if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallLucy1)
&& Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index 61a029c..2624a1e 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -80,8 +80,8 @@ bool SceneScriptHF05::ClickedOn3DObject(const char *objectName, bool a2) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, 40.63f, 308.0f, 0, true, false, 0)) {
Actor_Face_Object(kActorMcCoy, "TOP CON", true);
if (Actor_Query_In_Set(kActorCrazylegs, kSetHF05)
- && Actor_Query_Goal_Number(kActorCrazylegs) != 1
- && Actor_Query_Goal_Number(kActorCrazylegs) != 2
+ && Actor_Query_Goal_Number(kActorCrazylegs) != kGoalCrazyLegsShotAndHit
+ && Actor_Query_Goal_Number(kActorCrazylegs) != kGoalCrazyLegsLeavesShowroom
) {
Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);
Actor_Says(kActorCrazylegs, 480, 13);
@@ -152,11 +152,26 @@ bool SceneScriptHF05::ClickedOn3DObject(const char *objectName, bool a2) {
bool SceneScriptHF05::ClickedOnActor(int actorId) {
if (actorId == kActorCrazylegs) {
+#if BLADERUNNER_ORIGINAL_BUGS
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorCrazylegs, 60, true, false)) {
Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true);
Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);
dialogueWithCrazylegs1();
}
+#else
+ // Don't (re)start a dialogue with CrayLegs if he is leaving or insulted by McCoy drawing his gun
+ if (Actor_Query_Goal_Number(kActorCrazylegs) != kGoalCrazyLegsLeavesShowroom
+ && Actor_Query_Goal_Number(kActorCrazylegs) != kGoalCrazyLegsMcCoyDrewHisGun) {
+ if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorCrazylegs, 60, true, false)) {
+ Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true);
+ Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);
+ dialogueWithCrazylegs1();
+ }
+ } else {
+ Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true);
+ Actor_Says(kActorMcCoy, 5560, 15); // Hey
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
}
return false;
}
@@ -347,8 +362,8 @@ void SceneScriptHF05::PlayerWalkedIn() {
}
void SceneScriptHF05::PlayerWalkedOut() {
- if (Actor_Query_Goal_Number(kActorCrazylegs) == 210) {
- Actor_Set_Goal_Number(kActorCrazylegs, 2);
+ if (Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsMcCoyDrewHisGun) {
+ Actor_Set_Goal_Number(kActorCrazylegs, kGoalCrazyLegsLeavesShowroom);
}
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -544,7 +559,7 @@ void SceneScriptHF05::dialogueWithCrazylegs2() { // cut feature? it is impossibl
Game_Flag_Set(kFlagCrazylegsArrested);
Actor_Put_In_Set(kActorCrazylegs, kSetPS09);
Actor_Set_At_XYZ(kActorCrazylegs, -315.15f, 0.0f, 241.06f, 583);
- Actor_Set_Goal_Number(kActorCrazylegs, 699);
+ Actor_Set_Goal_Number(kActorCrazylegs, kGoalCrazyLegsIsArrested);
Game_Flag_Set(kFlagCrazylegsArrestedTalk);
if (Game_Flag_Query(kFlagSpinnerAtNR01)) {
Set_Enter(kSetNR01, kSceneNR01);
@@ -659,9 +674,9 @@ void SceneScriptHF05::talkWithCrazylegs3(int affectionTowardsActor) {
} else {
Actor_Says(kActorLucy, 380, kAnimationModeTalk);
}
- Actor_Says(kActorMcCoy, 1740, 14);
- Actor_Says(kActorCrazylegs, 120, 12);
- Actor_Set_Goal_Number(kActorCrazylegs, 2);
+ Actor_Says(kActorMcCoy, 1740, 14); // You tell her we're headed South.
+ Actor_Says(kActorCrazylegs, 120, 12); // Ten Four.
+ Actor_Set_Goal_Number(kActorCrazylegs, kGoalCrazyLegsLeavesShowroom);
if (affectionTowardsActor == kActorDektora) {
Actor_Says(kActorDektora, 100, kAnimationModeTalk);
} else {
diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp
index 034ec8e..b7e869c 100644
--- a/engines/bladerunner/script/scene/ma04.cpp
+++ b/engines/bladerunner/script/scene/ma04.cpp
@@ -370,7 +370,7 @@ void SceneScriptMA04::phoneCallWithDektora() {
Actor_Says(kActorDektora, 340, 3);
Actor_Says(kActorDektora, 350, 3);
if (Game_Flag_Query(kFlagCrazylegsArrested)
- || Actor_Query_Goal_Number(kActorCrazylegs) == 2
+ || Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsLeavesShowroom
) {
answer = 1170; // CLOVIS
} else {
@@ -425,7 +425,7 @@ void SceneScriptMA04::phoneCallWithLucy() {
Actor_Says(kActorMcCoy, 2560, 17);
Actor_Says(kActorLucy, 580, 3);
if (Game_Flag_Query(kFlagCrazylegsArrested)
- || Actor_Query_Goal_Number(kActorCrazylegs) == 2
+ || Actor_Query_Goal_Number(kActorCrazylegs) == kGoalCrazyLegsLeavesShowroom
) {
Actor_Says(kActorLucy, 630, 3);
Actor_Says_With_Pause(kActorMcCoy, 2575, 0.0f, 15);
More information about the Scummvm-git-logs
mailing list