aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner
diff options
context:
space:
mode:
authorantoniou792019-08-19 17:39:01 +0300
committerantoniou792019-08-22 23:50:20 +0300
commitea6ae69ac6e2093b7c61cc3d21379be3d13c5af0 (patch)
tree9f43e093e04ebdf3b48d97856322a5d0ccb16b30 /engines/bladerunner
parent178f507926ede6462e52defcb9435a9f94bc4ea7 (diff)
downloadscummvm-rg350-ea6ae69ac6e2093b7c61cc3d21379be3d13c5af0.tar.gz
scummvm-rg350-ea6ae69ac6e2093b7c61cc3d21379be3d13c5af0.tar.bz2
scummvm-rg350-ea6ae69ac6e2093b7c61cc3d21379be3d13c5af0.zip
BLADERUNNER: Named animations for Klein and Hasan
Diffstat (limited to 'engines/bladerunner')
-rw-r--r--engines/bladerunner/game_constants.h22
-rw-r--r--engines/bladerunner/script/ai/hasan.cpp52
-rw-r--r--engines/bladerunner/script/ai/klein.cpp66
-rw-r--r--engines/bladerunner/script/ai/mccoy.cpp2
-rw-r--r--engines/bladerunner/script/scene/bb11.cpp8
-rw-r--r--engines/bladerunner/script/scene/ct02.cpp8
-rw-r--r--engines/bladerunner/script/scene/ct06.cpp4
-rw-r--r--engines/bladerunner/script/scene/hc01.cpp2
-rw-r--r--engines/bladerunner/script/scene/nr01.cpp2
-rw-r--r--engines/bladerunner/script/scene/rc01.cpp6
10 files changed, 97 insertions, 75 deletions
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 0454666009..b1f40a7f64 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -1822,6 +1822,16 @@ enum GameModelAnimations {
// 671 - 681: Howie Lee animations
// 682 - 687: Fish Dealer animations
// 688 - 697: Dino Klein animations
+ kModelAnimationKleinWalking = 688,
+ kModelAnimationKleinStandingIdle = 689,
+ kModelAnimationKleinTalkScratchBackOfHead = 690,
+ kModelAnimationKleinWorkingOnInstruments = 691,
+ kModelAnimationKleinTalkSmallLeftHandMove = 692,
+ kModelAnimationKleinTalkRightHandTouchFace = 693,
+ kModelAnimationKleinTalkWideHandMotion = 694,
+ kModelAnimationKleinTalkSuggestOrAsk = 695,
+ kModelAnimationKleinTalkDismissive = 696,
+ kModelAnimationKleinTalkRaisingBothHands = 697,
// 698 - 704: Murray animations
// 705 - 715: Hawker's Barkeep animations
// 716 - 721: Holloway animations
@@ -1876,6 +1886,18 @@ enum GameModelAnimations {
// 908 - 917: Mutant 3 animations
// 918 - 919: Taffy Patron (Gordo's hostage) animations
// 920 - 930: Hasan animations
+ kModelAnimationHasanTalkWipeFaceLeftHand01 = 920, // UNUSED
+ kModelAnimationHasanIdleSlightMovement = 921,
+ kModelAnimationHasanTalkSuggest = 922,
+ kModelAnimationHasanTakingABiteSnakeMove = 923,
+ kModelAnimationHasanTalkPointingRightHand = 924, // UNUSED
+ kModelAnimationHasanTalkMovingBothHands = 925,
+ kModelAnimationHasanTalkLeftRightLeftGesture = 926,
+ kModelAnimationHasanTalkRaiseHandSnakeMove = 927,
+ kModelAnimationHasanTalkMovingBothHandsAndNod = 928,
+ kModelAnimationHasanTalkWipeFaceLeftHand02 = 929, // (almost) identical to 920 (same number of frames too)
+ kModelAnimationHasanTalkUpset = 930,
+ // 931 - 996: Item animations
kModelAnimationBadge = 931,
kModelAnimationBomb = 932,
kModelAnimationCandy = 933,
diff --git a/engines/bladerunner/script/ai/hasan.cpp b/engines/bladerunner/script/ai/hasan.cpp
index b2386a2fcc..3f48cc113b 100644
--- a/engines/bladerunner/script/ai/hasan.cpp
+++ b/engines/bladerunner/script/ai/hasan.cpp
@@ -126,15 +126,15 @@ bool AIScriptHasan::UpdateAnimation(int *animation, int *frame) {
switch (_animationState) {
case 0:
if (_var6 == 1) {
- *animation = 922;
+ *animation = kModelAnimationHasanTalkSuggest;
if (_var3) {
_var3--;
} else {
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(922)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTalkSuggest)) {
_animationFrame = 0;
_var6 = 0;
- *animation = 921;
+ *animation = kModelAnimationHasanIdleSlightMovement;
_var1 = Random_Query(6, 14);
_var2 = 2 * Random_Query(0, 1) - 1;
_var4 = Random_Query(40, 60);
@@ -144,15 +144,15 @@ bool AIScriptHasan::UpdateAnimation(int *animation, int *frame) {
}
}
} else if (_var6 == 2) {
- *animation = 923;
+ *animation = kModelAnimationHasanTakingABiteSnakeMove;
if (_var3) {
_var3--;
} else {
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(923)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTakingABiteSnakeMove)) {
_animationFrame = 0;
_var6 = 0;
- *animation = 921;
+ *animation = kModelAnimationHasanIdleSlightMovement;
_var1 = Random_Query(6, 14);
_var2 = 2 * Random_Query(0, 1) - 1;
_var5 = Random_Query(40, 60);
@@ -165,16 +165,16 @@ bool AIScriptHasan::UpdateAnimation(int *animation, int *frame) {
}
}
} else if (_var6 == 0) {
- *animation = 921;
+ *animation = kModelAnimationHasanIdleSlightMovement;
if (_var3) {
_var3--;
} else {
_animationFrame += _var2;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(921)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanIdleSlightMovement)) {
_animationFrame = 0;
}
if (_animationFrame < 0) {
- _animationFrame = Slice_Animation_Query_Number_Of_Frames(921) - 1;
+ _animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanIdleSlightMovement) - 1;
}
if (!--_var1) {
_var2 = 2 * Random_Query(0, 1) - 1;
@@ -195,60 +195,60 @@ bool AIScriptHasan::UpdateAnimation(int *animation, int *frame) {
break;
case 1:
- *animation = 925;
+ *animation = kModelAnimationHasanTalkMovingBothHands;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(925)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTalkMovingBothHands)) {
_animationFrame = 0;
}
break;
case 2:
- *animation = 926;
+ *animation = kModelAnimationHasanTalkLeftRightLeftGesture;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(926)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTalkLeftRightLeftGesture)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 925;
+ *animation = kModelAnimationHasanTalkMovingBothHands;
}
break;
case 3:
- *animation = 927;
+ *animation = kModelAnimationHasanTalkRaiseHandSnakeMove;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(927)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTalkRaiseHandSnakeMove)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 925;
+ *animation = kModelAnimationHasanTalkMovingBothHands;
}
break;
case 4:
- *animation = 928;
+ *animation = kModelAnimationHasanTalkMovingBothHandsAndNod;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(928)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTalkMovingBothHandsAndNod)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 925;
+ *animation = kModelAnimationHasanTalkMovingBothHands;
}
break;
case 5:
- *animation = 929;
+ *animation = kModelAnimationHasanTalkWipeFaceLeftHand02;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(929)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTalkWipeFaceLeftHand02)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 925;
+ *animation = kModelAnimationHasanTalkMovingBothHands;
}
break;
case 6:
- *animation = 930;
+ *animation = kModelAnimationHasanTalkUpset;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(930)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHasanTalkUpset)) {
_animationFrame = 0;
_animationState = 1;
- *animation = 925;
+ *animation = kModelAnimationHasanTalkMovingBothHands;
}
break;
diff --git a/engines/bladerunner/script/ai/klein.cpp b/engines/bladerunner/script/ai/klein.cpp
index fbb2cdbd79..44bd87281e 100644
--- a/engines/bladerunner/script/ai/klein.cpp
+++ b/engines/bladerunner/script/ai/klein.cpp
@@ -354,17 +354,17 @@ bool AIScriptKlein::UpdateAnimation(int *animation, int *frame) {
if (Actor_Query_Goal_Number(kActorKlein) == kGoalKleinMovingInLab01
|| Actor_Query_Goal_Number(kActorKlein) == kGoalKleinMovingInLab02
) {
- *animation = 691;
+ *animation = kModelAnimationKleinWorkingOnInstruments;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(691)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinWorkingOnInstruments)) {
_animationFrame = 0;
}
} else if (!Game_Flag_Query(kFlagKleinAnimation1)
&& Actor_Query_Goal_Number(kActorKlein) == kGoalKleinGotoLabSpeaker
) {
- *animation = 689;
+ *animation = kModelAnimationKleinStandingIdle;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(689)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinStandingIdle)) {
_animationFrame = 0;
if (Random_Query(1, 10) == 1) {
Game_Flag_Set(kFlagKleinAnimation1);
@@ -382,7 +382,7 @@ bool AIScriptKlein::UpdateAnimation(int *animation, int *frame) {
++_animationFrame;
}
- *animation = 690;
+ *animation = kModelAnimationKleinTalkScratchBackOfHead;
if (_animationFrame <= 9) {
if (Game_Flag_Query(kFlagKleinAnimation3)) {
Game_Flag_Reset(kFlagKleinAnimation3);
@@ -399,69 +399,69 @@ bool AIScriptKlein::UpdateAnimation(int *animation, int *frame) {
Game_Flag_Set(kFlagKleinAnimation3);
}
}
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(690)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinTalkScratchBackOfHead)) {
_animationFrame = 0;
Game_Flag_Reset(kFlagKleinAnimation1);
}
}
break;
case 1:
- *animation = 688;
+ *animation = kModelAnimationKleinWalking;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(688)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinWalking)) {
_animationFrame = 0;
}
break;
case 2:
- *animation = 692;
+ *animation = kModelAnimationKleinTalkSmallLeftHandMove;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(692)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinTalkSmallLeftHandMove)) {
_animationFrame = 0;
}
break;
case 3:
- *animation = 693;
+ *animation = kModelAnimationKleinTalkRightHandTouchFace;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(693)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinTalkRightHandTouchFace)) {
_animationState = 2;
_animationFrame = 0;
- *animation = 692;
+ *animation = kModelAnimationKleinTalkSmallLeftHandMove;
}
break;
case 4:
- *animation = 694;
+ *animation = kModelAnimationKleinTalkWideHandMotion;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(694)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinTalkWideHandMotion)) {
_animationState = 2;
_animationFrame = 0;
- *animation = 692;
+ *animation = kModelAnimationKleinTalkSmallLeftHandMove;
}
break;
case 5:
- *animation = 695;
+ *animation = kModelAnimationKleinTalkSuggestOrAsk;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(695)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinTalkSuggestOrAsk)) {
_animationState = 2;
_animationFrame = 0;
- *animation = 692;
+ *animation = kModelAnimationKleinTalkSmallLeftHandMove;
}
break;
case 6:
- *animation = 696;
+ *animation = kModelAnimationKleinTalkDismissive;
_animationFrame++;
- if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(696)) {
+ if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinTalkDismissive)) {
_animationState = 2;
_animationFrame = 0;
- *animation = 692;
+ *animation = kModelAnimationKleinTalkSmallLeftHandMove;
}
break;
case 7:
- *animation = 697;
+ *animation = kModelAnimationKleinTalkRaisingBothHands;
_animationFrame++;
- if (_animationFrame>= Slice_Animation_Query_Number_Of_Frames(697)) {
+ if (_animationFrame>= Slice_Animation_Query_Number_Of_Frames(kModelAnimationKleinTalkRaisingBothHands)) {
_animationState = 2;
_animationFrame = 0;
- *animation = 692;
+ *animation = kModelAnimationKleinTalkSmallLeftHandMove;
}
break;
case 8:
@@ -470,7 +470,7 @@ bool AIScriptKlein::UpdateAnimation(int *animation, int *frame) {
_animationState = _animationStateNext;
break;
default:
- *animation = 399;
+ *animation = 399; // TODO: A bug? This belongs to Zuben
break;
}
*frame = _animationFrame;
@@ -490,7 +490,7 @@ bool AIScriptKlein::ChangeAnimationMode(int mode) {
} else if (_animationState == 0) {
_animationState = 8;
_animationStateNext = 1;
- _animationNext = 688;
+ _animationNext = kModelAnimationKleinWalking;
}
break;
case kAnimationModeTalk:
@@ -500,7 +500,7 @@ bool AIScriptKlein::ChangeAnimationMode(int mode) {
} else {
_animationState = 8;
_animationStateNext = 2;
- _animationNext = 692;
+ _animationNext = kModelAnimationKleinTalkSmallLeftHandMove;
}
break;
case 12:
@@ -510,7 +510,7 @@ bool AIScriptKlein::ChangeAnimationMode(int mode) {
} else {
_animationState = 8;
_animationStateNext = 3;
- _animationNext = 693;
+ _animationNext = kModelAnimationKleinTalkRightHandTouchFace;
}
break;
case 13:
@@ -520,7 +520,7 @@ bool AIScriptKlein::ChangeAnimationMode(int mode) {
} else {
_animationState = 8;
_animationStateNext = 4;
- _animationNext = 694;
+ _animationNext = kModelAnimationKleinTalkWideHandMotion;
}
break;
case 14:
@@ -530,7 +530,7 @@ bool AIScriptKlein::ChangeAnimationMode(int mode) {
} else {
_animationState = 8;
_animationStateNext = 5;
- _animationNext = 695;
+ _animationNext = kModelAnimationKleinTalkSuggestOrAsk;
}
break;
case 15:
@@ -540,7 +540,7 @@ bool AIScriptKlein::ChangeAnimationMode(int mode) {
} else {
_animationState = 8;
_animationStateNext = 6;
- _animationNext = 696;
+ _animationNext = kModelAnimationKleinTalkDismissive;
}
break;
case 16:
@@ -550,7 +550,7 @@ bool AIScriptKlein::ChangeAnimationMode(int mode) {
} else {
_animationState = 8;
_animationStateNext = 7;
- _animationNext = 697;
+ _animationNext = kModelAnimationKleinTalkRaisingBothHands;
}
break;
}
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index 5ede8c68c2..390af53874 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -424,7 +424,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
case kGoalMcCoyNR10Fall:
Player_Set_Combat_Mode(false);
- Preload(18);
+ Preload(kModelAnimationMcCoyFallsOnHisBack);
Set_Enter(kSetNR10, kSceneNR10);
Player_Loses_Control();
Actor_Force_Stop_Walking(kActorMcCoy);
diff --git a/engines/bladerunner/script/scene/bb11.cpp b/engines/bladerunner/script/scene/bb11.cpp
index 6ad4c65bc9..381b03d103 100644
--- a/engines/bladerunner/script/scene/bb11.cpp
+++ b/engines/bladerunner/script/scene/bb11.cpp
@@ -44,17 +44,17 @@ void SceneScriptBB11::InitializeScene() {
Ambient_Sounds_Add_Sound(kSfxTHNDER4, 5, 180, 50, 100, 0, 0, -101, -101, 0, 0);
if (Game_Flag_Query(kFlagBB11SadikFight)) {
- Preload(19);
+ Preload(kModelAnimationMcCoyIdle);
Preload(220);
Preload(227);
Preload(328);
Preload(343);
Preload(344);
- Preload(17);
- Preload(14);
+ Preload(kModelAnimationMcCoyGotHitRight);
+ Preload(kModelAnimationMcCoyRunning);
Preload(324);
Preload(323);
- Preload(18);
+ Preload(kModelAnimationMcCoyFallsOnHisBack);
Preload(345);
}
}
diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp
index 07907d1fff..97efa5113e 100644
--- a/engines/bladerunner/script/scene/ct02.cpp
+++ b/engines/bladerunner/script/scene/ct02.cpp
@@ -96,10 +96,10 @@ void SceneScriptCT02::SceneLoaded() {
Unclickable_Object("COFFEJUG IN FOREGRO");
Unclickable_Object("BACK-DOOR");
if (!Game_Flag_Query(kFlagCT02PotTipped)) {
- Preload(0);
- Preload(3);
- Preload(3);
- Preload(28);
+ Preload(kModelAnimationMcCoyWithGunIdle);
+ Preload(kModelAnimationMcCoyWithGunWalking);
+ Preload(kModelAnimationMcCoyWithGunWalking); // A bug? Why is this preloaded twice?
+ Preload(kModelAnimationMcCoyDodgeAndDrawGun);
Preload(400);
Preload(419);
Preload(420);
diff --git a/engines/bladerunner/script/scene/ct06.cpp b/engines/bladerunner/script/scene/ct06.cpp
index 1aab6c585a..963a53f6fd 100644
--- a/engines/bladerunner/script/scene/ct06.cpp
+++ b/engines/bladerunner/script/scene/ct06.cpp
@@ -68,8 +68,8 @@ void SceneScriptCT06::SceneLoaded() {
Unobstacle_Object("CB BOX04", true);
Unclickable_Object("DOOR");
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
- Preload(3);
- Preload(4);
+ Preload(kModelAnimationMcCoyWithGunWalking);
+ Preload(kModelAnimationMcCoyWithGunRunning);
Preload(389);
Preload(390);
Preload(398);
diff --git a/engines/bladerunner/script/scene/hc01.cpp b/engines/bladerunner/script/scene/hc01.cpp
index 5fa67213ad..7399346ddf 100644
--- a/engines/bladerunner/script/scene/hc01.cpp
+++ b/engines/bladerunner/script/scene/hc01.cpp
@@ -74,7 +74,7 @@ void SceneScriptHC01::InitializeScene() {
void SceneScriptHC01::SceneLoaded() {
Obstacle_Object("PILLAR", true);
if (Game_Flag_Query(kFlagAR01toHC01)) {
- Preload(19);
+ Preload(kModelAnimationMcCoyIdle);
Preload(426);
Preload(430);
Preload(437);
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index 3a0b46d53b..08d62d76ae 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -37,7 +37,7 @@ void SceneScriptNR01::InitializeScene() {
} else if (Game_Flag_Query(kFlagNR01DektoraFall)) {
Setup_Scene_Information( -416.0f, 31.93f, -841.0f, 200);
Actor_Set_Invisible(kActorMcCoy, true);
- Preload(167);
+ Preload(kModelAnimationDektoraInFlamesEndFalling);
} else if (Game_Flag_Query(kFlagNR03toNR01)) {
Setup_Scene_Information( -416.0f, 31.93f, -841.0f, 200);
} else if (Game_Flag_Query(kFlagUG06toNR01)) {
diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp
index 4c0f0b7f87..1c5ba9ac9b 100644
--- a/engines/bladerunner/script/scene/rc01.cpp
+++ b/engines/bladerunner/script/scene/rc01.cpp
@@ -198,9 +198,9 @@ void SceneScriptRC01::SceneLoaded() {
}
if (!Game_Flag_Query(kFlagRC01PoliceDone)) {
- Preload(13);
- Preload(14);
- Preload(19);
+ Preload(kModelAnimationMcCoyWalking);
+ Preload(kModelAnimationMcCoyRunning);
+ Preload(kModelAnimationMcCoyIdle);
Preload(582);
Preload(589);
}