Fall back to regular head when getVampireHead fails

0.6.3
Capostrophic 7 years ago committed by GitHub
parent 64cc3b3a6a
commit ecafcefae9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -416,6 +416,7 @@ void NpcAnimation::updateNpcBase()
const ESM::Race *race = store.get<ESM::Race>().find(mNpc->mRace); const ESM::Race *race = store.get<ESM::Race>().find(mNpc->mRace);
bool isWerewolf = (mNpcType == Type_Werewolf); bool isWerewolf = (mNpcType == Type_Werewolf);
bool isVampire = (mNpcType == Type_Vampire); bool isVampire = (mNpcType == Type_Vampire);
bool isFemale = !mNpc->isMale();
if (isWerewolf) if (isWerewolf)
{ {
@ -425,8 +426,9 @@ void NpcAnimation::updateNpcBase()
else else
{ {
mHeadModel = ""; mHeadModel = "";
if (isVampire) // FIXME: fall back to regular head when getVampireHead fails? const std::string& vampireHead = getVampireHead(mNpc->mRace, isFemale);
mHeadModel = getVampireHead(mNpc->mRace, mNpc->mFlags & ESM::NPC::Female); if (isVampire && !vampireHead.empty())
mHeadModel = vampireHead;
else if (!mNpc->mHead.empty()) else if (!mNpc->mHead.empty())
{ {
const ESM::BodyPart* bp = store.get<ESM::BodyPart>().search(mNpc->mHead); const ESM::BodyPart* bp = store.get<ESM::BodyPart>().search(mNpc->mHead);
@ -448,7 +450,6 @@ void NpcAnimation::updateNpcBase()
} }
bool isBeast = (race->mData.mFlags & ESM::Race::Beast) != 0; bool isBeast = (race->mData.mFlags & ESM::Race::Beast) != 0;
bool isFemale = !mNpc->isMale();
std::string smodel; std::string smodel;
if (mViewMode != VM_FirstPerson) if (mViewMode != VM_FirstPerson)

Loading…
Cancel
Save