BLADERUNNER: Restore more comments in RC02

This commit is contained in:
Thanasis Antoniou 2019-08-09 21:28:19 +03:00
parent 92d3751972
commit 5b839c5382
4 changed files with 41 additions and 14 deletions

View File

@ -491,7 +491,7 @@ enum Flags {
kFlagPS09GrigorianTalk1 = 49,
kFlagPS09GrigorianVKChosen = 50, // re-purposed, original is never used
kFlagGrigorianDislikeMcCoy = 51,
// 52 is never used
kFlagRC02McCoyCommentsOnVideoScreens = 52, // re-purposed, original is never used
kFlagPS09GrigorianDialogue = 53,
kFlagPS09GrigorianTalk2 = 54,
kFlagGrigorianArrested = 55,

View File

@ -554,25 +554,25 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
switch (Random_Query(1, 8)) {
case 1:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append(kActorZuben, 490, 0);
AI_Movement_Track_Append(kActorZuben, 490, 0); // kSetNR01
AI_Movement_Track_Append(kActorZuben, 491, 8);
AI_Movement_Track_Append(kActorZuben, 492, 2);
AI_Movement_Track_Append(kActorZuben, 493, 5);
AI_Movement_Track_Append(kActorZuben, 494, 0);
AI_Movement_Track_Append(kActorZuben, 39, 10);
AI_Movement_Track_Append(kActorZuben, 33, Random_Query(15, 45));
AI_Movement_Track_Append(kActorZuben, 39, 10);
AI_Movement_Track_Append(kActorZuben, 39, 10); // kSetFreeSlotG
AI_Movement_Track_Append(kActorZuben, 33, Random_Query(15, 45)); // kSetFreeSlotA
AI_Movement_Track_Append(kActorZuben, 39, 10); // kSetFreeSlotG
AI_Movement_Track_Repeat(kActorZuben);
break;
case 2:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append(kActorZuben, 495, 0);
AI_Movement_Track_Append(kActorZuben, 495, 0); // kSetNR02
AI_Movement_Track_Append(kActorZuben, 496, 0);
AI_Movement_Track_Append(kActorZuben, 33, Random_Query(15, 45));
AI_Movement_Track_Repeat(kActorZuben);
break;
case 3:
AI_Movement_Track_Append(kActorZuben, 498, 0);
AI_Movement_Track_Append(kActorZuben, 498, 0); // kSetNR03
AI_Movement_Track_Append(kActorZuben, 497, 0);
AI_Movement_Track_Append(kActorZuben, 39, 10);
AI_Movement_Track_Append(kActorZuben, 33, 30);
@ -581,7 +581,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 4:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append(kActorZuben, 499, 2);
AI_Movement_Track_Append(kActorZuben, 499, 2); // kSetNR05_NR08
AI_Movement_Track_Append(kActorZuben, 500, 3);
AI_Movement_Track_Append(kActorZuben, 499, 2);
AI_Movement_Track_Append(kActorZuben, 39, 10);
@ -591,7 +591,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 5:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append(kActorZuben, 503, 0);
AI_Movement_Track_Append(kActorZuben, 503, 0); // kSetNR05_NR08
AI_Movement_Track_Append(kActorZuben, 504, 0);
AI_Movement_Track_Append(kActorZuben, 505, 5);
AI_Movement_Track_Append(kActorZuben, 39, 10);
@ -601,7 +601,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 6:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append(kActorZuben, 508, 0);
AI_Movement_Track_Append(kActorZuben, 508, 0); // kSetHF01
AI_Movement_Track_Append(kActorZuben, 509, 2);
AI_Movement_Track_Append(kActorZuben, 39, 10);
AI_Movement_Track_Append(kActorZuben, 33, 30);
@ -610,7 +610,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 7:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append(kActorZuben, 514, 0);
AI_Movement_Track_Append(kActorZuben, 514, 0); // kSetHF03
AI_Movement_Track_Append(kActorZuben, 515, 0);
AI_Movement_Track_Append(kActorZuben, 39, 10);
AI_Movement_Track_Append(kActorZuben, 33, 30);
@ -619,7 +619,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case 8:
AI_Movement_Track_Flush(kActorZuben);
AI_Movement_Track_Append(kActorZuben, 510, 0);
AI_Movement_Track_Append(kActorZuben, 510, 0); // kSetHF01
AI_Movement_Track_Append(kActorZuben, 511, 0);
AI_Movement_Track_Append(kActorZuben, 39, 10);
AI_Movement_Track_Append(kActorZuben, 33, 40);

View File

@ -288,6 +288,7 @@ bool SceneScriptCT02::ClickedOnExit(int exitId) {
bool SceneScriptCT02::ClickedOn2DRegion(int region) {
if (_vm->_cutContent
&& Global_Variable_Query(kVariableChapter) == 1
&& Game_Flag_Query(kFlagCT02McCoyShouldCommentOnDumpedSoup)
&& (region == 0 || region == 1)
) {

View File

@ -39,6 +39,11 @@ void SceneScriptRC02::InitializeScene() {
if (Game_Flag_Query(kFlagRC51Available)) {
Scene_Exit_Add_2D_Exit(kRC02ExitRC51, 265, 58, 346, 154, 0);
}
if (_vm->_cutContent
&& Global_Variable_Query(kVariableChapter) == 1
&& !Game_Flag_Query(kFlagRC02McCoyCommentsOnVideoScreens)) {
Scene_2D_Region_Add(0, 187, 104, 235, 150);// broken screen
}
Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
Ambient_Sounds_Add_Looping_Sound(kSfxBRBED5, 50, 1, 1);
Ambient_Sounds_Add_Looping_Sound(kSfxWINDLOP8, 75, 1, 1);
@ -164,8 +169,8 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
}
if (_vm->_cutContent
&& !Game_Flag_Query(kFlagMcCoyCommentsOnMurderedAnimals)
&& Global_Variable_Query(kVariableChapter) == 1
&& !Game_Flag_Query(kFlagMcCoyCommentsOnMurderedAnimals)
&& !Actor_Clue_Query(kActorMcCoy, kClueLabCorpses)
&& (Object_Query_Click("DRAPE01", objectName)
|| Object_Query_Click("DRAPE02", objectName)
@ -175,6 +180,15 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
|| Object_Query_Click("DRAPE06", objectName)
|| Object_Query_Click("DRAPE07", objectName))
) {
if (Player_Query_Agenda() == kPlayerAgendaSurly
|| (Player_Query_Agenda() == kPlayerAgendaErratic && Random_Query(0, 1) == 1)
) {
Actor_Voice_Over(1940, kActorVoiceOver);
} else {
Actor_Voice_Over(9010, kActorMcCoy);
Actor_Voice_Over(9015, kActorMcCoy);
Actor_Voice_Over(9020, kActorMcCoy);
}
Game_Flag_Set(kFlagMcCoyCommentsOnMurderedAnimals);
Unclickable_Object("DRAPE01");
Unclickable_Object("DRAPE02");
@ -183,7 +197,6 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
Unclickable_Object("DRAPE05");
Unclickable_Object("DRAPE06");
Unclickable_Object("DRAPE07");
Actor_Voice_Over(1940, kActorVoiceOver);
return true;
}
return false;
@ -436,6 +449,19 @@ bool SceneScriptRC02::ClickedOnExit(int exitId) {
}
bool SceneScriptRC02::ClickedOn2DRegion(int region) {
if (_vm->_cutContent
&& Global_Variable_Query(kVariableChapter) == 1
&& !Game_Flag_Query(kFlagRC02McCoyCommentsOnVideoScreens)
&& region == 0
) {
Game_Flag_Set(kFlagRC02McCoyCommentsOnVideoScreens);
Scene_2D_Region_Remove(0);
Actor_Voice_Over(9025, kActorMcCoy);
Actor_Voice_Over(9030, kActorMcCoy);
Actor_Voice_Over(9035, kActorMcCoy);
return true;
}
return false;
}