diff options
author | Thanasis Antoniou | 2019-05-13 22:29:26 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-05-13 22:29:26 +0300 |
commit | 093c18564c1c2b973acddb328525e2dc0bd12f64 (patch) | |
tree | 76a7edd5cb5f34ef0179de82c0ffead68560ed2f /engines/bladerunner/script | |
parent | a14dffbf4b8c7ba51e4c801cc49584dc974864dc (diff) | |
download | scummvm-rg350-093c18564c1c2b973acddb328525e2dc0bd12f64.tar.gz scummvm-rg350-093c18564c1c2b973acddb328525e2dc0bd12f64.tar.bz2 scummvm-rg350-093c18564c1c2b973acddb328525e2dc0bd12f64.zip |
BLADERUNNER: Act 4 meet with Rachael polish
Diffstat (limited to 'engines/bladerunner/script')
-rw-r--r-- | engines/bladerunner/script/ai/mccoy.cpp | 40 | ||||
-rw-r--r-- | engines/bladerunner/script/ai/rachael.cpp | 130 | ||||
-rw-r--r-- | engines/bladerunner/script/ai_script.h | 2 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/ma06.cpp | 7 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/ug04.cpp | 6 |
5 files changed, 96 insertions, 89 deletions
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp index f5c6342fab..1fd268451f 100644 --- a/engines/bladerunner/script/ai/mccoy.cpp +++ b/engines/bladerunner/script/ai/mccoy.cpp @@ -48,7 +48,7 @@ void AIScriptMcCoy::Initialize() { _animationLoopFrameMin = 0; _animationLoopFrameMax = 3; _animationStateNextSpecial = 3; - _animationNextSpecial = 20; + _animationNextSpecial = kModelAnimationMcCoyProtestingTalk; _nextSoundId = -1; _NR10SteeleShooting = false; _fallSpeed = 0; @@ -623,7 +623,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) { _animationState = _animationStateNextSpecial; *animation = _animationNextSpecial; _animationStateNextSpecial = 4; - _animationNextSpecial = 20; + _animationNextSpecial = kModelAnimationMcCoyProtestingTalk; } else if (_animationFrame <= 4 && Game_Flag_Query(kFlagMcCoyAnimation1)) { Game_Flag_Reset(kFlagMcCoyAnimation1); *animation = kModelAnimationMcCoyIdle; @@ -1472,11 +1472,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 3; - _animationNext = 20; + _animationNext = kModelAnimationMcCoyProtestingTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 4; - _animationNextSpecial = 20; + _animationNextSpecial = kModelAnimationMcCoyProtestingTalk; } break; @@ -1564,11 +1564,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 5; - _animationNext = 21; + _animationNext = kModelAnimationMcCoyScratchHeadTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 5; - _animationNextSpecial = 21; + _animationNextSpecial = kModelAnimationMcCoyScratchHeadTalk; } break; @@ -1577,11 +1577,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 6; - _animationNext = 27; + _animationNext = kModelAnimationMcCoyScratchEarLongerTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 6; - _animationNextSpecial = 27; + _animationNextSpecial = kModelAnimationMcCoyScratchEarLongerTalk; } break; @@ -1590,11 +1590,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 7; - _animationNext = 22; + _animationNext = kModelAnimationMcCoyPointingTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 7; - _animationNextSpecial = 22; + _animationNextSpecial = kModelAnimationMcCoyPointingTalk; } break; @@ -1602,11 +1602,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 8; - _animationNext = 23; + _animationNext = kModelAnimationMcCoyUpsetTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 8; - _animationNextSpecial = 23; + _animationNextSpecial = kModelAnimationMcCoyUpsetTalk; } break; @@ -1614,11 +1614,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 9; - _animationNext = 24; + _animationNext = kModelAnimationMcCoyDismissiveTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 9; - _animationNextSpecial = 24; + _animationNextSpecial = kModelAnimationMcCoyDismissiveTalk; } break; @@ -1626,11 +1626,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 10; - _animationNext = 25; + _animationNext = kModelAnimationMcCoyScratchEarTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 10; - _animationNextSpecial = 25; + _animationNextSpecial = kModelAnimationMcCoyScratchEarTalk; } break; @@ -1638,11 +1638,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 11; - _animationNext = 26; + _animationNext = kModelAnimationMcCoyHandsOnWaistTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 11; - _animationNextSpecial = 26; + _animationNextSpecial = kModelAnimationMcCoyHandsOnWaistTalk; } break; @@ -1650,11 +1650,11 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) { if (_animationState < 3 || _animationState > 12) { _animationState = 13; _animationStateNext = 12; - _animationNext = 27; + _animationNext = kModelAnimationMcCoyScratchEarLongerTalk; } else { Game_Flag_Reset(kFlagMcCoyAnimation1); _animationStateNextSpecial = 12; - _animationNextSpecial = 27; + _animationNextSpecial = kModelAnimationMcCoyScratchEarLongerTalk; } break; diff --git a/engines/bladerunner/script/ai/rachael.cpp b/engines/bladerunner/script/ai/rachael.cpp index 63879b7f20..000d3d2556 100644 --- a/engines/bladerunner/script/ai/rachael.cpp +++ b/engines/bladerunner/script/ai/rachael.cpp @@ -162,6 +162,10 @@ bool AIScriptRachael::GoalChanged(int currentGoalNumber, int newGoalNumber) { } break; + case kGoalRachaelIsInsideElevatorStartTalkAct4: + dialogue_act4(); + break; + case kGoalRachaelIsOutWalksToPoliceHQAct4: // added goal for restored content // fall through @@ -195,101 +199,101 @@ bool AIScriptRachael::GoalChanged(int currentGoalNumber, int newGoalNumber) { bool AIScriptRachael::UpdateAnimation(int *animation, int *frame) { switch (_animationState) { case 0: - *animation = 823; + *animation = kModelAnimationRachaelIdle; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(823) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelIdle) - 1) { _animationFrame = 0; } break; case 1: - *animation = 822; + *animation = kModelAnimationRachaelWalking; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(822) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelWalking) - 1) { _animationFrame = 0; } break; case 2: if (!_animationFrame && _flag) { - *animation = 823; + *animation = kModelAnimationRachaelIdle; _animationState = 0; } else { - *animation = 825; + *animation = kModelAnimationRachaelTalkSoftNod; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(825) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelTalkSoftNod) - 1) { _animationFrame = 0; } } break; case 3: - *animation = 826; + *animation = kModelAnimationRachaelTalkNodToLeft; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(826) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelTalkNodToLeft) - 1) { _animationFrame = 0; _animationState = 2; - *animation = 825; + *animation = kModelAnimationRachaelTalkSoftNod; } break; case 4: - *animation = 827; + *animation = kModelAnimationRachaelTalkSuggestWithNodToLeft; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(827) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelTalkSuggestWithNodToLeft) - 1) { _animationFrame = 0; _animationState = 2; - *animation = 825; + *animation = kModelAnimationRachaelTalkSoftNod; } break; case 5: - *animation = 828; + *animation = kModelAnimationRachaelTalkIndiffWithNodToLeft; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(828) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelTalkIndiffWithNodToLeft) - 1) { _animationFrame = 0; _animationState = 2; - *animation = 825; + *animation = kModelAnimationRachaelTalkSoftNod; } break; case 6: - *animation = 829; + *animation = kModelAnimationRachaelTalkOfferPointing; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(829) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelTalkOfferPointing) - 1) { _animationFrame = 0; _animationState = 2; - *animation = 825; + *animation = kModelAnimationRachaelTalkSoftNod; } break; case 7: - *animation = 830; + *animation = kModelAnimationRachaelTalkHaltMovement; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(830) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelTalkHaltMovement) - 1) { _animationFrame = 0; _animationState = 2; - *animation = 825; + *animation = kModelAnimationRachaelTalkSoftNod; } break; case 8: - *animation = 831; + *animation = kModelAnimationRachaelTalkHandOnChest; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(831) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelTalkHandOnChest) - 1) { _animationFrame = 0; _animationState = 2; - *animation = 825; + *animation = kModelAnimationRachaelTalkSoftNod; } break; case 9: - *animation = 832; + *animation = kModelAnimationRachaelTalkHandWaveToRight; _animationFrame++; - if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(832) - 1) { + if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(kModelAnimationRachaelTalkHandWaveToRight) - 1) { _animationFrame = 0; _animationState = 2; - *animation = 825; + *animation = kModelAnimationRachaelTalkSoftNod; } break; @@ -304,10 +308,10 @@ bool AIScriptRachael::UpdateAnimation(int *animation, int *frame) { bool AIScriptRachael::ChangeAnimationMode(int mode) { switch (mode) { case kAnimationModeIdle: - if (_animationState >= 2 && _animationState <= 9) { + if (_animationState >= 2 && _animationState <= 9) { // talking states _flag = 1; } else { - _animationState = 0; + _animationState = 0; // idle state _animationFrame = 0; } break; @@ -531,46 +535,46 @@ void AIScriptRachael::dialogue_agenda2() { } // Not used in the game -void AIScriptRachael::dialogue_agenda3() { - Actor_Says(kActorMcCoy, 2865, 3); // Lobby +void AIScriptRachael::dialogue_act4() { + Actor_Says(kActorMcCoy, 2865, 17); // Lobby if (_vm->_cutContent) { - Game_Flag_Set(kFlagMA06toMA07); - Ambient_Sounds_Add_Looping_Sound(kSfxSPINUP1, 75, 0, 1); + Game_Flag_Set(kFlagMA06toMA07); // to Ground Floor / Lobby Delay(500); + AI_Movement_Track_Pause(kActorRachael); Actor_Face_Actor(kActorRachael, kActorMcCoy, true); } - Actor_Says(kActorRachael, 320, 3); // McCoy - Actor_Says(kActorRachael, 330, 3); // RachaelRememberMe + Actor_Says(kActorRachael, 320, 12); // McCoy + Actor_Says(kActorRachael, 330, 17); // RachaelRememberMe if (_vm->_cutContent) { Actor_Face_Actor(kActorMcCoy, kActorRachael, true); } - Actor_Says(kActorMcCoy, 2870, 3); // Jesus DontKnowWhatIRememberAnyMore - Actor_Says(kActorRachael, 340, 3); // NowYouLookInTrouble - Actor_Says(kActorMcCoy, 2875, 3); // Saw me here before - Actor_Says(kActorRachael, 350, 3); // YesWhatHappened - Actor_Says(kActorMcCoy, 2880, 3); // Suddenly - Actor_Says(kActorMcCoy, 2885, 3); // MyAnimalMaggiePrizedPosessionDisappeared - Actor_Says(kActorRachael, 360, 3); // ImSorry - Actor_Says(kActorRachael, 370, 3); // IKnowTheFeeling - Actor_Says(kActorMcCoy, 2890, 3); // You do? - Actor_Says(kActorRachael, 380, 3); // EverythingWeBelieve - Actor_Says(kActorRachael, 390, 3); // WhatIsReality - Actor_Says(kActorRachael, 400, 3); // MaybeAllSomeoneElsesFantasy - Actor_Says(kActorMcCoy, 2895, 3); // That would make us a fantasy - Actor_Says(kActorRachael, 410, 3); // ThatsRightAndInTheBlinkOfAnEyeGoesAway - Actor_Says(kActorMcCoy, 2900, 3); // But just yesterday - Actor_Says(kActorRachael, 420, 3); // YesterdayTwoMonthsAgo - Actor_Says(kActorMcCoy, 2905, 3); // ButIfWeBothRemembered - Actor_Says(kActorRachael, 430, 3); // CopiesOnlyCopies - Actor_Says(kActorRachael, 440, 3); // OnlyThingWeCanTrustIsNow - Actor_Says(kActorMcCoy, 2910, 3); // NotLosingMyMindEscapedReplicant - Actor_Says(kActorMcCoy, 2920, 3); // SomeoneSettingMeUpUsingMe - Actor_Says(kActorRachael, 450, 3); // NothingWrongWithAcceptingWhatYouAre - Actor_Says(kActorMcCoy, 2925, 3); // NotAReplicantGoddamnit - Actor_Says(kActorMcCoy, 2930, 3); // MaybeYouCanHelpMeYouAreTyrellsNiece - Actor_Says(kActorRachael, 460, 3); // Why not take that V-K test - Actor_Says(kActorMcCoy, 2935, 3); // YeahGoodIdeaMaybeIllDoThat - Actor_Says(kActorRachael, 470, 3); // Hope you get the answers looking for McCoy. + Actor_Says(kActorMcCoy, 2870, 13); // Jesus DontKnowWhatIRememberAnyMore + Actor_Says(kActorRachael, 340, 12); // NowYouLookInTrouble + Actor_Says(kActorMcCoy, 2875, 15); // Saw me here before + Actor_Says(kActorRachael, 350, 3); // YesWhatHappened + Actor_Says(kActorMcCoy, 2880, 16); // Suddenly + Actor_Says(kActorMcCoy, 2885, 12); // MyAnimalMaggiePrizedPosessionDisappeared + Actor_Says(kActorRachael, 360, 3); // ImSorry + Actor_Says(kActorRachael, 370, 3); // IKnowTheFeeling + Actor_Says(kActorMcCoy, 2890, 18); // You do? + Actor_Says(kActorRachael, 380, 18); // EverythingWeBelieve + Actor_Says(kActorRachael, 390, 12); // WhatIsReality + Actor_Says(kActorRachael, 400, 13); // MaybeAllSomeoneElsesFantasy + Actor_Says(kActorMcCoy, 2895, 14); // That would make us a fantasy + Actor_Says(kActorRachael, 410, 15); // ThatsRightAndInTheBlinkOfAnEyeGoesAway + Actor_Says(kActorMcCoy, 2900, 16); // But just yesterday + Actor_Says(kActorRachael, 420, 14); // YesterdayTwoMonthsAgo + Actor_Says(kActorMcCoy, 2905, 13); // ButIfWeBothRemembered + Actor_Says(kActorRachael, 430, 16); // CopiesOnlyCopies + Actor_Says(kActorRachael, 440, 12); // OnlyThingWeCanTrustIsNow + Actor_Says(kActorMcCoy, 2910, 14); // NotLosingMyMindEscapedReplicant + Actor_Says(kActorMcCoy, 2920, 17); // SomeoneSettingMeUpUsingMe + Actor_Says(kActorRachael, 450, 3); // NothingWrongWithAcceptingWhatYouAre + Actor_Says(kActorMcCoy, 2925, 15); // NotAReplicantGoddamnit + Actor_Says(kActorMcCoy, 2930, 14); // MaybeYouCanHelpMeYouAreTyrellsNiece + Actor_Says(kActorRachael, 460, 13); // Why not take that V-K test + Actor_Says(kActorMcCoy, 2935, 19); // YeahGoodIdeaMaybeIllDoThat + Actor_Says(kActorRachael, 470, 18); // Hope you get the answers looking for McCoy. } } // End of namespace BladeRunner diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h index 463d063b41..2fb282077a 100644 --- a/engines/bladerunner/script/ai_script.h +++ b/engines/bladerunner/script/ai_script.h @@ -420,7 +420,7 @@ DECLARE_SCRIPT(Rachael) void dialogue_start(); void dialogue_agenda1(); void dialogue_agenda2(); - void dialogue_agenda3(); + void dialogue_act4(); END_SCRIPT DECLARE_SCRIPT(GeneralDoll) diff --git a/engines/bladerunner/script/scene/ma06.cpp b/engines/bladerunner/script/scene/ma06.cpp index 380c6ad7bb..7155beda1e 100644 --- a/engines/bladerunner/script/scene/ma06.cpp +++ b/engines/bladerunner/script/scene/ma06.cpp @@ -158,6 +158,9 @@ void SceneScriptMA06::PlayerWalkedIn() { Actor_Set_Goal_Number(kActorRachael, kGoalRachaelIsInsideElevatorStartTalkAct4); // Delay(500); + Game_Flag_Reset(kFlagMA01toMA06); + Game_Flag_Reset(kFlagMA02toMA06); + Game_Flag_Reset(kFlagMA07toMA06); Ambient_Sounds_Adjust_Looping_Sound(kSfxSPINUP1, 0, 0, 1); Ambient_Sounds_Adjust_Looping_Sound(kSfxAPRTFAN1, 0, 0, 1); Ambient_Sounds_Adjust_Looping_Sound(kSfxELEAMB3, 0, 0, 1); @@ -165,10 +168,6 @@ void SceneScriptMA06::PlayerWalkedIn() { Ambient_Sounds_Remove_Looping_Sound(kSfxAPRTFAN1, 1); // stop other ambient Ambient_Sounds_Remove_Looping_Sound(kSfxELEAMB3, 1); // stop other ambient - Game_Flag_Reset(kFlagMA01toMA06); - Game_Flag_Reset(kFlagMA02toMA06); - Game_Flag_Reset(kFlagMA07toMA06); - // Player_Gains_Control(); Set_Enter(kSetMA07, kSceneMA07); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA06LoopDoorClose, true); diff --git a/engines/bladerunner/script/scene/ug04.cpp b/engines/bladerunner/script/scene/ug04.cpp index 766f0b9457..a0db3143fb 100644 --- a/engines/bladerunner/script/scene/ug04.cpp +++ b/engines/bladerunner/script/scene/ug04.cpp @@ -74,7 +74,11 @@ void SceneScriptUG04::InitializeScene() { } void SceneScriptUG04::SceneLoaded() { - Obstacle_Object("NAV", true); +#if BLADERUNNER_ORIGINAL_BUGS + Obstacle_Object("NAV", true); // a bug? this object does not exist in the scene +#else + Obstacle_Object("VAN", true); +#endif // BLADERUNNER_ORIGINAL_BUGS Unobstacle_Object("RUBBLE", true); Unobstacle_Object("FLOOR DEBRIS WADS", true); Unobstacle_Object("FLOOR DEBRIS WADS01", true); |