diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index b940160db..3da407ad0 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -2532,7 +2532,7 @@ void LoadGame(bool firstflag) } } - missiles_process_charge(); + SetUpMissileAnimationData(); RedoMissileFlags(); NewCursor(CURSOR_HAND); gbProcessPlayers = IsDiabloAlive(!firstflag); diff --git a/Source/missiles.cpp b/Source/missiles.cpp index f9acd02f6..713c153c2 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -4175,13 +4175,17 @@ void ProcessMissiles() DeleteMissiles(); } -void missiles_process_charge() +void SetUpMissileAnimationData() { for (auto &missile : Missiles) { - missile._miAnimData = GetMissileSpriteData(missile._miAnimType).spritesForDirection(missile._mimfnum); - if (missile._mitype != MissileID::Rhino) + if (missile._miAnimType == MissileGraphicID::None) continue; + if (missile._mitype != MissileID::Rhino) { + missile._miAnimData = GetMissileSpriteData(missile._miAnimType).spritesForDirection(missile._mimfnum); + continue; + } + const CMonster &mon = Monsters[missile._misource].type(); MonsterGraphic graphic; diff --git a/Source/missiles.h b/Source/missiles.h index 7ab4e9dee..444f12d3a 100644 --- a/Source/missiles.h +++ b/Source/missiles.h @@ -454,7 +454,7 @@ void ProcessBoneSpirit(Missile &missile); void ProcessResurrectBeam(Missile &missile); void ProcessRedPortal(Missile &missile); void ProcessMissiles(); -void missiles_process_charge(); +void SetUpMissileAnimationData(); void RedoMissileFlags(); #ifdef BUILD_TESTING