1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-20 22:23:52 +00:00

Hide hairs when replace the Head bodypart by item's one in the editor

This commit is contained in:
Andrei Kortunov 2019-01-30 10:18:48 +04:00
parent e748abde7d
commit 11c17ad9d5

View file

@ -530,6 +530,10 @@ namespace CSMWorld
RaceDataPtr raceData = getRaceData(npc.mRace); RaceDataPtr raceData = getRaceData(npc.mRace);
data->reset_data(id, "", false, !npc.isMale(), raceData); data->reset_data(id, "", false, !npc.isMale(), raceData);
// Add head and hair
data->setPart(ESM::PRT_Head, npc.mHead, 0);
data->setPart(ESM::PRT_Hair, npc.mHair, 0);
// Add inventory items // Add inventory items
for (auto& item : npc.mInventory.mList) for (auto& item : npc.mInventory.mList)
{ {
@ -537,10 +541,6 @@ namespace CSMWorld
std::string itemId = item.mItem.toString(); std::string itemId = item.mItem.toString();
addNpcItem(itemId, data); addNpcItem(itemId, data);
} }
// Add head and hair
data->setPart(ESM::PRT_Head, npc.mHead, 0);
data->setPart(ESM::PRT_Hair, npc.mHair, 0);
} }
void ActorAdapter::addNpcItem(const std::string& itemId, ActorDataPtr data) void ActorAdapter::addNpcItem(const std::string& itemId, ActorDataPtr data)
@ -574,6 +574,10 @@ namespace CSMWorld
partId = part.mMale; partId = part.mMale;
data->setPart(partType, partId, priority); data->setPart(partType, partId, priority);
// An another vanilla quirk: hide hairs if an item replaces Head part
if (partType == ESM::PRT_Head)
data->setPart(ESM::PRT_Hair, "", priority);
} }
}; };