MCPcopy Create free account
hub / github.com/diasurgical/devilution / SyncMonsterAnim

Function SyncMonsterAnim

Source/monster.cpp:4917–4983  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4915}
4916
4917void SyncMonsterAnim(int i)
4918{
4919 MonsterData *MData;
4920 int _mdir;
4921 MonsterStruct *Monst;
4922
4923 if ((DWORD)i >= MAXMONSTERS)
4924 app_fatal("SyncMonsterAnim: Invalid monster %d", i);
4925 Monst = monster + i;
4926 Monst->MType = Monsters + Monst->_mMTidx;
4927 MData = Monsters[Monst->_mMTidx].MData;
4928 Monst->MData = MData;
4929 if (Monst->_uniqtype != 0)
4930 Monst->mName = UniqMonst[Monst->_uniqtype - 1].mName;
4931 else
4932 Monst->mName = MData->mName;
4933 _mdir = monster[i]._mdir;
4934
4935 switch (Monst->_mmode) {
4936 case MM_WALK:
4937 case MM_WALK2:
4938 case MM_WALK3:
4939 Monst->_mAnimData = Monst->MType->Anims[MA_WALK].Data[_mdir];
4940 return;
4941 case MM_ATTACK:
4942 case MM_RATTACK:
4943 Monst->_mAnimData = Monst->MType->Anims[MA_ATTACK].Data[_mdir];
4944 return;
4945 case MM_GOTHIT:
4946 Monst->_mAnimData = Monst->MType->Anims[MA_GOTHIT].Data[_mdir];
4947 return;
4948 case MM_DEATH:
4949 Monst->_mAnimData = Monst->MType->Anims[MA_DEATH].Data[_mdir];
4950 return;
4951 case MM_SATTACK:
4952 case MM_FADEIN:
4953 case MM_FADEOUT:
4954 Monst->_mAnimData = Monst->MType->Anims[MA_SPECIAL].Data[_mdir];
4955 return;
4956 case MM_SPSTAND:
4957 case MM_RSPATTACK:
4958 Monst->_mAnimData = Monst->MType->Anims[MA_SPECIAL].Data[_mdir];
4959 return;
4960 case MM_HEAL:
4961 Monst->_mAnimData = Monst->MType->Anims[MA_SPECIAL].Data[_mdir];
4962 return;
4963 case MM_STAND:
4964 Monst->_mAnimData = Monst->MType->Anims[MA_STAND].Data[_mdir];
4965 return;
4966 case MM_DELAY:
4967 Monst->_mAnimData = Monst->MType->Anims[MA_STAND].Data[_mdir];
4968 return;
4969 case MM_TALK:
4970 Monst->_mAnimData = Monst->MType->Anims[MA_STAND].Data[_mdir];
4971 return;
4972 case MM_CHARGE:
4973 Monst->_mAnimData = Monst->MType->Anims[MA_ATTACK].Data[_mdir];
4974 Monst->_mAnimFrame = 1;

Callers 1

LoadMonsterFunction · 0.85

Calls 1

app_fatalFunction · 0.85

Tested by

no test coverage detected