コード例 #1
0
ファイル: bryant.cpp プロジェクト: athrxx/scummvm
bool AIScriptBryant::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 806;
		_animationFrame++;

		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(806)) {
			_animationFrame = 0;
		}
		break;
	case 1:
		*animation = 805;
		_animationFrame++;

		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(805)) {
			_animationFrame = 0;
		}
		break;
	case 2:
		*animation = 808;
		_animationFrame++;

		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(808) - 1) {
			_animationState = 3;
		}
		break;
	case 3:
		*animation = 808;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(808) - 1;
		break;
	}

	*frame = _animationFrame;
	return true;
}
コード例 #2
0
ファイル: rajif.cpp プロジェクト: athrxx/scummvm
bool AIScriptRajif::UpdateAnimation(int *animation, int *frame) {
	if (_animationState <= 1) {
		if (_animationState) {
			*animation = 751;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(751)) {
				_animationFrame = 0;
			}
		} else { // bug in original. Both branches are equal
			*animation = 751;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(751)) {
				_animationFrame = 0;
			}
		}
	}

	*frame = _animationFrame;

	return true;
}
コード例 #3
0
bool AIScriptHysteriaPatron1::UpdateAnimation(int *animation, int *frame) {
	*animation = animationList[_animationState];

	if (++_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
		_animationFrame = 0;

		if (++_animationState >= 27)
			_animationState = 0;

		*animation = animationList[_animationState];
	}

	*frame = _animationFrame;

	return true;
}
コード例 #4
0
ファイル: mutant1.cpp プロジェクト: dreammaster/scummvm
bool AIScriptMutant1::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 894;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(894)) {
			_animationFrame = 0;
		}
		break;

	case 1:
	case 2:
		*animation = 893;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(893)) {
			_animationFrame = 0;
		}
		break;

	case 3:
		if (!_animationFrame && _flag) {
			*animation = 894;
			_animationState = 0;
		} else {
			*animation = 896;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(896)) {
				_animationFrame = 0;
			}
		}
		break;

	case 4:
		*animation = 896;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(896)) {
			_animationFrame = 0;
			_animationState = 3;
			*animation = 896;
		}
		break;

	case 5:
		*animation = 897;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(897)) {
			_animationFrame = 0;
			_animationState = 3;
			*animation = 896;
		}
		break;

	case 6:
		*animation = 898;
		_animationFrame++;
		if (_animationFrame == 5) {
			int snd;

			if (Random_Query(1, 2) == 1) {
				snd = 9010;
			} else {
				snd = 9015;
			}
			Sound_Play_Speech_Line(kActorMutant1, snd, 75, 0, 99);
		}
		if (_animationFrame == 9) {
			Actor_Combat_AI_Hit_Attempt(kActorMutant1);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(898)) {
			Actor_Change_Animation_Mode(kActorMutant1, 0);
		}
		break;

	case 7:
		*animation = 899;
		_animationFrame++;
		if (_animationFrame == 1) {
			Ambient_Sounds_Play_Sound(371, 99, 0, 0, 25);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(899)) {
			Actor_Change_Animation_Mode(kActorMutant1, 0);
		}
		break;

	case 8:
		*animation = 900;
		_animationFrame++;
		if (_animationFrame == 1) {
			Sound_Play(368, 100, 0, 0, 50);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(900)) {
			Actor_Change_Animation_Mode(kActorMutant1, 88);
		}
		break;

	case 9:
		*animation = 900;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(900) - 1;
		break;

	case 10:
		*animation = 899;
		_animationFrame++;
		if (_animationFrame == 9) {
			Sound_Play(371, 100, 0, 0, 50);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(899)) {
			Actor_Change_Animation_Mode(kActorMutant1, 0);
		}
		break;

	default:
		break;
	}
	*frame = _animationFrame;

	return true;
}
コード例 #5
0
ファイル: tyrell_guard.cpp プロジェクト: BenCastricum/scummvm
bool AIScriptTyrellGuard::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 555;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(555)) {
			_animationFrame = 0;
		}
		break;
	case 1:
		*animation = 564;
		if (_animationFrame <= 5) {
			_frameDelta = 1;
		} else if (_animationFrame >= 12) {
			_frameDelta = -1;
		}
		_animationFrame += _frameDelta;
		break;
	case 2:
		*animation = 564;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(564)) {
			_animationFrame = 0;
			_animationState = 0;
		}
		break;
	case 3:
		*animation = 558;
		if (_animationFrame == 0 && _flag1) {
			*animation = 555;
			_animationState = 0;
		} else {
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
				_animationFrame = 0;
			}
		}
		break;
	case 4:
		*animation = 559;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(559)) {
			*animation = 558;
			_animationFrame = 0;
			_animationState = 3;
		}
		break;
	case 5:
		*animation = 560;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(560)) {
			*animation = 558;
			_animationFrame = 0;
			_animationState = 3;
		}
		break;
	case 6:
		*animation = 561;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(561)) {
			*animation = 558;
			_animationFrame = 0;
			_animationState = 3;
		}
		break;
	case 7:
		*animation = 562;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(562)) {
			*animation = 558;
			_animationFrame = 0;
			_animationState = 3;
		}
		break;
	case 8:
		*animation = 557;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(557)) {
			*animation = 555;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;
	case 9:
		*animation = 563;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(563)) {
			*animation = 555;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;
	case 10:
		*animation = 564;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(564)) {
			*animation = 555;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;
	case 11:
		*animation = 565;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(565)) {
			*animation = 555;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;
	}

	*frame = _animationFrame;
	return true;
}
コード例 #6
0
ファイル: crazylegs.cpp プロジェクト: BenCastricum/scummvm
bool AIScriptCrazylegs::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 454;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(454))
			_animationFrame = 0;
		break;

	case 1:
		*animation = 455;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(455))
			_animationFrame = 0;
		break;

	case 2:
		*animation = 456;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(456))
			_animationFrame = 0;
		break;

	case 3:
		*animation = 457;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(457)) {
			*animation = 454;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 4:
		*animation = 452;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(452))
			_animationFrame = 0;
		break;

	case 5:
		*animation = 453;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(453))
			_animationFrame = 0;
		break;

	case 6:
		if (!_animationFrame && _flag) {
			*animation = 454;
			_animationState = 0;
			_flag = 0;
		} else {
			*animation = 458;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(458))
				_animationFrame = 0;
		}
		break;

	case 7:
		*animation = 459;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(459)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 458;
		}
		break;

	case 8:
		*animation = 460;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(460)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 458;
		}
		break;

	case 9:
		*animation = 461;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(461)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 458;
		}
		break;

	case 10:
		*animation = 462;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(462)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 458;
		}
		break;

	case 11:
		*animation = 463;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(463)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 458;
		}
		break;

	case 12:
		*animation = 464;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(464)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 458;
		}
		break;

	case 13:
		*animation = 465;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(465)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 458;
		}
		break;

	case 14:
		*animation = 466;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(466)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 458;
		}
		break;

	case 15:
		if (!_animationFrame && _flag) {
			Actor_Change_Animation_Mode(kActorCrazylegs, 43);
			_animationState = 2;
			_flag = 0;
			*animation = 456;
		} else {
			*animation = 456;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(456))
				_animationFrame = 0;
		}
		break;

	case 16:
		*animation = 467;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(467)) {
			_animationFrame = 0;
			_animationState = 1;
			*animation = 455;
		}
		break;

	case 17:
		*animation = 468;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(468)) {
			*animation = 454;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 18:
		*animation = 469;
		_animationFrame--;
		if (_animationFrame <= Slice_Animation_Query_Number_Of_Frames(469)) { // matches original
			_animationFrame = 0;
			_animationState = 2;
			*animation = 454;
		}
		break;

	case 19:
		*animation = 469;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(469)) {
			*animation = 454;
			_animationFrame = 0;
			_animationState = 0;
			if (Actor_Query_Goal_Number(kActorCrazylegs) == 10) {
				Actor_Set_Goal_Number(kActorCrazylegs, 11);
			}
		}
		break;

	default:
		break;
	}
	*frame = _animationFrame;

	return true;
}
コード例 #7
0
ファイル: clovis.cpp プロジェクト: dreammaster/scummvm
bool AIScriptClovis::UpdateAnimation(int *animation, int *frame) {
	bool flag;

	switch (_animationState) {
	case 0:
		if (_var1 == 1) {
			*animation = 227;
			if (_var2) {
				_var2--;
			} else if (++_animationFrame == 7) {
				_var2 = Random_Query(5, 15);
			} else {
				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(227)) {
					_animationFrame = 0;
					_var1 = 0;
				}
			}
		} else if (_var1 == 0) {
			*animation = 228;
			if (_var2) {
				_animationFrame += _var3;
				if (_animationFrame > _var5) {
					_animationFrame = _var5;
					_var3 = -1;
				} else {
					if (_animationFrame < _var4) {
						_animationFrame = _var4;
						_var3 = 1;
					}
				}
				_var2--;
			} else {
				_animationFrame += _var3;
				if (_animationFrame == 13 && Random_Query(0, 1)) {
					_var3 = -1;
					_var4 = 9;
					_var5 = 13;
					_var2 = Random_Query(4, 15);
				} else {
					if (_animationFrame == 6) {
						if (Random_Query(0, 1)) {
							_var3 = -1;
							_var4 = 3;
							_var5 = 6;
							_var2 = Random_Query(4, 15);
						}
					}
				}
				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(228)) {
					_animationFrame = 0;
				} else {
					if (_animationFrame < 0) {
						_animationFrame = Slice_Animation_Query_Number_Of_Frames(228) - 1;
					}
				}
				if (!_animationFrame) {
					if (Random_Query(0, 1) > 0) {
						_var1 = 1;
					} else {
						if (Random_Query(0, 2) > 0) {
							_var3 = 1;
							_var4 = 0;
							_var5 = 0;
							_var2 = Random_Query(5, 15);
						}
					}
				}
			}
		}
		break;

	case 1:
		if (_var1 == 0) {
			*animation = 228;
		}
		if (_var1 == 1) {
			*animation = 227;
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame += 3;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
				_animationFrame = 0;
				*animation = _animationNext;
				_animationState = _animationStateNext;
			}
		} else {
			_animationFrame -= 3;
			if (_animationFrame <= 0) {
				_animationFrame = 0;
				*animation = _animationNext;
				_animationState = _animationStateNext;
			}
		}
		break;

	case 2:
		*animation = 238;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(238)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(238) - 1;
			}
		}
		break;

	case 3:
		*animation = 239;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(239)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(239) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			_animationState = 2;
			_animationFrame = 0;
			*animation = 238;
			if (Actor_Query_Goal_Number(kActorClovis) == kGoalClovisBB11TalkWithSadik) {
				Actor_Set_Goal_Number(kActorClovis, kGoalClovisBB11PrepareToTalkToMcCoy);
			}
		}
		break;

	case 4:
		*animation = 240;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(240)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(240) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			*animation = 227;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorClovis, 0);
		}
		break;

	case 5:
		*animation = 230;
		if (!_animationFrame && _flag) {
			_animationState = 0;
		} else {
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(230)) {
				_animationFrame = 0;
			}
		}
		break;

	case 6:
		*animation = 231;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(231)) {
			_animationFrame = 0;
			_animationState = 5;
			*animation = 230;
		}
		break;

	case 7:
		*animation = 232;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(232)) {
			_animationFrame = 0;
			_animationState = 5;
			*animation = 230;
		}
		break;

	case 8:
		*animation = 233;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(233)) {
			_animationFrame = 0;
			_animationState = 5;
			*animation = 230;
		}
		break;

	case 9:
		*animation = 234;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(234)) {
			_animationFrame = 0;
			_animationState = 5;
			*animation = 230;
		}
		break;

	case 10:
		*animation = 235;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(235)) {
			_animationFrame = 0;
			_animationState = 5;
			*animation = 230;
		}
		break;

	case 11:
		*animation = 236;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(236)) {
			_animationFrame = 0;
			_animationState = 5;
			*animation = 230;
		}
		break;

	case 12:
		*animation = 241;
		if (!_animationFrame && _flag) {
			_animationState = 2;
			_animationFrame = 0;
			Actor_Change_Animation_Mode(kActorClovis, kAnimationModeSit);
		} else {
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(241)) {
				_animationFrame = 0;
			}
		}
		break;

	case 13:
		*animation = 208;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(208)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(208) - 1;
			}
		}
		break;

	case 14:
		*animation = 217;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(217)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(217) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			*animation = 208;
			_animationState = 13;
		}
		break;

	case 15:
		*animation = 218;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(218)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(218) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			*animation = 227;
			_animationState = 0;
		}
		break;

	case 16:
		*animation = 219;
		_animationFrame++;
		if (_animationFrame == 2) {
			int snd;

			if (Random_Query(1, 2) == 1) {
				snd = 9010;
			} else {
				snd = 9015;
			}
			Sound_Play_Speech_Line(5, snd, 75, 0, 99);
		}
		if (_animationFrame == 4) {
			Actor_Combat_AI_Hit_Attempt(5);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(*animation) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			_animationState = 13;
			*animation = 208;
			Actor_Change_Animation_Mode(kActorClovis, 4);
		}
		break;

	case 17:
		*animation = 211;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(211)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(211) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			_animationState = 13;
			*animation = 208;
			Actor_Change_Animation_Mode(kActorClovis, 4);
		}
		break;

	case 18:
		*animation = 212;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(212)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(212) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			_animationState = 13;
			*animation = 208;
			Actor_Change_Animation_Mode(kActorClovis, 4);
		}
		break;

	case 19:
		*animation = 224;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(224)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(224) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			*animation = 227;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorClovis, 0);
		}
		break;

	case 20:
		*animation = 225;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(225)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(225) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			*animation = 227;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorClovis, 0);
		}
		break;

	case 21:
		*animation = 220;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(220)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(220) - 1;
			}
		}
		break;

	case 22:
		*animation = 221;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(221)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(221) - 1;
			}
		}
		break;

	case 23:
		*animation = 213;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(213)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(213) - 1;
			}
		}
		break;

	case 24:
		*animation = 217;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(217)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(217) - 1;
			}
		}
		break;

	case 25:
		*animation = 222;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(222)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(222) - 1;
			}
		}
		break;

	case 26:
		*animation = 223;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(223)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(223) - 1;
			}
		}
		break;

	case 27:
		*animation = 215;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(215)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(215) - 1;
			}
		}
		break;

	case 28:
		*animation = 216;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(216)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(216) - 1;
			}
		}
		break;

	case 29:
		*animation = 209;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(209)) {
			flag = true;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(209) - 1;
				flag = true;
			} else {
				flag = false;
			}
		}
		if (flag) {
			_animationState = 13;
			*animation = 208;
			Actor_Change_Animation_Mode(kActorClovis, 4);
		}
		break;

	case 30:
		*animation = 210;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(210)) {
			flag = 1;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(210) - 1;
				flag = 1;
			} else {
				flag = 0;
			}
		}
		if (flag) {
			_animationState = 13;
			*animation = 208;
			Actor_Change_Animation_Mode(kActorClovis, 4);
		}
		break;

	case 31:
		*animation = 242;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(242)) {
			flag = 1;
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(242) - 1;
				flag = 1;
			} else {
				flag = 0;
			}
		}
		if (flag) {
			*animation = 227;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorClovis, 0);
		}
		break;

	case 32:
		*animation = 243;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(243)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(243) - 1;
			}
		}
		break;

	case 33:
		*animation = 244;
		if (!_animationFrame && _flag) {
			_animationState = 32;
			_animationFrame = 0;
			Actor_Change_Animation_Mode(kActorClovis, 54);
		} else {
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(244)) {
				_animationFrame = 0;
			} else {
				if (_animationFrame < 0) {
					_animationFrame = Slice_Animation_Query_Number_Of_Frames(244) - 1;
				}
			}
		}
		break;

	case 34:
		*animation = 245;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(245)) {
			_animationState = 33;
			_animationFrame = 0;
			*animation = 244;
			Actor_Change_Animation_Mode(kActorClovis, 54);
		}
		break;

	case 35:
		_animationFrame++;
		*animation = 247;
		Actor_Change_Animation_Mode(kActorClovis, 54);
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(247)) {
			_animationFrame = 0;
			_animationState = 33;
			*animation = 244;
		}
		break;

	case 36:
		*animation = 248;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(248)) {
			_animationFrame = 0;
			_animationState = 37;
			*animation = 249;
		}
		break;

	case 37:
		*animation = 249;
		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(249) - 1) {
			_animationFrame++;
		}
		break;

	case 38:
		*animation = 250;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(250)) {
			_animationFrame = 0;
			_animationState = 39;
			*animation = 251;
		}
		break;

	case 39:
		*animation = 251;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(251)) {
			_animationFrame = 0;
		} else {
			if (_animationFrame < 0) {
				_animationFrame = Slice_Animation_Query_Number_Of_Frames(251) - 1;
			}
		}
		break;

	case 40:
		*animation = 252;
		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(252) - 1) {
			_animationFrame++;
		}
		break;

	case 41:
		*animation = 226;
		_animationFrame++;
		if (_animationFrame == Slice_Animation_Query_Number_Of_Frames(226) - 1) {
			Actor_Change_Animation_Mode(kActorClovis, 88);
			_animationState = 42;
			_animationFrame = Slice_Animation_Query_Number_Of_Frames(226) - 1;
		}
		break;

	case 42:
		*animation = 226;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(226) - 1;
		break;

	default:
		break;
	}
	*frame = _animationFrame;

	return true;
}
コード例 #8
0
ファイル: gaff.cpp プロジェクト: fingolfin/scummvm
bool AIScriptGaff::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 794;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame = 0;
		}
		break;

	case 1:
		*animation = 788;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame = 0;
		}
		break;

	case 2:
		*animation = 798;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame = 0;
		}
		break;

	case 3:
		*animation = 799;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationState = 2;
			_animationFrame = 0;
			*animation = 798;
		}
		break;

	case 4:
		*animation = 800;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationState = 2;
			_animationFrame = 0;
			*animation = 798;
		}
		break;

	case 5:
		*animation = 801;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationState = 2;
			_animationFrame = 0;
			*animation = 798;
		}
		break;

	case 6:
		*animation = 800;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationState = 2;
			_animationFrame = 0;
			*animation = 798;
		}
		break;

	case 7:
		*animation = 801;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationState = 2;
			_animationFrame = 0;
			*animation = 798;
		}
		break;

	case 8:
		*animation = 802;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(35) - 1) { // Bug in the game?
			Actor_Set_Invisible(kActorGaff, true);
			*animation = 794;
			_animationFrame = 0;
			Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle); // TODO: check this, it was set directly by calling actor script
			Actor_Set_Goal_Number(kActorGaff, kGoalGaffCT12Leave);
		}
		break;

	default:
		*animation = 399;
		break;
	}
	*frame = _animationFrame;
	return true;
}
コード例 #9
0
ファイル: mutant3.cpp プロジェクト: dreammaster/scummvm
bool AIScriptMutant3::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 910;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(910)) {
			_animationFrame = 0;
		}
		break;

	case 1:
		*animation = 908;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(908)) {
			_animationFrame = 0;
		}
		break;

	case 2:
		*animation = 909;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(909)) {
			_animationFrame = 0;
		}
		break;

	case 3:
		if (!_animationFrame && _flag) {
			*animation = 910;
			_animationState = 0;
		} else {
			*animation = 912;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(912)) {
				_animationFrame = 0;
			}
		}
		break;

	case 4:
		*animation = 912;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(912)) {
			_animationFrame = 0;
			_animationState = 3;
			*animation = 911;
		}
		break;

	case 5:
		*animation = 913;
		_animationFrame++;
		if (_animationFrame == 9) {
			int snd;
			if (Random_Query(1, 2) == 1) {
				snd = 9010;
			} else {
				snd = 9015;
			}
			Sound_Play_Speech_Line(kActorMutant3, snd, 75, 0, 99);
		}
		if (_animationFrame == 11) {
			Actor_Combat_AI_Hit_Attempt(kActorMutant3);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			Actor_Change_Animation_Mode(kActorMutant3, 0);
		}
		break;

	case 6:
		*animation = 917;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(917)) {
			Actor_Change_Animation_Mode(kActorMutant3, 88);
		}
		break;

	case 7:
		*animation = 917;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(917) - 1;
		break;

	case 8:
		*animation = 914;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(914)) {
			_animationFrame = 0;
		}
		break;

	case 9:
		*animation = 916;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(916)) {
			_animationFrame = 0;
			_animationState = 8;
			*animation = 914;
		}
		break;

	case 10:
		*animation = 915;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(915)) {
			*animation = 910;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 11:
		*animation = 917;
		_animationFrame += _var1;
		if (_animationFrame == 3) {
			Sound_Play(400, 100, 0, 0, 50);
			_var1 = -1;
		} else {
			if (!_animationFrame) {
				Actor_Change_Animation_Mode(kActorMutant3, 0);
			}
		}
		break;

	default:
		*animation = 406;
		break;
	}
	*frame = _animationFrame;

	return true;
}
コード例 #10
0
ファイル: tyrell.cpp プロジェクト: BenCastricum/scummvm
bool AIScriptTyrell::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		if (_var == 1) {
			*animation = 767;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(767)) {
				*animation = 766;
				_animationFrame = 0;
				_var = 0;
			}
		} else if (_var == 0) {
			*animation = 766;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(766)) {
				_animationFrame = 0;
				if (!Random_Query(0, 3)) {
					_var = 1;
				}
			}
		}
		break;

	case 1:
		*animation = 765;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(765)) {
			_animationFrame = 0;
		}
		break;

	case 2:
		if (!_animationFrame && _flag) {
			*animation = 766;
			_animationState = 0;
		} else {
			*animation = 768;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(768)) {
				_animationFrame = 0;
			}
		}
		break;

	case 3:
		*animation = 769;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(769)) {
			_animationFrame = 0;
			_animationState = 2;
			*animation = 768;
		}
		break;

	case 4:
		*animation = 770;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(770)) {
			_animationFrame = 0;
			_animationState = 2;
			*animation = 768;
		}
		break;

	case 5:
		*animation = 771;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(771)) {
			_animationFrame = 0;
			_animationState = 2;
			*animation = 768;
		}
		break;

	case 6:
		*animation = 772;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(772)) {
			_animationFrame = 0;
			_animationState = 2;
			*animation = 768;
		}
		break;

	default:
		break;
	}
	*frame = _animationFrame;

	return true;
}
コード例 #11
0
ファイル: desk_clerk.cpp プロジェクト: fingolfin/scummvm
bool AIScriptDeskClerk::UpdateAnimation(int *animation, int *frame) {

	switch (_animationState) {
	case 0:
		if (_flag1) {
			*animation = 662;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(662)) {
				_animationFrame = 0;
				_flag1 = false;
				*animation = 661;
				_var3 = Random_Query(50, 100);
			}
		} else {
			if (_var3 != 0) {
				--_var3;
			}

			*animation = 661;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(661)) {
				_animationFrame = 0;

				if (_var3 == 0) {
					*animation = 662;
					_flag1 = true;
				}
			}
		}
		break;

	case 1:
		*animation = 663;

		if (_animationFrame == 0
		 && _flag2
		) {
			*animation = 661;
			_animationState = 0;
			_flag1 = false;
		} else {
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
				_animationFrame = 0;
			}
		}
		break;

	case 2:
		*animation = 664;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(664)) {
			_animationFrame = 0;
			_animationState = 1;
			*animation = 663;
		}
		break;

	case 3:
		*animation = 665;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(665)) {
			_animationFrame = 0;
			_animationState = 1;
			*animation = 663;
		}
		break;

	case 4:
		*animation = 666;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(666)) {
			_animationFrame = 0;
			_animationState = 1;
			*animation = 663;
		}
		break;

	case 5:
		*animation = 667;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(667)) {
			_animationFrame = 0;
			_animationState = 1;
			*animation = 663;
		}
		break;

	case 6:
		*animation = 668;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(668)) {
			_animationFrame = 0;
		}
		break;

	case 7:
		*animation = 669;

		if (_animationFrame == 0
		 && _flag2
		) {
			Actor_Change_Animation_Mode(kActorDeskClerk, 72);
			*animation = 668;
			_animationState = 6;
		} else {
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
				_animationFrame = 0;
			}
		}
		break;

	case 8:
		*animation = 670;
		_animationFrame++;
		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(670) - 2) {
			Ambient_Sounds_Play_Sound(kSfxZUBLAND1, 40, 30, 30, 99);
			Actor_Set_Goal_Number(kActorDeskClerk, kGoalDeskClerkKnockedOut);
			Actor_Change_Animation_Mode(kActorDeskClerk, kAnimationModeIdle);
			*animation = 661;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;
	}

	*frame = _animationFrame;
	return true;
}
コード例 #12
0
ファイル: lucy.cpp プロジェクト: BenCastricum/scummvm
bool AIScriptLucy::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 260;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(260)) {
			_animationFrame = 0;
		}
		break;

	case 1:
	case 2:
	case 3:
	case 4:
		if (_animationState == 1) {
			*animation = 253;
		}
		if (_animationState == 2) {
			*animation = 254;
		}
		if (_animationState == 3) {
			*animation = 255;
		}
		if (_animationState == 4) {
			*animation = 256;
		}
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame = 0;
		}
		break;

	case 5:
	case 6:
		if (_animationState == 5) {
			*animation = 257;
		}
		if (_animationState == 6) {
			*animation = 258;
		}
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			*animation = 260;
			_animationFrame = 0;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorLucy, 0);
		}
		break;

	case 7:
		*animation = 259;
		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(259) - 1) {
			++_animationFrame;
		}
		break;

	case 8:
		if (!_animationFrame && _flag) {
			*animation = 260;
			_animationState = 0;
			_flag = 0;
		} else {
			*animation = 263;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(263)) {
				_animationFrame = 0;
			}
		}
		break;

	case 9:
	case 10:
	case 11:
	case 12:
	case 13:
	case 14:
	case 15:
	case 16:
		if (_animationState == 9) {
			*animation = 264;
		}
		if (_animationState == 10) {
			*animation = 265;
		}
		if (_animationState == 11) {
			*animation = 266;
		}
		if (_animationState == 12) {
			*animation = 267;
		}
		if (_animationState == 13) {
			*animation = 268;
		}
		if (_animationState == 14) {
			*animation = 269;
		}
		if (_animationState == 15) {
			*animation = 270;
		}
		if (_animationState == 16) {
			*animation = 271;
		}
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame = 0;
			_animationState = 8;
			*animation = 263;
		}
		break;

	case 17:
		*animation = 272;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(272)) {
			_animationFrame = 0;
		}
		break;

	case 18:
		if (!_animationFrame && _flag) {
			_animationState = 17;
			_flag = 0;
			*animation = 272;
		} else {
			*animation = 273;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(273)) {
				_animationFrame = 0;
			}
		}
		break;

	case 19:
		*animation = 274;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(274)) {
			*animation = 260;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 20:
		*animation = 275;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(275)) {
			_animationFrame = 0;
		}
		break;

	case 21:
		*animation = 276;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(276)) {
			_animationFrame = 0;
		}
		break;

	default:
		break;
	}
	*frame = _animationFrame;

	return true;
}
コード例 #13
0
ファイル: crazylegs.cpp プロジェクト: BenCastricum/scummvm
bool AIScriptCrazylegs::ChangeAnimationMode(int mode) {
	switch (mode) {
	case 0:
		switch (_animationState) {
		case 0:
		case 3:
			return true;
		case 1:
			_animationState = 17;
			_animationFrame = 0;
			break;
		case 2:
			_animationState = 19;
			_animationFrame = 0;
			break;
		case 4:
		case 5:
			_animationState = 0;
			_animationFrame = 0;
			break;
		case 6:
		case 7:
		case 8:
		case 9:
		case 10:
		case 11:
		case 12:
		case 13:
		case 14:
		case 15:
			_flag = true;
			break;
		}
		break;
	case 1:
		_animationState = 4;
		_animationFrame = 0;
		break;
	case 2:
	case 4:
	case 5:
	case 6:
	case 7:
	case 8:
	case 9:
	case 10:
	case 11:
	case 20:
	case 21:
	case 22:
		return true;
	case 3:
		if (_animationState == 2) {
			_animationState = 15;
		} else {
			_animationState = 6;
		}
		_animationFrame = 0;
		_flag = false;
		break;
	case 12:
		_animationState = 7;
		_animationFrame = 0;
		_flag = false;
		break;
	case 13:
		_animationState = 8;
		_animationFrame = 0;
		_flag = false;
		break;
	case 14:
		_animationState = 9;
		_animationFrame = 0;
		_flag = false;
		break;
	case 15:
		_animationState = 10;
		_animationFrame = 0;
		_flag = false;
		break;
	case 16:
		_animationState = 11;
		_animationFrame = 0;
		_flag = false;
		break;
	case 17:
		_animationState = 12;
		_animationFrame = 0;
		_flag = false;
		break;
	case 18:
		_animationState = 13;
		_animationFrame = 0;
		_flag = false;
		break;
	case 19:
		_animationState = 14;
		_animationFrame = 0;
		_flag = false;
		break;
	case 23:
		_animationState = 3;
		_animationFrame = 0;
		break;
	default:
		if (mode == 43 && _animationState != 2) {
			_animationState = 18;
			_animationFrame = Slice_Animation_Query_Number_Of_Frames(469) - 1;
		}
		break;
	}

	return true;
}
コード例 #14
0
ファイル: mutant1.cpp プロジェクト: dreammaster/scummvm
bool AIScriptMutant1::ChangeAnimationMode(int mode) {
	switch (mode) {
	case 0:
		if (_animationState >= 3 && _animationState <= 5) {
			_flag = 1;
		} else {
			_animationState = 0;
			_animationFrame = 0;
		}
		break;

	case 1:
	case 7:
		_animationState = 1;
		_animationFrame = 0;
		break;

	case 2:
		_animationState = 2;
		_animationFrame = 0;
		break;

	case 3:
		_animationState = 3;
		_animationFrame = 0;
		_flag = 0;
		break;

	case 4:
		if (_animationState >= 3 && _animationState <= 5) {
			_flag = 1;
		} else {
			_animationState = 0;
			_animationFrame = 0;
		}
		break;

	case 6:
		_animationState = 6;
		_animationFrame = 0;
		break;

	case 8:
		_animationState = 2;
		_animationFrame = 0;
		break;

	case 12:
		_animationState = 3;
		_animationFrame = 0;
		_flag = 0;
		break;

	case 13:
		_animationState = 3;
		_animationFrame = 0;
		_flag = 0;
		break;
	case 21:
	case 22:
		_animationState = 10;
		_animationFrame = 0;
		break;

	case 48:
		_animationState = 8;
		_animationFrame = 0;
		break;

	case 88:
		_animationState = 9;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(900) - 1;
		break;
	}

	return true;
}
コード例 #15
0
ファイル: mutant3.cpp プロジェクト: dreammaster/scummvm
bool AIScriptMutant3::ChangeAnimationMode(int mode) {
	switch (mode) {
	case 0:
		switch (_animationState) {
		case 3:
		case 4:
			_flag = 1;
			break;

		case 8:
			_animationState = 10;
			_animationFrame = 0;

			break;

		case 10:
			return true;

		default:
			_animationState = 0;
			_animationFrame = 0;
			break;
		}
		break;

	case 1:
	case 7:
		_animationState = 1;
		_animationFrame = 0;
		break;

	case 2:
	case 8:
		_animationState = 2;
		_animationFrame = 0;
		break;

	case 3:
	case 12:
		_animationState = 3;
		_animationFrame = 0;
		_flag = 0;
		break;

	case 4:
		if (_animationState >= 3 && _animationState <= 4) {
			_flag = 1;
		} else {
			_animationState = 0;
			_animationFrame = 0;
		}
		break;

	case 6:
		_animationState = 5;
		_animationFrame = 0;
		break;

	case 21:
	case 22:
		_animationState = 11;
		_animationFrame = 0;
		_var1 = 1;
		break;

	case 88:
		_animationState = 7;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(917) - 1;
		break;

 	case 43:
		if ((unsigned int)(_animationState - 8) > 1) {
			_animationState = 9;
			_animationFrame = 0;
		}
		break;

	case 48:
		_animationState = 6;
		_animationFrame = 0;
		break;
	}

	return true;
}
コード例 #16
0
ファイル: free_slot_b.cpp プロジェクト: BenCastricum/scummvm
bool AIScriptFreeSlotB::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 861;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(861)) {
			_animationFrame = 0;
		}
		break;

	case 1:
		*animation = 862;
		if (_var1) {
			_var1--;
		} else {
			_animationFrame += _var2;
			if (_animationFrame < 8) {
				_var2 = 1;
			} else {
				if (_animationFrame > 8) {
					_var2 = -1;
				} else if (Random_Query(0, 4)) {
					_var2 = -_var2;
				}
			}
			if (_animationFrame >= 7 && _animationFrame <= 9) {
				_var1 = Random_Query(0, 1);
			}
		}
		break;

	case 2:
		*animation = 862;
		_animationFrame++;
		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(862) - 1) {
			*animation = 861;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 3:
		*animation = 858;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(858)) {
			_animationFrame = 0;
		}
		break;

	case 4:
		*animation = 857;
		_animationFrame++;
		if (_animationFrame == 3) {
			int snd;
			if (Random_Query(1, 2) == 1) {
				snd = 9010;
			} else {
				snd = 9015;
			}
			Sound_Play_Speech_Line(kActorFreeSlotB, snd, 75, 0, 99);
		}
		if (_animationFrame == 3) {
			Actor_Combat_AI_Hit_Attempt(kActorFreeSlotB);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			*animation = 861;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 5:
		*animation = 874;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(874) - 1) {
			_animationState = 8;
			_animationFrame = Slice_Animation_Query_Number_Of_Frames(874) - 1;
		}
		break;

	case 6:
		if (_animationFrame == 1) {
			Ambient_Sounds_Play_Sound(437, 99, 0, 0, 20);
		}
		*animation = 860;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(860)) {
			_animationFrame = 0;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorFreeSlotB, 0);
		}
		break;

	case 7:
		*animation = 859;
		_animationFrame++;
		if (_animationFrame == 1) {
			Ambient_Sounds_Play_Sound(439, 99, 0, 0, 25);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(859)) {
			_animationFrame = Slice_Animation_Query_Number_Of_Frames(859);
		}
		_animationState = 8;
		break;

	case 8:
		*animation = 859;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(859) - 1;
		break;

	default:
		break;
	}
	*frame = _animationFrame;
	return true;
}
コード例 #17
0
ファイル: sadik.cpp プロジェクト: fingolfin/scummvm
bool AIScriptSadik::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		if (_var2 == 1) {
			*animation = 329;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(329)) {
				*animation = 328;
				_animationFrame = 0;
				_var2 = 0;
			}
		} else if (_var2 == 0) {
			*animation = 328;
			if (_var3) {
				_var3--;
				if (!Random_Query(0, 6)) {
					_var4 = -_var4;
				}
			} else {
				_animationFrame += _var4;
				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(328)) {
					_animationFrame = 0;
				}
				if (_animationFrame < 0) {
					_animationFrame = Slice_Animation_Query_Number_Of_Frames(328) - 1;
				}
				if (!Random_Query(0, 4)) {
					_var3 = 1;
				}
				if (!_animationFrame || _animationFrame == 8) {
					_var3 = Random_Query(2, 8);
				}
				if (!Random_Query(0, 2)) {
					if (!_animationFrame) {
						_var2 = 1;
						_var3 = 0;
						*animation = 329;
					}
				}
			}
		}
		break;

	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
	case 6:
		switch (_animationState) {
		case 1:
			*animation = 323;
			break;
		case 2:
			*animation = 324;
			break;
		case 3:
			*animation = 317;
			break;
		case 4:
			*animation = 318;
			break;
		case 6:
			*animation = 340;
			break;
		case 5:
			*animation = 339;
			break;
		}
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame = 0;
		}
		break;

	case 7:
		*animation = 312;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(312)) {
			_animationFrame = 0;
		}
		break;

	case 8:
		*animation = 313;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(313)) {
			_animationFrame = 0;
			_animationState = 7;
			*animation = 312;
			Actor_Change_Animation_Mode(kActorSadik, 4);
		}
		break;

	case 9:
		*animation = 314;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(314)) {
			_animationFrame = 0;
			_animationState = 7;
			*animation = 312;
			Actor_Change_Animation_Mode(kActorSadik, 4);
		}
		break;

	case 10:
		*animation = 325;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(325)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorSadik, 0);
		}
		break;

	case 11:
		*animation = 326;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(326)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
		}
		break;

	case 12:
		*animation = 315;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(315)) {
			_animationFrame = 0;
			_animationState = 7;
			*animation = 312;
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatIdle);
		}
		break;

	case 13:
		*animation = 316;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(316)) {
			_animationFrame = 0;
			_animationState = 7;
			*animation = 312;
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatIdle);
		}
		break;

	case 14:
		*animation = 327;
		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(327) - 1) {
			_animationFrame++;
		}
		break;

	case 15:
		*animation = 327;
		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(327) - 1) {
			_animationFrame++;
		}
		break;

	case 16:
		*animation = 320;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(320)) {
			_animationFrame = 0;
			_animationState = 7;
			*animation = 312;
		}
		break;

	case 17:
		*animation = 321;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(321)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 18:
		*animation = 322;
		_animationFrame++;
		if (_animationFrame == 5) {
			int snd;
			if (Random_Query(1, 2) == 1) {
				snd = 9010;
			} else {
				snd = 9015;
			}
			Sound_Play_Speech_Line(kActorSadik, snd, 75, 0, 99);
		}
		if (_animationFrame == 7) {
			Actor_Combat_AI_Hit_Attempt(kActorSadik);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(322)) {
			_animationFrame = 0;
			_animationState = 7;
			*animation = 312;
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatIdle);
		}
		break;

	case 19:
		*animation = 331;
		if (!_animationFrame && _flag) {
			*animation = 328;
			_animationState = 0;
			_flag = 0;
		} else {
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(331)) {
				_animationFrame = 0;
			}
		}
		break;

	case 20:
	case 21:
	case 22:
	case 23:
	case 24:
	case 25:
	case 26:
		switch (_animationState) {
		case 20:
			*animation = 332;
			break;
		case 21:
			*animation = 333;
			break;
		case 22:
			*animation = 334;
			break;
		case 23:
			*animation = 335;
			break;
		case 24:
			*animation = 336;
			break;
		case 25:
			*animation = 337;
			break;
		default:
			*animation = 338;
			break;
		}
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame = 0;
			_animationState = 19;
			*animation = 331;
		}
		break;

	case 27:
		*animation = 330;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(330)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
		}
		break;

	case 28:
		*animation = 341;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(341)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 29:
		*animation = 342;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(342)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 30:
		*animation = 343;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(343)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
		}
		break;

	case 31:
		*animation = 344;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(344)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
		}
		break;

	case 32:
		*animation = 345;
		_animationFrame++;
		if (_animationFrame == 23) {
			_nextSoundId = kSfxMTLDOOR2;
		}
		if (_animationFrame >= 25) {
			_animationFrame = 0;
			_animationState = 0;
			*animation = 328;
			Actor_Set_Goal_Number(kActorSadik, kGoalSadikBB11CatchMcCoy);
		}
		break;

	case 33:
		*animation = 344;
		_animationFrame++;
		if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikBB11KnockOutMcCoy) {
			if (_animationFrame == 4) {
				_nextSoundId = kSfxPUNCH1;
			}
			if (_animationFrame == 6) {
				Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeHit);
			}
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;

			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
			if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikBB11KnockOutMcCoy) {
				Actor_Change_Animation_Mode(kActorSadik, 63);
			}
		}
		break;

	case 34:
		*animation = 343;
		_animationFrame++;
		if (_animationFrame == 4) {
			if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikBB11KnockOutMcCoy) {
				Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
				_nextSoundId = kSfxKICK1;
			} else {
				Actor_Change_Animation_Mode(kActorMcCoy, 68);
				_nextSoundId = kSfxKICK2;
			}
		}

		if (_animationFrame >= 15) {
			*animation = 328;
			_animationFrame = 0;
			_animationState = 0;
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeIdle);
			if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikBB11KnockOutMcCoy) {
				AI_Movement_Track_Flush(kActorSadik);
				AI_Movement_Track_Append(kActorSadik, 318, 0);
				AI_Movement_Track_Repeat(kActorSadik);
			} else {
				if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikBB11KickMcCoy) {
					Actor_Change_Animation_Mode(kActorSadik, 63);
				}
			}
		}
		break;

	default:
		*animation = 406;
		_animationFrame = 0;
		break;
	}

	*frame = _animationFrame;

	return true;
}
コード例 #18
0
bool AIScriptGenericWalkerC::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case kGenericWalkerCStatesIdle:
		switch (Global_Variable_Query(kVariableGenericWalkerCModel)) {
		case 0:
			*animation = 426;
			break;
		case 1:
			*animation = 430;
			break;
		case 2:
			*animation = 437;
			break;
		case 3:
			*animation = 431;
			break;
		case 4:
			*animation = 427;
			break;
		case 5:
			*animation = 433;
			break;
		}
		_animationFrame = 0;
		break;
	case kGenericWalkerCStatesWalk:
		switch (Global_Variable_Query(kVariableGenericWalkerCModel)){
		case 0:
			*animation = 424;
			break;
		case 1:
			*animation = 428;
			break;
		case 2:
			*animation = 436;
			break;
		case 3:
			*animation = 429;
			break;
		case 4:
			*animation = 425;
			break;
		case 5:
			*animation = 432;
			break;
		}
		++_animationFrame;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			_animationFrame = 0;
		}
		break;
	case kGenericWalkerCStatesDie:
		*animation = 874;
		++_animationFrame;
		if (++_animationFrame >= Slice_Animation_Query_Number_Of_Frames(874))
		{
			_animationFrame = 0;
			Actor_Set_Goal_Number(kActorGenwalkerC, 0);
			_animationState = kGenericWalkerCStatesIdle;
			deltaX = 0.0f;
			deltaZ = 0.0f;
		}
		break;
	}
	*frame = _animationFrame;
	return true;
}
コード例 #19
0
ファイル: bullet_bob.cpp プロジェクト: dreammaster/scummvm
bool AIScriptBulletBob::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		if (_var1 == 1) {
			*animation = 516;
			if (_var4) {
				_var4--;
			} else {
				if (++_animationFrame == 6) {
					_var4 = Random_Query(4, 8);
				}
				if (_animationFrame == 11) {
					_var4 = Random_Query(2, 6);
				}
				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(515)) {
					_animationFrame = 0;
					_var1 = 0;
					_var3 = 2 * Random_Query(0, 1) - 1;
					_var2 = Random_Query(3, 7);
					_var4 = Random_Query(0, 4);
				}
			}
		} else if (_var1 == 0) {
			*animation = 514;
			if (_var4) {
				_var4--;
			} else {
				_animationFrame += _var3;
				if (_animationFrame < 0) {
					_animationFrame = Slice_Animation_Query_Number_Of_Frames(514) - 1;
				} else if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(514)) {
					_animationFrame = 0;
				}
				if (!--_var2) {
					_var3 = 2 * Random_Query(0, 1) - 1;
					_var2 = Random_Query(3, 7);
					_var4 = Random_Query(0, 4);
				}
				if (!_animationFrame) {
					_var1 = Random_Query(0, 1);
				}
			}
		}
		break;

	case 1:
		*animation = 506;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(506)) {
			_animationFrame = 0;
		}
		break;

	case 2:
		*animation = 513;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(513)) {
			_animationFrame = 0;
			_animationState = 1;
			*animation = 506;
		}
		if (_animationFrame == 10) {
			Sound_Play(492, 75, 0, 0, 50);
		}
		if (_animationFrame == 5) {
			Sound_Play(493, 90, 0, 0, 50);
			Actor_Set_Goal_Number(kActorBulletBob, 6);
		}
		break;

	case 3:
		*animation = 510;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(510) - 1) {
			_animationFrame = Slice_Animation_Query_Number_Of_Frames(510) - 1;
			_animationState = 16;
			Game_Flag_Set(kFlagRC04McCoyShotBob);
		}
		break;

	case 4:
		break;

	case 5:
		*animation = 525;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(525)) {
			*animation = 514;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 6:
		*animation = 517;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(517)) {
			_animationFrame = 0;
		}
		break;

	case 7:
		*animation = 518;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(518)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 517;
		}
		break;

	case 8:
		*animation = 519;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(519)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 517;
		}
		break;

	case 9:
		*animation = 520;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(520)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 517;
		}
		break;

	case 10:
		*animation = 521;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(521)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 517;
		}
		break;

	case 11:
		*animation = 522;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(522)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 517;
		}
		break;

	case 12:
		*animation = 523;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(523)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 517;
		}
		break;

	case 13:
		*animation = 524;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(524)) {
			_animationFrame = 0;
			_animationState = 6;
			*animation = 517;
		}
		break;

	case 14:
		*animation = 512;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(512)) {
			_animationFrame = 0;
			_animationState = 1;
			*animation = 506;
		}
		break;

	case 15:
		if (_var1 == 1) {
			*animation = 516;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(516)) {
				_animationFrame += 2;
				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(516)) {
					_animationFrame = 0;
					*animation = _animationNext;
					_animationState = _animationStateNext;
				}
			} else {
				_animationFrame -= 2;
				if (_animationFrame <= 0) {
					_animationFrame = 0;
					*animation = _animationNext;
					_animationState = _animationStateNext;
				}
			}
		} else if (_var1 == 0) {
			*animation = 514;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(514)) {
				_animationFrame += 2;
				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(514)) {
					_animationFrame = 0;
					*animation = _animationNext;
					_animationState = _animationStateNext;
				}
			} else {
				_animationFrame -= 2;
				if (_animationFrame <= 0) {
					_animationFrame = 0;
					*animation = _animationNext;
					_animationState = _animationStateNext;
				}
			}
		}
		break;

	case 16:
		*animation = 510;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(510) - 1;
		break;

	default:
		break;
	}
	*frame = _animationFrame;

	return true;
}
コード例 #20
0
ファイル: clovis.cpp プロジェクト: dreammaster/scummvm
bool AIScriptClovis::ChangeAnimationMode(int mode) {
	switch (mode) {
	case kAnimationModeIdle:
		if (!Game_Flag_Query(685)) {
			switch (_animationState) {
			case 2:
				Actor_Change_Animation_Mode(kActorClovis, kAnimationModeSit);
				break;
			case 4:
				break;
			case 5:
			case 6:
			case 7:
			case 8:
			case 9:
			case 10:
			case 11:
				_flag = 1;
				break;
			case 12:
				_flag = 1;
				break;
			case 13:
				_animationState = 15;
				_animationFrame = 0;
				break;
			default:
				_animationState = 0;
				_animationFrame = 0;
				_var1 = 0;
				break;
			}
			break;
		}
		_animationState = 32;
		_animationFrame = 0;
		break;

	case kAnimationModeWalk:
		_animationState = 21;
		_animationFrame = 0;
		break;

	case kAnimationModeRun:
		_animationState = 22;
		_animationFrame = 0;
		break;

	case kAnimationModeTalk:
	case 9:
		if (Game_Flag_Query(685)) {
			_animationFrame = 0;
			_animationState = 34;
		} else {
			if (_animationState < 5 || _animationState > 11) {
				_animationState = 1;
				_animationStateNext = 5;
				_animationNext = 230;
				_flag = 0;
			}
		}
		break;

	case kAnimationModeCombatIdle:
		switch (_animationState) {
		case 13:
		case 14:
			break;
		case 23:
		case 24:
		case 27:
		case 28:
			_animationState = 13;
			_animationFrame = 0;
			break;
		default:
			_animationState = 1;
			_animationStateNext = 14;
			_animationNext = 217;
			break;
		}
		break;

	case kAnimationModeCombatAttack:
		_animationState = 16;
		_animationFrame = 0;
		break;

	case kAnimationModeCombatWalk:
		_animationState = 21;
		_animationFrame = 0;
		break;

	case kAnimationModeCombatRun:
		_animationState = 22;
		_animationFrame = 0;
		break;

	case 10:
	case 12:
		if (_animationState < 5 || _animationState > 11) {
			_animationState = 1;
			_animationStateNext = 6;
			_animationNext = 231;
			_flag = 0;
		}
		break;

	case 11:
	case 14:
		if (_animationState < 5 || _animationState > 11) {
			_animationState = 1;
			_animationStateNext = 8;
			_animationNext = 233;
			_flag = 0;
		}
		break;

	case 13:
		if (_animationState < 5 || _animationState > 11) {
			_animationState = 1;
			_animationStateNext = 7;
			_animationNext = 232;
			_flag = 0;
		}
		break;

	case 15:
		if (_animationState < 5 || _animationState > 11) {
			_animationState = 1;
			_animationStateNext = 9;
			_animationNext = 234;
			_flag = 0;
		}
		break;

	case 16:
		if (_animationState < 5 || _animationState > 11) {
			_animationState = 1;
			_animationStateNext = 10;
			_animationNext = 235;
			_flag = 0;
		}
		break;

	case 17:
		if (_animationState < 5 || _animationState > 11) {
			_animationState = 1;
			_animationStateNext = 11;
			_animationNext = 236;
			_flag = 0;
		}
		break;

	case 20:
		_animationState = 31;
		_animationFrame = 0;
		break;

	case kAnimationModeHit:
		if ((unsigned int)(_animationState - 13) > 3) {
			if ((unsigned int)(_animationState - 32) > 8) {
				if (Random_Query(0, 1)) {
					_animationState = 20;
				} else {
					_animationState = 19;
				}
				_animationFrame = 0;
			} else {
				_animationState = 40;
				_animationFrame = 0;
			}
		} else {
			if (Random_Query(0, 1)) {
				_animationState = 18;
			} else {
				_animationState = 17;
			}
			_animationFrame = 0;
		}
		break;

	case kAnimationModeCombatHit:
		if (Random_Query(0, 1)) {
			_animationState = 17;
		} else {
			_animationState = 18;
		}
		_animationFrame = 0;
		break;

	case 29:
		_animationState = 4;
		_animationFrame = 0;
		break;

	case 30:
		_animationState = 12;
		_animationFrame = 0;
		_flag = 0;
		break;

	case 88:
		_animationState = 42;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(226) - 1;
		break;

	case kAnimationModeDie:
		_animationState = 41;
		_animationFrame = 0;
		break;

	case kAnimationModeSit:
		switch (_animationState) {
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
		case 9:
		case 10:
		case 11:
			_animationState = 3;
			_animationFrame = 0;
			break;
		default:
			break;
		}
		break;

	case 54:
		_animationFrame = 0;
		_animationState = 32;
		break;
	}

	return true;
}
コード例 #21
0
ファイル: bullet_bob.cpp プロジェクト: dreammaster/scummvm
bool AIScriptBulletBob::ChangeAnimationMode(int mode) {
	switch (mode) {
	case kAnimationModeIdle:
		if (_animationState > 4 || _animationState) {
			_animationState = 0;
			_animationFrame = 0;
		}
		break;

	case kAnimationModeTalk:
	case 9:
	case 30:
		if (_animationState < 6 || _animationState > 13) {
			_animationState = 15;
			_animationStateNext = 6;
			_animationNext = 517;
		}
		break;

	case kAnimationModeCombatIdle:
		if (_animationState <= 4 && !_animationState) {
			_animationState = 14;
			_animationFrame = 0;
		}
		break;

	case kAnimationModeCombatAttack:
		_animationState = 2;
		_animationFrame = 0;
		break;

	case 10:
	case 31:
		if (_animationState < 6 || _animationState > 13) {
			_animationState = 15;
			_animationStateNext = 7;
			_animationNext = 518;
		}
		break;

	case 11:
	case 33:
		if (_animationState < 6 || _animationState > 13) {
			_animationState = 15;
			_animationStateNext = 9;
			_animationNext = 520;
		}
		break;

	case kAnimationModeHit:
	case kAnimationModeCombatHit:
		_animationState = 3;
		_animationFrame = 0;
		break;

	case 23:
		_animationState = 5;
		_animationFrame = 0;
		break;

	case 32:
		if (_animationState < 6 || _animationState > 13) {
			_animationState = 15;
			_animationStateNext = 8;
			_animationNext = 519;
		}
		break;

	case 34:
		if (_animationState < 6 || _animationState > 13) {
			_animationState = 15;
			_animationStateNext = 10;
			_animationNext = 521;
		}
		break;

	case 35:
		if (_animationState < 6 || _animationState > 13) {
			_animationState = 15;
			_animationStateNext = 11;
			_animationNext = 522;
		}
		break;

	case 36:
		if (_animationState < 6 || _animationState > 13) {
			_animationState = 15;
			_animationStateNext = 12;
			_animationNext = 523;
		}
		break;

	case 37:
		if (_animationState < 6 || _animationState > 13) {
			_animationState = 15;
			_animationStateNext = 13;
			_animationNext = 524;
		}
		break;

	case 48:
		_animationState = 4;
		_animationFrame = 0;
		break;

	case 88:
		_animationState = 16;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(510) - 1;
		break;

	default:
		_animationState = 0;
		_animationFrame = 0;
		break;
	}
	return true;
}
コード例 #22
0
ファイル: mia.cpp プロジェクト: athrxx/scummvm
bool AIScriptMia::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 566;
		_animationFrame++;

		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(566))
			_animationFrame = 0;

		break;

	case 1:
		*animation = 567;
		_animationFrame++;

		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(567)) {
			*animation = 566;
			_animationFrame = 0;
			_animationState = 0;
		}
		break;

	case 2:
		*animation = 568;

		if (!_animationFrame && _flag1) {
			*animation = 566;
			_animationFrame = 0;
			_animationState = 0;
		} else {
			_animationFrame++;

			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
				_animationFrame = 0;
			}
		}
		break;

	case 3:
		*animation = 569;
		_animationFrame++;

		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(569)) {
			*animation = 568;
			_animationFrame = 0;
			_animationState = 2;
		}
		break;

	case 4:
		*animation = 570;
		_animationFrame++;

		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(570)) {
			*animation = 568;
			_animationFrame = 0;
			_animationState = 2;
		}
		break;
	}

	*frame = _animationFrame;

	return true;
}
コード例 #23
0
ファイル: mutant2.cpp プロジェクト: athrxx/scummvm
bool AIScriptMutant2::UpdateAnimation(int *animation, int *frame) {
	switch (_animationState) {
	case 0:
		*animation = 903;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(903)) {
			_animationFrame = 0;
		}
		break;

	case 1:
		*animation = 901;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(901)) {
			_animationFrame = 0;
		}
		break;

	case 2:
		*animation = 902;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(902)) {
			_animationFrame = 0;
		}
		break;

	case 3:
		if (!_animationFrame && _flag) {
			*animation = 903;
			_animationState = 0;
		} else {
			*animation = 905;
			_animationFrame++;
			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(905)) {
				_animationFrame = 0;
			}
		}
		break;

	case 4:
		*animation = 905;
		_animationFrame++;
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(905)) {
			_animationFrame = 0;
			_animationState = 3;
			*animation = 904;
		}
		break;

	case 5:
		*animation = 906;
		_animationFrame++;
		if (_animationFrame == 7) {
			int snd;
			if (Random_Query(1, 2) == 1) {
				snd = 9010;
			} else {
				snd = 9015;
			}
			Sound_Play_Speech_Line(kActorMutant2, snd, 75, 0, 99);
		}
		if (_animationFrame == 9) {
			Actor_Combat_AI_Hit_Attempt(kActorMutant2);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(906)) {
			Actor_Change_Animation_Mode(kActorMutant2, 0);
		}
		break;

	case 6:
		*animation = 907;
		_animationFrame++;
		if (_animationFrame == 1) {
			Sound_Play(401, 100, 0, 0, 50);
		}
		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
			Actor_Change_Animation_Mode(kActorMutant2, 88);
		}
		break;

	case 7:
		*animation = 907;
		_animationFrame = Slice_Animation_Query_Number_Of_Frames(907) - 2;
		break;

	case 8:
		*animation = 907;
		_animationFrame += _var1;
		if (_animationFrame == 4) {
			_var1 = -1;
			Sound_Play(399, 100, 0, 0, 50);
		} else {
			if (!_animationFrame) {
				Actor_Change_Animation_Mode(kActorMutant2, 0);
			}
		}
		break;

	default:
		break;
	}
	*frame = _animationFrame;

	return true;
}