diff options
| -rw-r--r-- | engines/bladerunner/game_constants.h | 22 | ||||
| -rw-r--r-- | engines/bladerunner/script/ai/hasan.cpp | 52 | ||||
| -rw-r--r-- | engines/bladerunner/script/ai/klein.cpp | 66 | ||||
| -rw-r--r-- | engines/bladerunner/script/ai/mccoy.cpp | 2 | ||||
| -rw-r--r-- | engines/bladerunner/script/scene/bb11.cpp | 8 | ||||
| -rw-r--r-- | engines/bladerunner/script/scene/ct02.cpp | 8 | ||||
| -rw-r--r-- | engines/bladerunner/script/scene/ct06.cpp | 4 | ||||
| -rw-r--r-- | engines/bladerunner/script/scene/hc01.cpp | 2 | ||||
| -rw-r--r-- | engines/bladerunner/script/scene/nr01.cpp | 2 | ||||
| -rw-r--r-- | engines/bladerunner/script/scene/rc01.cpp | 6 | 
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);  	} | 
