Read SUB_DNAM in ESM4::ArmorAddon and SUB_PNAM in ESM4::HeadPart

macos_ci_fix
Petr Mikheev 1 year ago
parent 73187b03f3
commit be455469ba

@ -95,6 +95,15 @@ void ESM4::ArmorAddon::load(ESM4::Reader& reader)
break;
case ESM4::SUB_DNAM:
reader.get(mMalePriority);
reader.get(mFemalePriority);
reader.get(mWeightSliderMale);
reader.get(mWeightSliderFemale);
reader.get(mUnknown1);
reader.get(mDetectionSoundValue);
reader.get(mUnknown2);
reader.get(mWeaponAdjust);
break;
case ESM4::SUB_MO2T: // FIXME: should group with MOD2
case ESM4::SUB_MO2S: // FIXME: should group with MOD2
case ESM4::SUB_MO2C: // FIXME: should group with MOD2

@ -59,6 +59,18 @@ namespace ESM4
BodyTemplate mBodyTemplate; // TES5
std::uint8_t mMalePriority;
std::uint8_t mFemalePriority;
// Flag 0x2 in mWeightSlider means that there are 2 world models for different weights: _0.nif and _1.nif
std::uint8_t mWeightSliderMale;
std::uint8_t mWeightSliderFemale;
std::uint16_t mUnknown1;
std::uint8_t mDetectionSoundValue;
std::uint8_t mUnknown2;
float mWeaponAdjust;
void load(ESM4::Reader& reader);
// void save(ESM4::Writer& writer) const;

@ -88,6 +88,8 @@ void ESM4::HeadPart::load(ESM4::Reader& reader)
reader.getFormId(mBaseTexture);
break;
case ESM4::SUB_PNAM:
reader.get(mType);
break;
case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:

@ -49,6 +49,18 @@ namespace ESM4
std::string mModel;
std::uint8_t mData;
std::uint32_t mType;
enum Type : std::uint32_t
{
Type_Misc = 0,
Type_Face = 1,
Type_Eyes = 2,
Type_Hair = 3,
Type_FacialHair = 4,
Type_Scar = 5,
Type_Eyebrows = 6,
};
ESM::FormId mAdditionalPart;

Loading…
Cancel
Save