[Scummvm-git-logs] scummvm master -> f962fcaf67bf942929f98a0e6580d9dc3fc9f3b8

antoniou79 a.antoniou79 at gmail.com
Tue Dec 15 14:27:38 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f962fcaf67 BLADERUNNER: Describe more character animations


Commit: f962fcaf67bf942929f98a0e6580d9dc3fc9f3b8
    https://github.com/scummvm/scummvm/commit/f962fcaf67bf942929f98a0e6580d9dc3fc9f3b8
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2020-12-15T16:24:22+02:00

Commit Message:
BLADERUNNER: Describe more character animations

EarlyQBartender, Hanoi, Hawker's barkeeper, Holloway, Moraji, Photographer, Rajif, Sgt Walls, Tyrell

Also described shooshine man's animations but he is unused as of yet.

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/ai/early_q_bartender.cpp
    engines/bladerunner/script/ai/hanoi.cpp
    engines/bladerunner/script/ai/hawkers_barkeep.cpp
    engines/bladerunner/script/ai/holloway.cpp
    engines/bladerunner/script/ai/mccoy.cpp
    engines/bladerunner/script/ai/moraji.cpp
    engines/bladerunner/script/ai/photographer.cpp
    engines/bladerunner/script/ai/rajif.cpp
    engines/bladerunner/script/ai/sergeant_walls.cpp
    engines/bladerunner/script/ai/tyrell.cpp
    engines/bladerunner/script/ai_script.h


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 1dd39c4be7..5caa2e9366 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -2374,23 +2374,83 @@ enum GameModelAnimations {
 	kModelAnimationMurrayMoreExplainTalk = 703,
 	kModelAnimationMurrayCautionTalk     = 704,
 	// 705 - 715: Hawker's Barkeep animations
-		// TODO
+	kModelAnimationHawkersBarkeepIdle                   = 705,
+	kModelAnimationHawkersBarkeepCleaningBar            = 706,
+	kModelAnimationHawkersBarkeepWipingGlasses          = 707,
+	kModelAnimationHawkersBarkeepGestureGive            = 708,
+	kModelAnimationHawkersBarkeepGiveMoonshine          = 709,
+	kModelAnimationHawkersBarkeepCalmTalk               = 710,
+	kModelAnimationHawkersBarkeepExplainTalk            = 711,
+	kModelAnimationHawkersBarkeepBentsAndWipesTalk      = 712,
+	kModelAnimationHawkersBarkeepAltGestureGiveTalk     = 713, // similar to 708, kind of bents more
+	kModelAnimationHawkersBarkeepBentingTalk            = 714,
+	kModelAnimationHawkersBarkeepBentingAndDismissTalk  = 715,
 	// 716 - 721: Holloway animations
-		// TODO
+	kModelAnimationHollowayWalking                     = 716,
+	kModelAnimationHollowayIdle                        = 717,
+	kModelAnimationHollowaySlightHeadMove              = 718, // UNUSED
+	kModelAnimationHollowayGlobAttack                  = 719,
+	kModelAnimationHollowayCalmTalk                    = 720,
+	kModelAnimationHollowayExplainTalk                 = 721,
 	// 722 - 731: Sergeant Walls animations
-		// TODO
+	kModelAnimationSergeantWallsIdle             = 722,
+	kModelAnimationSergeantWallsScratchHead      = 723, // UNUSED
+	kModelAnimationSergeantWallsGestureGive      = 724,
+	kModelAnimationSergeantWallsCalmTalk         = 725,
+	kModelAnimationSergeantWallsMoreHeadMoveTalk = 726,
+	kModelAnimationSergeantWallsExplainTalk      = 727,
+	kModelAnimationSergeantWallsLaughTalk        = 728,
+	kModelAnimationSergeantWallsHarderLaughTalk  = 729,
+	kModelAnimationSergeantWallsDefendTalk       = 730,
+	kModelAnimationSergeantWallsHitsBuzzerTalk   = 731,
 	// 732 - 743: Moraji animations
-		// TODO
+	// In all Moraji's animations except 742, 743, he still has the cuff on his left hand
+	kModelAnimationMorajiRunning                           = 732,
+	kModelAnimationMorajiCuffedIdle                        = 733,
+	kModelAnimationMorajiCuffedFastTalk                    = 734,
+	kModelAnimationMorajiCuffedMoreFastTalk                = 735,
+	kModelAnimationMorajiCuffedPointingTalk                = 736,
+	kModelAnimationMorajiCuffedSomethingExplodingToHisLeft = 737, // McCoy shooting at cuffs
+	kModelAnimationMorajiCuffedShotDead                    = 738,
+	kModelAnimationMorajiRunningDivesForward               = 739,
+	kModelAnimationMorajiLayingForwardTalk                 = 740,
+	kModelAnimationMorajiLayingForwardDies                 = 741,
+	kModelAnimationMorajiSittingGetsUp                     = 742, // no cuff here
+	kModelAnimationMorajiStandingUpUrgentTalk              = 743, // UNUSED - no cuff here either
 	// 744 - 750: Photographer animations
-		// TODO
+	kModelAnimationPhotographerWalking          = 744,
+	kModelAnimationPhotographerIdle             = 745,
+	kModelAnimationPhotographerTakingAPhoto     = 746,
+	kModelAnimationPhotographerCalmTalk         = 747,
+	kModelAnimationPhotographerMoreHeadMoveTalk = 748, // UNUSED - RESTORED
+	kModelAnimationPhotographerExplainTalk      = 749,
+	kModelAnimationPhotographerSuggestTalk      = 750,
 	//       751: Rajif animations
-		// TODO
+	kModelAnimationRajifWithGunIdle             = 751,
 	// 752 - 757: EarlyQ Bartender animations
-		// TODO
+	kModelAnimationEarlyQBartenderWipingGlassIdle      = 752,
+	kModelAnimationEarlyQBartenderWipingTable          = 753,
+	kModelAnimationEarlyQBartenderPuttingAGlassOnTable = 754,
+	kModelAnimationEarlyQBartenderCalmTalk             = 755,
+	kModelAnimationEarlyQBartenderExplainTalk          = 756, // UNUSED - RESTORED
+	kModelAnimationEarlyQBartenderDescribeTalk         = 757,
 	// 758 - 764: Shoeshine Man animations (UNUSED)
-		// TODO
-	// 765 - 772: Tyrell animations
-		// TODO
+	kModelAnimationShoeshineManWalking              = 758, // UNUSED
+	kModelAnimationShoeshineManSitsIdle             = 759, // UNUSED
+	kModelAnimationShoeshineManSitsGestureGive      = 760, // UNUSED
+	kModelAnimationShoeshineManSitsCalmTalk         = 761, // UNUSED
+	kModelAnimationShoeshineManSitsMoreHeadMoveTalk = 762, // UNUSED
+	kModelAnimationShoeshineManSitsViolentHeadMove  = 763, // UNUSED - Coughs? Spits? Talks?
+	kModelAnimationShoeshineManSitsGetsUp           = 764, // UNUSED
+	// 765 - 772: Tyrell animations // TODO
+	kModelAnimationTyrellWalking             = 765,
+	kModelAnimationTyrellIdle                = 766,
+	kModelAnimationTyrellHeadMoveIdle        = 767,
+	kModelAnimationTyrellFastNodTalk         = 768,
+	kModelAnimationTyrellSuggestTalk         = 769,
+	kModelAnimationTyrellConsideringTalk     = 770,
+	kModelAnimationTyrellBowsAndSuggestsTalk = 771,
+	kModelAnimationTyrellDismissTalk         = 772,
 	// 773 - 787: Chew animations
 		// TODO
 	// 788 - 804: Gaff animations
diff --git a/engines/bladerunner/script/ai/early_q_bartender.cpp b/engines/bladerunner/script/ai/early_q_bartender.cpp
index c55d6e7577..53ba395e71 100644
--- a/engines/bladerunner/script/ai/early_q_bartender.cpp
+++ b/engines/bladerunner/script/ai/early_q_bartender.cpp
@@ -26,7 +26,8 @@ namespace BladeRunner {
 
 AIScriptEarlyQBartender::AIScriptEarlyQBartender(BladeRunnerEngine *vm) : AIScriptBase(vm) {
 	_resumeIdleAfterFramesetCompletesFlag = false;
-	_var1 = 0;
+	// _varChooseIdleAnimation can have valid values: 0, 1
+	_varChooseIdleAnimation = 0;
 	_var2 = 1;
 }
 
@@ -37,7 +38,7 @@ void AIScriptEarlyQBartender::Initialize() {
 	_animationNext = 0;
 
 	_resumeIdleAfterFramesetCompletesFlag = false;
-	_var1 = 0;
+	_varChooseIdleAnimation = 0;
 	_var2 = 1;
 
 	Actor_Put_In_Set(kActorEarlyQBartender, kSetNR05_NR08);
@@ -103,8 +104,8 @@ bool AIScriptEarlyQBartender::GoalChanged(int currentGoalNumber, int newGoalNumb
 bool AIScriptEarlyQBartender::UpdateAnimation(int *animation, int *frame) {
 	switch (_animationState) {
 	case 0:
-		if (_var1 == 1) {
-			*animation = 753;
+		if (_varChooseIdleAnimation == 1) {
+			*animation = kModelAnimationEarlyQBartenderWipingTable;
 			if (_animationFrame <= 5) {
 				_var2 = 1;
 			}
@@ -113,63 +114,74 @@ bool AIScriptEarlyQBartender::UpdateAnimation(int *animation, int *frame) {
 				_var2 = -1;
 			}
 
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(753)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQBartenderWipingTable)) {
 				_animationFrame = 0;
-				_var1 = 0;
+				_varChooseIdleAnimation = 0;
 			}
-		} else if (_var1 == 0) {
-			*animation = 752;
+		} else if (_varChooseIdleAnimation == 0) {
+			*animation = kModelAnimationEarlyQBartenderWipingGlassIdle;
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(752)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQBartenderWipingGlassIdle)) {
 				_animationFrame = 0;
 
 				if (!Random_Query(0, 6)) {
-					_var1 = 1;
+					_varChooseIdleAnimation = 1;
 				}
 			}
 		}
 		break;
 
 	case 1:
-		*animation = 755;
+		*animation = kModelAnimationEarlyQBartenderCalmTalk;
 
 		if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
 			_animationState = 0;
-			_var1 = 0;
+			_varChooseIdleAnimation = 0;
 		} else {
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(755)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQBartenderCalmTalk)) {
 				_animationFrame = 0;
 			}
 		}
 		break;
 
 	case 2:
-		*animation = 757;
+#if BLADERUNNER_ORIGINAL_BUGS
+		// TODO A bug? This is identical to case 3 for animation 757, but 756 talk animation is left unused
+		*animation = kModelAnimationEarlyQBartenderDescribeTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(757)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQBartenderDescribeTalk)) {
 			_animationFrame = 0;
 			_animationState = 1;
-			*animation = 755;
+			*animation = kModelAnimationEarlyQBartenderCalmTalk;
 		}
+#else
+		*animation = kModelAnimationEarlyQBartenderExplainTalk;
+		++_animationFrame;
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQBartenderExplainTalk)) {
+			_animationFrame = 0;
+			_animationState = 1;
+			*animation = kModelAnimationEarlyQBartenderCalmTalk;
+		}
+#endif
 		break;
 
 	case 3:
-		*animation = 757;
+		*animation = kModelAnimationEarlyQBartenderDescribeTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(757)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQBartenderDescribeTalk)) {
 			_animationFrame = 0;
 			_animationState = 1;
-			*animation = 755;
+			*animation = kModelAnimationEarlyQBartenderCalmTalk;
 		}
 		break;
 
 	case 4:
-		*animation = 754;
+		*animation = kModelAnimationEarlyQBartenderPuttingAGlassOnTable;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(754)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationEarlyQBartenderPuttingAGlassOnTable)) {
 			Actor_Change_Animation_Mode(kActorEarlyQBartender, kAnimationModeIdle);
-			*animation = 752;
+			*animation = kModelAnimationEarlyQBartenderWipingGlassIdle;
 			_animationFrame = 0;
 			_animationState = 0;
 		}
@@ -188,7 +200,7 @@ bool AIScriptEarlyQBartender::ChangeAnimationMode(int mode) {
 	case 0:
 		_animationState = 0;
 		_animationFrame = 0;
-		_var1 = 0;
+		_varChooseIdleAnimation = 0;
 		_var2 = 1;
 		break;
 
diff --git a/engines/bladerunner/script/ai/hanoi.cpp b/engines/bladerunner/script/ai/hanoi.cpp
index 94f53328c3..2ee548c9d7 100644
--- a/engines/bladerunner/script/ai/hanoi.cpp
+++ b/engines/bladerunner/script/ai/hanoi.cpp
@@ -715,6 +715,8 @@ bool AIScriptHanoi::ChangeAnimationMode(int mode) {
 		break;
 
 	case 16:
+		// Used when Hanoi says "You're real cute" to McCoy (in NR03), 
+		// when McCoy first tries to sit on the rotating couch
 #if BLADERUNNER_ORIGINAL_BUGS
 		// TODO a bug? uses kModelAnimationHanoiSlightBowingTalk (654) again like case 15
 		_animationStateNext = 18;
@@ -733,6 +735,7 @@ bool AIScriptHanoi::ChangeAnimationMode(int mode) {
 		break;
 
 	case kAnimationModeHit:
+		// fall through
 	case kAnimationModeCombatHit:
 		_animationState = 12;
 		_animationFrame = 0;
diff --git a/engines/bladerunner/script/ai/hawkers_barkeep.cpp b/engines/bladerunner/script/ai/hawkers_barkeep.cpp
index 69ba3b6728..4728075dac 100644
--- a/engines/bladerunner/script/ai/hawkers_barkeep.cpp
+++ b/engines/bladerunner/script/ai/hawkers_barkeep.cpp
@@ -25,8 +25,9 @@
 namespace BladeRunner {
 
 AIScriptHawkersBarkeep::AIScriptHawkersBarkeep(BladeRunnerEngine *vm) : AIScriptBase(vm) {
-	_var1 = 0;
-	_var2 = 0;
+	// _varChooseIdleAnimation can have valid values: 0, 1, 2s
+	_varChooseIdleAnimation = 0;
+	_varNumOfTimesToHoldCurrentFrame = 0;
 	_var3 = 1;
 	_resumeIdleAfterFramesetCompletesFlag = false;
 }
@@ -37,8 +38,8 @@ void AIScriptHawkersBarkeep::Initialize() {
 	_animationStateNext = 0;
 	_animationNext = 0;
 
-	_var1 = 0;
-	_var2 = 0;
+	_varChooseIdleAnimation = 0;
+	_varNumOfTimesToHoldCurrentFrame = 0;
 	_var3 = 1;
 	_resumeIdleAfterFramesetCompletesFlag = false;
 
@@ -119,11 +120,11 @@ bool AIScriptHawkersBarkeep::GoalChanged(int currentGoalNumber, int newGoalNumbe
 bool AIScriptHawkersBarkeep::UpdateAnimation(int *animation, int *frame) {
 	switch (_animationState) {
 	case 0:
-		if (_var1 == 0) {
-			*animation = 705;
+		if (_varChooseIdleAnimation == 0) {
+			*animation = kModelAnimationHawkersBarkeepIdle;
 
-			if (_var2) {
-				--_var2;
+			if (_varNumOfTimesToHoldCurrentFrame > 0) {
+				--_varNumOfTimesToHoldCurrentFrame;
 
 				if (Random_Query(0, 6) == 0) {
 					_var3 = -_var3;
@@ -131,34 +132,34 @@ bool AIScriptHawkersBarkeep::UpdateAnimation(int *animation, int *frame) {
 			} else {
 				_animationFrame += _var3;
 
-				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(705))
+				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepIdle))
 					_animationFrame = 0;
 
 				if (_animationFrame < 0)
-					_animationFrame = Slice_Animation_Query_Number_Of_Frames(705) - 1;
+					_animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepIdle) - 1;
 
 				if (!Random_Query(0, 4))
-					_var2 = 1;
+					_varNumOfTimesToHoldCurrentFrame = 1;
 
 				if (_animationFrame == 13 || _animationFrame == 5 || _animationFrame == 9)
-					_var2 = Random_Query(2, 8);
+					_varNumOfTimesToHoldCurrentFrame = Random_Query(2, 8);
 
 				if (!Random_Query(0, 5)) {
 					if (_animationFrame == 0 || _animationFrame == 11) {
 						_animationFrame = 0;
 
 						if (Random_Query(0, 1)) {
-							*animation = 706;
-							_var1 = 1;
+							*animation = kModelAnimationHawkersBarkeepCleaningBar;
+							_varChooseIdleAnimation = 1;
 						} else {
-							*animation = 707;
-							_var1 = 2;
+							*animation = kModelAnimationHawkersBarkeepWipingGlasses;
+							_varChooseIdleAnimation = 2;
 						}
 					}
 				}
 			}
-		} else if (_var1 == 1) {
-			*animation = 706;
+		} else if (_varChooseIdleAnimation == 1) {
+			*animation = kModelAnimationHawkersBarkeepCleaningBar;
 			if (_animationFrame <= 3)
 				_var3 = 1;
 
@@ -169,18 +170,18 @@ bool AIScriptHawkersBarkeep::UpdateAnimation(int *animation, int *frame) {
 
 			_animationFrame += _var3;
 
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(706)) {
-				*animation = 705;
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepCleaningBar)) {
+				*animation = kModelAnimationHawkersBarkeepIdle;
 				_animationFrame = 0;
-				_var1 = 0;
+				_varChooseIdleAnimation = 0;
 			}
-		} else if (_var1 == 2) {
-			*animation = 707;
+		} else if (_varChooseIdleAnimation == 2) {
+			*animation = kModelAnimationHawkersBarkeepWipingGlasses;
 
-			if (_var2) {
-				--_var2;
+			if (_varNumOfTimesToHoldCurrentFrame > 0) {
+				--_varNumOfTimesToHoldCurrentFrame;
 
-				if (_var2 == 0)
+				if (_varNumOfTimesToHoldCurrentFrame == 0)
 					_var3 = 2 * Random_Query(0, 1) - 1;
 			} else {
 				if (_animationFrame <= 11)
@@ -193,39 +194,39 @@ bool AIScriptHawkersBarkeep::UpdateAnimation(int *animation, int *frame) {
 				}
 
 				if (_animationFrame == 18) {
-					_var2 = Random_Query(5, 15);
+					_varNumOfTimesToHoldCurrentFrame = Random_Query(5, 15);
 				}
 
 				++_animationFrame;
-				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(707)) {
-					*animation = 705;
+				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepWipingGlasses)) {
+					*animation = kModelAnimationHawkersBarkeepIdle;
 					_animationFrame = 0;
-					_var1 = 0;
-					_var2 = 0;
+					_varChooseIdleAnimation = 0;
+					_varNumOfTimesToHoldCurrentFrame = 0;
 				}
 			}
 		}
 		break;
 
 	case 1:
-		if (_var1 == 0) {
+		if (_varChooseIdleAnimation == 0) {
 			_animationFrame = 0;
 			_animationState = _animationStateNext;
 			*animation = _animationNext;
-		} else if (_var1 == 1) {
-			*animation = 706;
+		} else if (_varChooseIdleAnimation == 1) {
+			*animation = kModelAnimationHawkersBarkeepCleaningBar;
 			++_animationFrame;
 
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(706)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepCleaningBar)) {
 				_animationFrame = 0;
 				_animationState = _animationStateNext;
 				*animation = _animationNext;
 			}
-		} else if (_var1 == 2) {
-			*animation = 707;
+		} else if (_varChooseIdleAnimation == 2) {
+			*animation = kModelAnimationHawkersBarkeepWipingGlasses;
 			_animationFrame += 2;
 
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(707)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepWipingGlasses)) {
 				_animationFrame = 0;
 				_animationState = _animationStateNext;
 				*animation = _animationNext;
@@ -235,92 +236,92 @@ bool AIScriptHawkersBarkeep::UpdateAnimation(int *animation, int *frame) {
 		break;
 
 	case 2:
-		*animation = 710;
+		*animation = kModelAnimationHawkersBarkeepCalmTalk;
 
 		if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
 			_animationState = 0;
-			_var1 = 0;
+			_varChooseIdleAnimation = 0;
 		} else {
 			++_animationFrame;
 
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(710)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepCalmTalk)) {
 				_animationFrame = 0;
 			}
 		}
 		break;
 
 	case 3:
-		*animation = 711;
+		*animation = kModelAnimationHawkersBarkeepExplainTalk;
 		++_animationFrame;
 
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(711)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepExplainTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 710;
+			*animation = kModelAnimationHawkersBarkeepCalmTalk;
 		}
 		break;
 
 	case 4:
-		*animation = 712;
+		*animation = kModelAnimationHawkersBarkeepBentsAndWipesTalk;
 		++_animationFrame;
 
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(712)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepBentsAndWipesTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 710;
+			*animation = kModelAnimationHawkersBarkeepCalmTalk;
 		}
 		break;
 
 	case 5:
-		*animation = 713;
+		*animation = kModelAnimationHawkersBarkeepAltGestureGiveTalk;
 		++_animationFrame;
 
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(713)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepAltGestureGiveTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 710;
+			*animation = kModelAnimationHawkersBarkeepCalmTalk;
 		}
 		break;
 
 	case 6:
-		*animation = 714;
+		*animation = kModelAnimationHawkersBarkeepBentingTalk;
 		++_animationFrame;
 
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(714)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepBentingTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 710;
+			*animation = kModelAnimationHawkersBarkeepCalmTalk;
 		}
 		break;
 
 	case 7:
-		*animation = 715;
+		*animation = kModelAnimationHawkersBarkeepBentingAndDismissTalk;
 		++_animationFrame;
 
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(715)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepBentingAndDismissTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 710;
+			*animation = kModelAnimationHawkersBarkeepCalmTalk;
 		}
 		break;
 
 	case 8:
-		*animation = 708;
+		*animation = kModelAnimationHawkersBarkeepGestureGive;
 		++_animationFrame;
 
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(708)) {
-			*animation = 705;
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepGestureGive)) {
+			*animation = kModelAnimationHawkersBarkeepIdle;
 			_animationFrame = 0;
 			_animationState = 0;
 		}
 		break;
 
 	case 9:
-		*animation = 709;
+		*animation = kModelAnimationHawkersBarkeepGiveMoonshine;
 		++_animationFrame;
 
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(709)) {
-			*animation = 705;
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHawkersBarkeepGiveMoonshine)) {
+			*animation = kModelAnimationHawkersBarkeepIdle;
 			_animationFrame = 0;
 			_animationState = 0;
 		}
@@ -353,7 +354,7 @@ bool AIScriptHawkersBarkeep::ChangeAnimationMode(int mode) {
 		} else {
 			_animationState = 1;
 			_animationStateNext = 2;
-			_animationNext = 710;
+			_animationNext = kModelAnimationHawkersBarkeepCalmTalk;
 		}
 		_resumeIdleAfterFramesetCompletesFlag = false;
 		break;
@@ -365,7 +366,7 @@ bool AIScriptHawkersBarkeep::ChangeAnimationMode(int mode) {
 		} else {
 			_animationState = 1;
 			_animationStateNext = 3;
-			_animationNext = 711;
+			_animationNext = kModelAnimationHawkersBarkeepExplainTalk;
 		}
 		_resumeIdleAfterFramesetCompletesFlag = false;
 		break;
@@ -377,7 +378,7 @@ bool AIScriptHawkersBarkeep::ChangeAnimationMode(int mode) {
 		} else {
 			_animationState = 1;
 			_animationStateNext = 4;
-			_animationNext = 712;
+			_animationNext = kModelAnimationHawkersBarkeepBentsAndWipesTalk;
 		}
 		_resumeIdleAfterFramesetCompletesFlag = false;
 		break;
@@ -389,7 +390,7 @@ bool AIScriptHawkersBarkeep::ChangeAnimationMode(int mode) {
 		} else {
 			_animationState = 1;
 			_animationStateNext = 5;
-			_animationNext = 713;
+			_animationNext = kModelAnimationHawkersBarkeepAltGestureGiveTalk;
 		}
 		_resumeIdleAfterFramesetCompletesFlag = false;
 		break;
@@ -401,7 +402,7 @@ bool AIScriptHawkersBarkeep::ChangeAnimationMode(int mode) {
 		} else {
 			_animationState = 1;
 			_animationStateNext = 6;
-			_animationNext = 714;
+			_animationNext = kModelAnimationHawkersBarkeepBentingTalk;
 		}
 		_resumeIdleAfterFramesetCompletesFlag = false;
 		break;
@@ -413,7 +414,7 @@ bool AIScriptHawkersBarkeep::ChangeAnimationMode(int mode) {
 		} else {
 			_animationState = 1;
 			_animationStateNext = 7;
-			_animationNext = 715;
+			_animationNext = kModelAnimationHawkersBarkeepBentingAndDismissTalk;
 		}
 		_resumeIdleAfterFramesetCompletesFlag = false;
 		break;
diff --git a/engines/bladerunner/script/ai/holloway.cpp b/engines/bladerunner/script/ai/holloway.cpp
index 33fd90328c..ec26fe535a 100644
--- a/engines/bladerunner/script/ai/holloway.cpp
+++ b/engines/bladerunner/script/ai/holloway.cpp
@@ -206,15 +206,15 @@ bool AIScriptHolloway::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 bool AIScriptHolloway::UpdateAnimation(int *animation, int *frame) {
 	switch (_animationState) {
 	case 0:
-		*animation = 717;
+		*animation = kModelAnimationHollowayIdle;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(717)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHollowayIdle)) {
 			_animationFrame = 0;
 		}
 		break;
 
 	case 1:
-		*animation = 719;
+		*animation = kModelAnimationHollowayGlobAttack;
 		++_animationFrame;
 
 		if (_animationFrame == 9) {
@@ -225,72 +225,48 @@ bool AIScriptHolloway::UpdateAnimation(int *animation, int *frame) {
 			Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
 		}
 
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(719)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHollowayGlobAttack)) {
 			Actor_Change_Animation_Mode(kActorHolloway, kAnimationModeIdle);
 			_animationFrame = 0;
 			_animationState = 0;
-			*animation = 717;
+			*animation = kModelAnimationHollowayIdle;
 			Actor_Set_Goal_Number(kActorHolloway, kGoalHollowayPrepareCaptureMcCoy);
 		}
 		break;
 
 	case 2:
 		if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
-			*animation = 717;
+			*animation = kModelAnimationHollowayIdle;
 			_animationState = 0;
 		} else {
-			*animation = 720;
+			*animation = kModelAnimationHollowayCalmTalk;
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(720)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHollowayCalmTalk)) {
 				_animationFrame = 0;
 			}
 		}
 		break;
 
 	case 3:
-		*animation = 721;
-		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(721)) {
-			_animationFrame = 0;
-			_animationState = 2;
-			*animation = 720;
-		}
-		break;
-
+		// fall through
 	case 4:
-		*animation = 721;
-		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(721)) {
-			_animationFrame = 0;
-			_animationState = 2;
-			*animation = 720;
-		}
-		break;
-
+		// fall through
 	case 5:
-		*animation = 721;
-		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(721)) {
-			_animationFrame = 0;
-			_animationState = 2;
-			*animation = 720;
-		}
-		break;
-
+		// fall through
 	case 6:
-		*animation = 721;
+		*animation = kModelAnimationHollowayExplainTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(721)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHollowayExplainTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 720;
+			*animation = kModelAnimationHollowayCalmTalk;
 		}
 		break;
 
 	case 7:
-		*animation = 716;
+		*animation = kModelAnimationHollowayWalking;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(716)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationHollowayWalking)) {
 			_animationFrame = 0;
 		}
 		break;
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index d3983e3d73..4df9ff34d8 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -379,7 +379,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 	case kGoalMcCoyBB11GetUp:
 		Actor_Set_At_Waypoint(kActorMcCoy, 315, 263);
 		_animationState = 53;
-		_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
+		_animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationMcCoyFallsOnHisBack) - 1;
 		Actor_Set_Invisible(kActorMcCoy, false);
 		return true;
 
@@ -404,7 +404,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR01LayDrugged);
 		} else {
 			_animationState = 53;
-			_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
+			_animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationMcCoyFallsOnHisBack) - 1;
 			// redundant?
 			Actor_Set_Invisible(kActorMcCoy, false);
 		}
@@ -430,7 +430,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Player_Gains_Control();
 		Scene_Exits_Disable();
 		_animationState = 68;
-		_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
+		_animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationMcCoyFallsOnHisBack) - 1;
 		return true;
 
 	case kGoalMcCoyNR04Drink:
@@ -526,7 +526,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		 && _animationState != 50
 		) {
 			_animationState = 50;
-			_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
+			_animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationMcCoyFallsOnHisBack) - 1;
 		}
 		return true;
 
@@ -1927,7 +1927,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 
 	case 68:
 		_animationState = 29;
-		_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
+		_animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationMcCoyFallsOnHisBack) - 1;
 		_animationLoopDirection = -1;
 		break;
 
diff --git a/engines/bladerunner/script/ai/moraji.cpp b/engines/bladerunner/script/ai/moraji.cpp
index 67ec1866fa..d5260602ac 100644
--- a/engines/bladerunner/script/ai/moraji.cpp
+++ b/engines/bladerunner/script/ai/moraji.cpp
@@ -26,7 +26,7 @@ namespace BladeRunner {
 
 AIScriptMoraji::AIScriptMoraji(BladeRunnerEngine *vm) : AIScriptBase(vm) {
 	_var1 = 1;
-	_var2 = 0;
+	_varNumOfTimesToHoldCurrentFrame = 0;
 }
 
 void AIScriptMoraji::Initialize() {
@@ -36,7 +36,7 @@ void AIScriptMoraji::Initialize() {
 	_animationNext = 0;
 
 	_var1 = 1;
-	_var2 = 0;
+	_varNumOfTimesToHoldCurrentFrame = 0;
 
 	Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDefault);
 }
@@ -236,9 +236,9 @@ bool AIScriptMoraji::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
 	switch (_animationState) {
 	case 0:
-		*animation = 733;
-		if (_var2) {
-			--_var2;
+		*animation = kModelAnimationMorajiCuffedIdle;
+		if (_varNumOfTimesToHoldCurrentFrame > 0) {
+			--_varNumOfTimesToHoldCurrentFrame;
 		} else {
 			_animationFrame += _var1;
 			if (Random_Query(0, 10) == 0) {
@@ -250,7 +250,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
 			if (_animationFrame < 0) {
 				_animationFrame = Slice_Animation_Query_Number_Of_Frames(*animation) - 1;
 			}
-			_var2 = Random_Query(0, 1);
+			_varNumOfTimesToHoldCurrentFrame = Random_Query(0, 1);
 		}
 		break;
 
@@ -261,16 +261,17 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
 		break;
 
 	case 2:
-		*animation = 290;
+		// Dummy placeholder, kModelAnimationIzoWalking (290) is an Izo animation
+		*animation = kModelAnimationIzoWalking;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(290))
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationIzoWalking))
 			_animationFrame = 0;
 		break;
 
 	case 3:
-		*animation = 732;
+		*animation = kModelAnimationMorajiRunning;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(732))
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiRunning))
 			_animationFrame = 0;
 		break;
 
@@ -278,41 +279,41 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
 		break;
 
 	case 5:
-		*animation = 734;
+		*animation = kModelAnimationMorajiCuffedFastTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(734)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiCuffedFastTalk)) {
 			_animationFrame = 0;
 			_animationState = Random_Query(0, 2) + 5;
 		}
 		break;
 
 	case 6:
-		*animation = 735;
+		*animation = kModelAnimationMorajiCuffedMoreFastTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(735)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiCuffedMoreFastTalk)) {
 			_animationFrame = 0;
 			_animationState = 5;
-			*animation = 735;
+			*animation = kModelAnimationMorajiCuffedMoreFastTalk;
 		}
 		break;
 
 	case 7:
-		*animation = 736;
+		*animation = kModelAnimationMorajiCuffedPointingTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(736)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiCuffedPointingTalk)) {
 			_animationFrame = 0;
 			_animationState = 5;
-			*animation = 736;
+			*animation = kModelAnimationMorajiCuffedPointingTalk;
 		}
 		break;
 
 	case 8:
-		*animation = 737;
+		*animation = kModelAnimationMorajiCuffedSomethingExplodingToHisLeft;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(737)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiCuffedSomethingExplodingToHisLeft)) {
 			_animationFrame = 0;
 			_animationState = 0;
-			*animation = 733;
+			*animation = kModelAnimationMorajiCuffedIdle;
 			Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiScream);
 		}
 		if (_animationFrame == 6) {
@@ -321,38 +322,38 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
 		break;
 
 	case 9:
-		*animation = 742;
+		*animation = kModelAnimationMorajiSittingGetsUp;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(742)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiSittingGetsUp)) {
 			_animationFrame = 0;
 			_animationState = 3;
-			*animation = 732;
+			*animation = kModelAnimationMorajiRunning;
 			Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiRunOut);
 		}
 		break;
 
 	case 10:
-		*animation = 738;
-		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(738) - 1) {
+		*animation = kModelAnimationMorajiCuffedShotDead;
+		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiCuffedShotDead) - 1) {
 			++_animationFrame;
 		}
 		break;
 
 	case 11:
-		*animation = 739;
+		*animation = kModelAnimationMorajiRunningDivesForward;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(739)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiRunningDivesForward)) {
 			Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiLayDown);
 			_animationFrame = 0;
 			_animationState = 12;
-			*animation = 740;
+			*animation = kModelAnimationMorajiLayingForwardTalk;
 		}
 		break;
 
 	case 12:
-		*animation = 740;
-		if (_var2) {
-			--_var2;
+		*animation = kModelAnimationMorajiLayingForwardTalk;
+		if (_varNumOfTimesToHoldCurrentFrame > 0) {
+			--_varNumOfTimesToHoldCurrentFrame;
 		} else {
 			_animationFrame += _var1;
 			if (!Random_Query(0, 5)) {
@@ -364,22 +365,22 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
 			if (_animationFrame < 0) {
 				_animationFrame = Slice_Animation_Query_Number_Of_Frames(*animation) - 1;
 			}
-			_var2 = Random_Query(0, 2);
+			_varNumOfTimesToHoldCurrentFrame = Random_Query(0, 2);
 		}
 		break;
 
 	case 13:
-		*animation = 741;
+		*animation = kModelAnimationMorajiLayingForwardDies;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(741) - 1) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiLayingForwardDies) - 1) {
 			_animationFrame = Slice_Animation_Query_Number_Of_Frames(*animation) - 1;
 			Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDead);
 		}
 		break;
 
 	case 14:
-		*animation = 741;
-		_animationFrame = Slice_Animation_Query_Number_Of_Frames(741) - 1;
+		*animation = kModelAnimationMorajiLayingForwardDies;
+		_animationFrame = Slice_Animation_Query_Number_Of_Frames(kModelAnimationMorajiLayingForwardDies) - 1;
 		break;
 
 	default:
@@ -410,7 +411,7 @@ bool AIScriptMoraji::ChangeAnimationMode(int mode) {
 		if (_animationState == 0) {
 			_animationState = 1;
 			_animationStateNext = 3;
-			_animationNext = 732;
+			_animationNext = kModelAnimationMorajiRunning;
 		} else if (_animationState != 3) {
 			_animationState = 3;
 			_animationFrame = 0;
@@ -434,7 +435,7 @@ bool AIScriptMoraji::ChangeAnimationMode(int mode) {
 		if (_animationState == 0) {
 			_animationState = 1;
 			_animationStateNext = 6;
-			_animationNext = 735;
+			_animationNext = kModelAnimationMorajiCuffedMoreFastTalk;
 		} else {
 			_animationState = 6;
 			_animationFrame = 0;
@@ -445,7 +446,7 @@ bool AIScriptMoraji::ChangeAnimationMode(int mode) {
 		if (_animationState == 0) {
 			_animationState = 1;
 			_animationStateNext = 7;
-			_animationNext = 736;
+			_animationNext = kModelAnimationMorajiCuffedPointingTalk;
 		} else {
 			_animationState = 7;
 			_animationFrame = 0;
diff --git a/engines/bladerunner/script/ai/photographer.cpp b/engines/bladerunner/script/ai/photographer.cpp
index f560da9de4..c59379ae4c 100644
--- a/engines/bladerunner/script/ai/photographer.cpp
+++ b/engines/bladerunner/script/ai/photographer.cpp
@@ -25,8 +25,8 @@
 namespace BladeRunner {
 
 AIScriptPhotographer::AIScriptPhotographer(BladeRunnerEngine *vm) : AIScriptBase(vm) {
-	_var1 = 0;
-	_var2 = 0;
+	_varNumOfTimesToHoldCurrentFrame = 0;
+	_var2 = 0; // is always set to 0, never checked, unused
 	_resumeIdleAfterFramesetCompletesFlag = false;
 }
 
@@ -36,7 +36,7 @@ void AIScriptPhotographer::Initialize() {
 	_animationStateNext = 0;
 	_animationNext = 0;
 
-	_var1 = 0;
+	_varNumOfTimesToHoldCurrentFrame = 0;
 	_var2 = 0;
 	_resumeIdleAfterFramesetCompletesFlag = false;
 }
@@ -199,80 +199,91 @@ bool AIScriptPhotographer::GoalChanged(int currentGoalNumber, int newGoalNumber)
 bool AIScriptPhotographer::UpdateAnimation(int *animation, int *frame) {
 	switch (_animationState) {
 	case 0:
-		*animation = 745;
+		*animation = kModelAnimationPhotographerIdle;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(745)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationPhotographerIdle)) {
 			_animationFrame = 0;
 		}
 		break;
 
 	case 1:
-		*animation = 744;
+		*animation = kModelAnimationPhotographerWalking;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(744)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationPhotographerWalking)) {
 			_animationFrame = 0;
 		}
 		break;
 
 	case 2:
-		*animation = 747;
+		*animation = kModelAnimationPhotographerCalmTalk;
 		if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
-			*animation = 745;
+			*animation = kModelAnimationPhotographerIdle;
 			_animationState = 0;
 			_var2 = 0;
 			_resumeIdleAfterFramesetCompletesFlag = false;
 		} else {
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(747)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationPhotographerCalmTalk)) {
 				_animationFrame = 0;
 			}
 		}
 		break;
 
 	case 3:
-		*animation = 749;
+#if BLADERUNNER_ORIGINAL_BUGS
+		// TODO A bug? This is identical to case 4 for animation 749, but 748 talk animation is left unused
+		*animation = kModelAnimationPhotographerExplainTalk;
+		++_animationFrame;
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationPhotographerExplainTalk)) {
+			_animationFrame = 0;
+			_animationState = 2;
+			*animation = kModelAnimationPhotographerCalmTalk;
+		}
+#else
+		*animation = kModelAnimationPhotographerMoreHeadMoveTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(749)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationPhotographerMoreHeadMoveTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 747;
+			*animation = kModelAnimationPhotographerCalmTalk;
 		}
+#endif // BLADERUNNER_ORIGINAL_BUGS
 		break;
 
 	case 4:
-		*animation = 749;
+		*animation = kModelAnimationPhotographerExplainTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(749)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationPhotographerExplainTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 747;
+			*animation = kModelAnimationPhotographerCalmTalk;
 		}
 		break;
 
 	case 5:
-		*animation = 750;
+		*animation = kModelAnimationPhotographerSuggestTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(750)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationPhotographerSuggestTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 747;
+			*animation = kModelAnimationPhotographerCalmTalk;
 		}
 		break;
 
 	case 6:
-		*animation = 746;
+		*animation = kModelAnimationPhotographerTakingAPhoto;
 		if (_animationFrame == 11) {
 			Ambient_Sounds_Play_Sound(kSfxCAMCOP1, 80, -20, -20, 20);
 		}
-		if (_var1) {
-			--_var1;
+		if (_varNumOfTimesToHoldCurrentFrame) {
+			--_varNumOfTimesToHoldCurrentFrame;
 		} else {
 			++_animationFrame;
 			if (_animationFrame == 10) {
-				_var1 = 5;
+				_varNumOfTimesToHoldCurrentFrame = 5;
 			}
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(746)) {
-				*animation = 745;
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationPhotographerTakingAPhoto)) {
+				*animation = kModelAnimationPhotographerIdle;
 				_animationState = 0;
 				_animationFrame = 0;
 				Actor_Change_Animation_Mode(kActorPhotographer, kAnimationModeIdle);
diff --git a/engines/bladerunner/script/ai/rajif.cpp b/engines/bladerunner/script/ai/rajif.cpp
index dced687c61..5fbb3e26a3 100644
--- a/engines/bladerunner/script/ai/rajif.cpp
+++ b/engines/bladerunner/script/ai/rajif.cpp
@@ -113,15 +113,15 @@ bool AIScriptRajif::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 bool AIScriptRajif::UpdateAnimation(int *animation, int *frame) {
 	if (_animationState <= 1) {
 		if (_animationState > 0) {
-			*animation = 751;
+			*animation = kModelAnimationRajifWithGunIdle;
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(751)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationRajifWithGunIdle)) {
 				_animationFrame = 0;
 			}
 		} else { // bug in original. Both branches are equal
-			*animation = 751;
+			*animation = kModelAnimationRajifWithGunIdle;
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(751)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationRajifWithGunIdle)) {
 				_animationFrame = 0;
 			}
 		}
diff --git a/engines/bladerunner/script/ai/sergeant_walls.cpp b/engines/bladerunner/script/ai/sergeant_walls.cpp
index 04cad7d961..2e9f5a93a6 100644
--- a/engines/bladerunner/script/ai/sergeant_walls.cpp
+++ b/engines/bladerunner/script/ai/sergeant_walls.cpp
@@ -102,94 +102,95 @@ bool AIScriptSergeantWalls::UpdateAnimation(int *animation, int *frame) {
 		if ( Game_Flag_Query(kFlagSergeantWallsBuzzInRequest)
 		 && !Game_Flag_Query(kFlagSergeantWallsBuzzInDone)
 		) {
-			*animation = 724;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(724)) {
+			// TODO maybe use kModelAnimationSergeantWallsHitsBuzzerTalk here?
+			*animation = kModelAnimationSergeantWallsGestureGive;
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsGestureGive)) {
 				_animationFrame = 0;
 				Game_Flag_Set(kFlagSergeantWallsBuzzInDone);
 			}
 		} else {
-			*animation = 722;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(722)) {
+			*animation = kModelAnimationSergeantWallsIdle;
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsIdle)) {
 				_animationFrame = 0;
 			}
 		}
 		break;
 
 	case 1:
-		*animation = 725;
+		*animation = kModelAnimationSergeantWallsCalmTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(725)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsCalmTalk)) {
 			_animationFrame = 0;
 		}
 		break;
 
 	case 3:
-		*animation = 726;
+		*animation = kModelAnimationSergeantWallsMoreHeadMoveTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(726)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsMoreHeadMoveTalk)) {
 			_animationState = 1;
 			_animationFrame = 0;
-			*animation = 725;
+			*animation = kModelAnimationSergeantWallsCalmTalk;
 		}
 		break;
 
 	case 4:
-		*animation = 727;
+		*animation = kModelAnimationSergeantWallsExplainTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(727)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsExplainTalk)) {
 			_animationState = 1;
 			_animationFrame = 0;
-			*animation = 725;
+			*animation = kModelAnimationSergeantWallsCalmTalk;
 		}
 		break;
 
 	case 5:
-		*animation = 728;
+		*animation = kModelAnimationSergeantWallsLaughTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(728)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsLaughTalk)) {
 			_animationState = 1;
 			_animationFrame = 0;
-			*animation = 725;
+			*animation = kModelAnimationSergeantWallsCalmTalk;
 		}
 		break;
 
 	case 6:
-		*animation = 729;
+		*animation = kModelAnimationSergeantWallsHarderLaughTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(729)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsHarderLaughTalk)) {
 			_animationState = 1;
 			_animationFrame = 0;
-			*animation = 725;
+			*animation = kModelAnimationSergeantWallsCalmTalk;
 		}
 		break;
 
 	case 7:
-		*animation = 730;
+		*animation = kModelAnimationSergeantWallsDefendTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(730)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsDefendTalk)) {
 			_animationState = 1;
 			_animationFrame = 0;
-			*animation = 725;
+			*animation = kModelAnimationSergeantWallsCalmTalk;
 		}
 		break;
 
 	case 8:
-		*animation = 731;
+		*animation = kModelAnimationSergeantWallsHitsBuzzerTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(731)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsHitsBuzzerTalk)) {
 			_animationState = 1;
 			_animationFrame = 0;
-			*animation = 725;
+			*animation = kModelAnimationSergeantWallsCalmTalk;
 		}
 		break;
 
 	case 9:
-		*animation = 724;
+		*animation = kModelAnimationSergeantWallsGestureGive;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(724)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationSergeantWallsGestureGive)) {
 			_animationState = 9;
 			_animationFrame = 0;
-			*animation = 724;
+			*animation = kModelAnimationSergeantWallsGestureGive;
 		}
 		break;
 
diff --git a/engines/bladerunner/script/ai/tyrell.cpp b/engines/bladerunner/script/ai/tyrell.cpp
index 55687977e5..c18eecc924 100644
--- a/engines/bladerunner/script/ai/tyrell.cpp
+++ b/engines/bladerunner/script/ai/tyrell.cpp
@@ -26,7 +26,8 @@ namespace BladeRunner {
 
 AIScriptTyrell::AIScriptTyrell(BladeRunnerEngine *vm) : AIScriptBase(vm) {
 	_resumeIdleAfterFramesetCompletesFlag = true;
-	_var = 0;
+	// _varChooseIdleAnimation can have valid values: 0, 1
+	_varChooseIdleAnimation = 0;
 }
 
 void AIScriptTyrell::Initialize() {
@@ -36,7 +37,7 @@ void AIScriptTyrell::Initialize() {
 	_animationNext = 0;
 
 	_resumeIdleAfterFramesetCompletesFlag = true;
-	_var = 0;
+	_varChooseIdleAnimation = 0;
 
 	Actor_Set_Goal_Number(kActorTyrell, 0);
 }
@@ -108,84 +109,84 @@ bool AIScriptTyrell::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 bool AIScriptTyrell::UpdateAnimation(int *animation, int *frame) {
 	switch (_animationState) {
 	case 0:
-		if (_var == 1) {
-			*animation = 767;
+		if (_varChooseIdleAnimation == 1) {
+			*animation = kModelAnimationTyrellHeadMoveIdle;
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(767)) {
-				*animation = 766;
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationTyrellHeadMoveIdle)) {
+				*animation = kModelAnimationTyrellIdle;
 				_animationFrame = 0;
-				_var = 0;
+				_varChooseIdleAnimation = 0;
 			}
-		} else if (_var == 0) {
-			*animation = 766;
+		} else if (_varChooseIdleAnimation == 0) {
+			*animation = kModelAnimationTyrellIdle;
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(766)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationTyrellIdle)) {
 				_animationFrame = 0;
 				if (!Random_Query(0, 3)) {
-					_var = 1;
+					_varChooseIdleAnimation = 1;
 				}
 			}
 		}
 		break;
 
 	case 1:
-		*animation = 765;
+		*animation = kModelAnimationTyrellWalking;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(765)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationTyrellWalking)) {
 			_animationFrame = 0;
 		}
 		break;
 
 	case 2:
 		if (_animationFrame == 0 && _resumeIdleAfterFramesetCompletesFlag) {
-			*animation = 766;
+			*animation = kModelAnimationTyrellIdle;
 			_animationState = 0;
 		} else {
-			*animation = 768;
+			*animation = kModelAnimationTyrellFastNodTalk;
 			++_animationFrame;
-			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(768)) {
+			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationTyrellFastNodTalk)) {
 				_animationFrame = 0;
 			}
 		}
 		break;
 
 	case 3:
-		*animation = 769;
+		*animation = kModelAnimationTyrellSuggestTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(769)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationTyrellSuggestTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 768;
+			*animation = kModelAnimationTyrellFastNodTalk;
 		}
 		break;
 
 	case 4:
-		*animation = 770;
+		*animation = kModelAnimationTyrellConsideringTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(770)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationTyrellConsideringTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 768;
+			*animation = kModelAnimationTyrellFastNodTalk;
 		}
 		break;
 
 	case 5:
-		*animation = 771;
+		*animation = kModelAnimationTyrellBowsAndSuggestsTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(771)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationTyrellBowsAndSuggestsTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 768;
+			*animation = kModelAnimationTyrellFastNodTalk;
 		}
 		break;
 
 	case 6:
-		*animation = 772;
+		*animation = kModelAnimationTyrellDismissTalk;
 		++_animationFrame;
-		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(772)) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(kModelAnimationTyrellDismissTalk)) {
 			_animationFrame = 0;
 			_animationState = 2;
-			*animation = 768;
+			*animation = kModelAnimationTyrellFastNodTalk;
 		}
 		break;
 
diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h
index ad596855ce..d9b87f0775 100644
--- a/engines/bladerunner/script/ai_script.h
+++ b/engines/bladerunner/script/ai_script.h
@@ -297,7 +297,7 @@ END_SCRIPT
 DECLARE_SCRIPT(DeskClerk)
 	int  _varChooseIdleAnimation;
 	bool _resumeIdleAfterFramesetCompletesFlag;
-	int _varNumOfTimesToHoldCurrentFrame;
+	int  _varNumOfTimesToHoldCurrentFrame;
 END_SCRIPT
 
 DECLARE_SCRIPT(HowieLee)
@@ -316,8 +316,8 @@ DECLARE_SCRIPT(Murray)
 END_SCRIPT
 
 DECLARE_SCRIPT(HawkersBarkeep)
-	int _var1;
-	int _var2;
+	int _varChooseIdleAnimation;
+	int _varNumOfTimesToHoldCurrentFrame;
 	int _var3;
 	bool _resumeIdleAfterFramesetCompletesFlag;
 END_SCRIPT
@@ -331,14 +331,14 @@ END_SCRIPT
 
 DECLARE_SCRIPT(Moraji)
 	int _var1;
-	int _var2;
+	int _varNumOfTimesToHoldCurrentFrame;
 END_SCRIPT
 
 DECLARE_SCRIPT(TheBard)
 END_SCRIPT
 
 DECLARE_SCRIPT(Photographer)
-	int _var1;
+	int _varNumOfTimesToHoldCurrentFrame;
 	int _var2;
 	bool _resumeIdleAfterFramesetCompletesFlag;
 END_SCRIPT
@@ -356,7 +356,7 @@ DECLARE_SCRIPT(GovernorKolvig)
 END_SCRIPT
 
 DECLARE_SCRIPT(EarlyQBartender)
-	int _var1;
+	int _varChooseIdleAnimation;
 	int _var2;
 	bool _resumeIdleAfterFramesetCompletesFlag;
 END_SCRIPT
@@ -388,7 +388,7 @@ END_SCRIPT
 
 DECLARE_SCRIPT(Tyrell)
 	bool _resumeIdleAfterFramesetCompletesFlag;
-	int _var;
+	int _varChooseIdleAnimation;
 END_SCRIPT
 
 DECLARE_SCRIPT(Chew)




More information about the Scummvm-git-logs mailing list