Browse Source

InitMonster: Get AnimData only once

pull/2364/head
obligaron 5 years ago committed by Anders Jenbo
parent
commit
481fc04235
  1. 8
      Source/monster.cpp

8
Source/monster.cpp

@ -529,6 +529,8 @@ void InitMonster(int i, Direction rd, int mtype, Point position)
{
CMonster *monst = &LevelMonsterTypes[mtype];
auto &animData = monst->Anims[MA_STAND];
Monsters[i]._mdir = rd;
Monsters[i].position.tile = position;
Monsters[i].position.future = position;
@ -539,10 +541,10 @@ void InitMonster(int i, Direction rd, int mtype, Point position)
Monsters[i].MType = monst;
Monsters[i].MData = monst->MData;
Monsters[i].AnimInfo = {};
Monsters[i].AnimInfo.pCelSprite = monst->Anims[MA_STAND].CelSpritesForDirections[rd] ? &*monst->Anims[MA_STAND].CelSpritesForDirections[rd] : nullptr;
Monsters[i].AnimInfo.TicksPerFrame = monst->Anims[MA_STAND].Rate;
Monsters[i].AnimInfo.pCelSprite = animData.CelSpritesForDirections[rd] ? &*animData.CelSpritesForDirections[rd] : nullptr;
Monsters[i].AnimInfo.TicksPerFrame = animData.Rate;
Monsters[i].AnimInfo.TickCounterOfCurrentFrame = GenerateRnd(Monsters[i].AnimInfo.TicksPerFrame - 1);
Monsters[i].AnimInfo.NumberOfFrames = monst->Anims[MA_STAND].Frames;
Monsters[i].AnimInfo.NumberOfFrames = animData.Frames;
Monsters[i].AnimInfo.CurrentFrame = GenerateRnd(Monsters[i].AnimInfo.NumberOfFrames - 1) + 1;
Monsters[i].mLevel = monst->MData->mLevel;

Loading…
Cancel
Save