public override void WriteXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (FileName != null) { ele.TryPathTo("FileName", true, out subEle); FileName.WriteXML(subEle, master); } if (Unknown != null) { ele.TryPathTo("Unknown", true, out subEle); Unknown.WriteXML(subEle, master); } if (TextureFileHash != null) { ele.TryPathTo("TextureFileHash", true, out subEle); TextureFileHash.WriteXML(subEle, master); } if (AlternateTextures != null) { ele.TryPathTo("AlternateTextures", true, out subEle); AlternateTextures.WriteXML(subEle, master); } if (FaceGenModelFlags != null) { ele.TryPathTo("FaceGenModelFlags", true, out subEle); FaceGenModelFlags.WriteXML(subEle, master); } }
public override void ReadXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("FileName", false, out subEle)) { if (FileName == null) { FileName = new SimpleSubrecord <String>(); } FileName.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte[]>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("TextureFileHash", false, out subEle)) { if (TextureFileHash == null) { TextureFileHash = new SimpleSubrecord <Byte[]>(); } TextureFileHash.ReadXML(subEle, master); } if (ele.TryPathTo("AlternateTextures", false, out subEle)) { if (AlternateTextures == null) { AlternateTextures = new AlternateTextures(); } AlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGenModelFlags", false, out subEle)) { if (FaceGenModelFlags == null) { FaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } FaceGenModelFlags.ReadXML(subEle, master); } }
public override void WriteBinary(ESPWriter writer) { if (FileName != null) { FileName.WriteBinary(writer); } if (Unknown != null) { Unknown.WriteBinary(writer); } if (TextureFileHash != null) { TextureFileHash.WriteBinary(writer); } if (AlternateTextures != null) { AlternateTextures.WriteBinary(writer); } if (FaceGenModelFlags != null) { FaceGenModelFlags.WriteBinary(writer); } }
public override void ReadDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("EditorID", false, out subEle)) { if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadXML(subEle, master); } if (ele.TryPathTo("ObjectBounds", false, out subEle)) { if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadXML(subEle, master); } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new RecordReference(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("ObjectEffect", false, out subEle)) { if (ObjectEffect == null) { ObjectEffect = new RecordReference(); } ObjectEffect.ReadXML(subEle, master); } if (ele.TryPathTo("BipedData", false, out subEle)) { if (BipedData == null) { BipedData = new BipedData(); } BipedData.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Male/FileName", false, out subEle)) { if (MaleBipedModelFileName == null) { MaleBipedModelFileName = new SimpleSubrecord <String>(); } MaleBipedModelFileName.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Male/TextureHashes", false, out subEle)) { if (MaleBipedModelTextureHashes == null) { MaleBipedModelTextureHashes = new SimpleSubrecord <Byte[]>(); } MaleBipedModelTextureHashes.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Male/AlternateTextures", false, out subEle)) { if (MaleBipedModelAlternateTextures == null) { MaleBipedModelAlternateTextures = new AlternateTextures(); } MaleBipedModelAlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Male/FaceGenModelFlags", false, out subEle)) { if (MaleBipedModelFaceGenModelFlags == null) { MaleBipedModelFaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } MaleBipedModelFaceGenModelFlags.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Male/FileName", false, out subEle)) { if (MaleWorldModelFileName == null) { MaleWorldModelFileName = new SimpleSubrecord <String>(); } MaleWorldModelFileName.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Male/TextureHashes", false, out subEle)) { if (MaleWorldModelTextureHashes == null) { MaleWorldModelTextureHashes = new SimpleSubrecord <Byte[]>(); } MaleWorldModelTextureHashes.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Male/AlternateTextures", false, out subEle)) { if (MaleWorldModelAlternateTextures == null) { MaleWorldModelAlternateTextures = new AlternateTextures(); } MaleWorldModelAlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Inventory/Male", false, out subEle)) { if (MaleInventoryIcon == null) { MaleInventoryIcon = new SimpleSubrecord <String>(); } MaleInventoryIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Message/Male", false, out subEle)) { if (MaleMessageIcon == null) { MaleMessageIcon = new SimpleSubrecord <String>(); } MaleMessageIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Female/FileName", false, out subEle)) { if (FemaleBipedModelFileName == null) { FemaleBipedModelFileName = new SimpleSubrecord <String>(); } FemaleBipedModelFileName.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Female/TextureHashes", false, out subEle)) { if (FemaleBipedModelTextureHashes == null) { FemaleBipedModelTextureHashes = new SimpleSubrecord <Byte[]>(); } FemaleBipedModelTextureHashes.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Female/AlternateTextures", false, out subEle)) { if (FemaleBipedModelAlternateTextures == null) { FemaleBipedModelAlternateTextures = new AlternateTextures(); } FemaleBipedModelAlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Female/FaceGenModelFlags", false, out subEle)) { if (FemaleBipedModelFaceGenModelFlags == null) { FemaleBipedModelFaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } FemaleBipedModelFaceGenModelFlags.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Female/FileName", false, out subEle)) { if (FemaleWorldModelFileName == null) { FemaleWorldModelFileName = new SimpleSubrecord <String>(); } FemaleWorldModelFileName.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Female/TextureHashes", false, out subEle)) { if (FemaleWorldModelTextureHashes == null) { FemaleWorldModelTextureHashes = new SimpleSubrecord <Byte[]>(); } FemaleWorldModelTextureHashes.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Female/AlternateTextures", false, out subEle)) { if (FemaleWorldModelAlternateTextures == null) { FemaleWorldModelAlternateTextures = new AlternateTextures(); } FemaleWorldModelAlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Inventory/Female", false, out subEle)) { if (FemaleInventoryIcon == null) { FemaleInventoryIcon = new SimpleSubrecord <String>(); } FemaleInventoryIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Message/Female", false, out subEle)) { if (FemaleMessageIcon == null) { FemaleMessageIcon = new SimpleSubrecord <String>(); } FemaleMessageIcon.ReadXML(subEle, master); } if (ele.TryPathTo("RagdollConstraintTemplate", false, out subEle)) { if (RagdollConstraintTemplate == null) { RagdollConstraintTemplate = new SimpleSubrecord <String>(); } RagdollConstraintTemplate.ReadXML(subEle, master); } if (ele.TryPathTo("RepairList", false, out subEle)) { if (RepairList == null) { RepairList = new RecordReference(); } RepairList.ReadXML(subEle, master); } if (ele.TryPathTo("BipedModelList", false, out subEle)) { if (BipedModelList == null) { BipedModelList = new RecordReference(); } BipedModelList.ReadXML(subEle, master); } if (ele.TryPathTo("EquipmentType", false, out subEle)) { if (EquipmentType == null) { EquipmentType = new SimpleSubrecord <EquipmentType>(); } EquipmentType.ReadXML(subEle, master); } if (ele.TryPathTo("PickupSound", false, out subEle)) { if (PickupSound == null) { PickupSound = new RecordReference(); } PickupSound.ReadXML(subEle, master); } if (ele.TryPathTo("DropSound", false, out subEle)) { if (DropSound == null) { DropSound = new RecordReference(); } DropSound.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new ArmorData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("ExtraData", false, out subEle)) { if (ExtraData == null) { ExtraData = new ArmorExtraData(); } ExtraData.ReadXML(subEle, master); } if (ele.TryPathTo("OverridesAnimationSounds", false, out subEle)) { if (OverridesAnimationSounds == null) { OverridesAnimationSounds = new SimpleSubrecord <NoYes>(); } OverridesAnimationSounds.ReadXML(subEle, master); } if (ele.TryPathTo("AnimationSounds", false, out subEle)) { if (AnimationSounds == null) { AnimationSounds = new List <AnimationSound>(); } foreach (XElement e in subEle.Elements()) { AnimationSound tempSNAM = new AnimationSound(); tempSNAM.ReadXML(e, master); AnimationSounds.Add(tempSNAM); } } if (ele.TryPathTo("AnimationSoundsTemplate", false, out subEle)) { if (AnimationSoundsTemplate == null) { AnimationSoundsTemplate = new RecordReference(); } AnimationSoundsTemplate.ReadXML(subEle, master); } }
public override void ReadData(ESPReader reader, long dataEnd) { while (reader.BaseStream.Position < dataEnd) { string subTag = reader.PeekTag(); switch (subTag) { case "EDID": if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadBinary(reader); break; case "OBND": if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadBinary(reader); break; case "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "SCRI": if (Script == null) { Script = new RecordReference(); } Script.ReadBinary(reader); break; case "EITM": if (ObjectEffect == null) { ObjectEffect = new RecordReference(); } ObjectEffect.ReadBinary(reader); break; case "BMDT": if (BipedData == null) { BipedData = new BipedData(); } BipedData.ReadBinary(reader); break; case "MODL": if (MaleBipedModelFileName == null) { MaleBipedModelFileName = new SimpleSubrecord <String>(); } MaleBipedModelFileName.ReadBinary(reader); break; case "MODT": if (MaleBipedModelTextureHashes == null) { MaleBipedModelTextureHashes = new SimpleSubrecord <Byte[]>(); } MaleBipedModelTextureHashes.ReadBinary(reader); break; case "MODS": if (MaleBipedModelAlternateTextures == null) { MaleBipedModelAlternateTextures = new AlternateTextures(); } MaleBipedModelAlternateTextures.ReadBinary(reader); break; case "MODD": if (MaleBipedModelFaceGenModelFlags == null) { MaleBipedModelFaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } MaleBipedModelFaceGenModelFlags.ReadBinary(reader); break; case "MOD2": if (MaleWorldModelFileName == null) { MaleWorldModelFileName = new SimpleSubrecord <String>(); } MaleWorldModelFileName.ReadBinary(reader); break; case "MO2T": if (MaleWorldModelTextureHashes == null) { MaleWorldModelTextureHashes = new SimpleSubrecord <Byte[]>(); } MaleWorldModelTextureHashes.ReadBinary(reader); break; case "MO2S": if (MaleWorldModelAlternateTextures == null) { MaleWorldModelAlternateTextures = new AlternateTextures(); } MaleWorldModelAlternateTextures.ReadBinary(reader); break; case "ICON": if (MaleInventoryIcon == null) { MaleInventoryIcon = new SimpleSubrecord <String>(); } MaleInventoryIcon.ReadBinary(reader); break; case "MICO": if (MaleMessageIcon == null) { MaleMessageIcon = new SimpleSubrecord <String>(); } MaleMessageIcon.ReadBinary(reader); break; case "MOD3": if (FemaleBipedModelFileName == null) { FemaleBipedModelFileName = new SimpleSubrecord <String>(); } FemaleBipedModelFileName.ReadBinary(reader); break; case "MO3T": if (FemaleBipedModelTextureHashes == null) { FemaleBipedModelTextureHashes = new SimpleSubrecord <Byte[]>(); } FemaleBipedModelTextureHashes.ReadBinary(reader); break; case "MO3S": if (FemaleBipedModelAlternateTextures == null) { FemaleBipedModelAlternateTextures = new AlternateTextures(); } FemaleBipedModelAlternateTextures.ReadBinary(reader); break; case "MOSD": if (FemaleBipedModelFaceGenModelFlags == null) { FemaleBipedModelFaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } FemaleBipedModelFaceGenModelFlags.ReadBinary(reader); break; case "MOD4": if (FemaleWorldModelFileName == null) { FemaleWorldModelFileName = new SimpleSubrecord <String>(); } FemaleWorldModelFileName.ReadBinary(reader); break; case "MO4T": if (FemaleWorldModelTextureHashes == null) { FemaleWorldModelTextureHashes = new SimpleSubrecord <Byte[]>(); } FemaleWorldModelTextureHashes.ReadBinary(reader); break; case "MO4S": if (FemaleWorldModelAlternateTextures == null) { FemaleWorldModelAlternateTextures = new AlternateTextures(); } FemaleWorldModelAlternateTextures.ReadBinary(reader); break; case "ICO2": if (FemaleInventoryIcon == null) { FemaleInventoryIcon = new SimpleSubrecord <String>(); } FemaleInventoryIcon.ReadBinary(reader); break; case "MIC2": if (FemaleMessageIcon == null) { FemaleMessageIcon = new SimpleSubrecord <String>(); } FemaleMessageIcon.ReadBinary(reader); break; case "BMCT": if (RagdollConstraintTemplate == null) { RagdollConstraintTemplate = new SimpleSubrecord <String>(); } RagdollConstraintTemplate.ReadBinary(reader); break; case "REPL": if (RepairList == null) { RepairList = new RecordReference(); } RepairList.ReadBinary(reader); break; case "BIPL": if (BipedModelList == null) { BipedModelList = new RecordReference(); } BipedModelList.ReadBinary(reader); break; case "ETYP": if (EquipmentType == null) { EquipmentType = new SimpleSubrecord <EquipmentType>(); } EquipmentType.ReadBinary(reader); break; case "YNAM": if (PickupSound == null) { PickupSound = new RecordReference(); } PickupSound.ReadBinary(reader); break; case "ZNAM": if (DropSound == null) { DropSound = new RecordReference(); } DropSound.ReadBinary(reader); break; case "DATA": if (Data == null) { Data = new ArmorData(); } Data.ReadBinary(reader); break; case "DNAM": if (ExtraData == null) { ExtraData = new ArmorExtraData(); } ExtraData.ReadBinary(reader); break; case "BNAM": if (OverridesAnimationSounds == null) { OverridesAnimationSounds = new SimpleSubrecord <NoYes>(); } OverridesAnimationSounds.ReadBinary(reader); break; case "SNAM": if (AnimationSounds == null) { AnimationSounds = new List <AnimationSound>(); } AnimationSound tempSNAM = new AnimationSound(); tempSNAM.ReadBinary(reader); AnimationSounds.Add(tempSNAM); break; case "TNAM": if (AnimationSoundsTemplate == null) { AnimationSoundsTemplate = new RecordReference(); } AnimationSoundsTemplate.ReadBinary(reader); break; default: throw new Exception(); } } }
public Armor(SimpleSubrecord <String> EditorID, ObjectBounds ObjectBounds, SimpleSubrecord <String> Name, RecordReference Script, RecordReference ObjectEffect, BipedData BipedData, SimpleSubrecord <String> MaleBipedModelFileName, SimpleSubrecord <Byte[]> MaleBipedModelTextureHashes, AlternateTextures MaleBipedModelAlternateTextures, SimpleSubrecord <FaceGenModelFlags> MaleBipedModelFaceGenModelFlags, SimpleSubrecord <String> MaleWorldModelFileName, SimpleSubrecord <Byte[]> MaleWorldModelTextureHashes, AlternateTextures MaleWorldModelAlternateTextures, SimpleSubrecord <String> MaleInventoryIcon, SimpleSubrecord <String> MaleMessageIcon, SimpleSubrecord <String> FemaleBipedModelFileName, SimpleSubrecord <Byte[]> FemaleBipedModelTextureHashes, AlternateTextures FemaleBipedModelAlternateTextures, SimpleSubrecord <FaceGenModelFlags> FemaleBipedModelFaceGenModelFlags, SimpleSubrecord <String> FemaleWorldModelFileName, SimpleSubrecord <Byte[]> FemaleWorldModelTextureHashes, AlternateTextures FemaleWorldModelAlternateTextures, SimpleSubrecord <String> FemaleInventoryIcon, SimpleSubrecord <String> FemaleMessageIcon, SimpleSubrecord <String> RagdollConstraintTemplate, RecordReference RepairList, RecordReference BipedModelList, SimpleSubrecord <EquipmentType> EquipmentType, RecordReference PickupSound, RecordReference DropSound, ArmorData Data, ArmorExtraData ExtraData, SimpleSubrecord <NoYes> OverridesAnimationSounds, List <AnimationSound> AnimationSounds, RecordReference AnimationSoundsTemplate) { this.EditorID = EditorID; this.ObjectBounds = ObjectBounds; this.BipedData = BipedData; this.MaleBipedModelFileName = MaleBipedModelFileName; this.MaleWorldModelFileName = MaleWorldModelFileName; this.FemaleBipedModelFileName = FemaleBipedModelFileName; this.FemaleWorldModelFileName = FemaleWorldModelFileName; this.EquipmentType = EquipmentType; this.Data = Data; this.ExtraData = ExtraData; }
public override void ReadBinary(ESPReader reader) { List <string> readTags = new List <string>(); while (reader.BaseStream.Position < reader.BaseStream.Length) { string subTag = reader.PeekTag(); switch (subTag) { case "MODL": if (readTags.Contains("MODL")) { return; } if (FileName == null) { FileName = new SimpleSubrecord <String>(); } FileName.ReadBinary(reader); break; case "MODB": if (readTags.Contains("MODB")) { return; } if (Unknown == null) { Unknown = new SimpleSubrecord <Byte[]>(); } Unknown.ReadBinary(reader); break; case "MODT": if (readTags.Contains("MODT")) { return; } if (TextureFileHash == null) { TextureFileHash = new SimpleSubrecord <Byte[]>(); } TextureFileHash.ReadBinary(reader); break; case "MODS": if (readTags.Contains("MODS")) { return; } if (AlternateTextures == null) { AlternateTextures = new AlternateTextures(); } AlternateTextures.ReadBinary(reader); break; case "MODD": if (readTags.Contains("MODD")) { return; } if (FaceGenModelFlags == null) { FaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } FaceGenModelFlags.ReadBinary(reader); break; default: return; } readTags.Add(subTag); } }
public Model(SimpleSubrecord <String> FileName, SimpleSubrecord <Byte[]> Unknown, SimpleSubrecord <Byte[]> TextureFileHash, AlternateTextures AlternateTextures, SimpleSubrecord <FaceGenModelFlags> FaceGenModelFlags) { this.FileName = FileName; this.Unknown = Unknown; this.TextureFileHash = TextureFileHash; this.AlternateTextures = AlternateTextures; this.FaceGenModelFlags = FaceGenModelFlags; }
public override void ReadDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("EditorID", false, out subEle)) { if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadXML(subEle, master); } if (ele.TryPathTo("ObjectBounds", false, out subEle)) { if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadXML(subEle, master); } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("BipedData", false, out subEle)) { if (BipedData == null) { BipedData = new BipedData(); } BipedData.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Male/FileName", false, out subEle)) { if (MaleBipedModelFileName == null) { MaleBipedModelFileName = new SimpleSubrecord <String>(); } MaleBipedModelFileName.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Male/TextureHashes", false, out subEle)) { if (MaleBipedModelTextureHashes == null) { MaleBipedModelTextureHashes = new SimpleSubrecord <Byte[]>(); } MaleBipedModelTextureHashes.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Male/AlternateTextures", false, out subEle)) { if (MaleBipedModelAlternateTextures == null) { MaleBipedModelAlternateTextures = new AlternateTextures(); } MaleBipedModelAlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Male/FaceGenModelFlags", false, out subEle)) { if (MaleBipedModelFaceGenModelFlags == null) { MaleBipedModelFaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } MaleBipedModelFaceGenModelFlags.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Male/FileName", false, out subEle)) { if (MaleWorldModelFileName == null) { MaleWorldModelFileName = new SimpleSubrecord <String>(); } MaleWorldModelFileName.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Male/TextureHashes", false, out subEle)) { if (MaleWorldModelTextureHashes == null) { MaleWorldModelTextureHashes = new SimpleSubrecord <Byte[]>(); } MaleWorldModelTextureHashes.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Male/AlternateTextures", false, out subEle)) { if (MaleWorldModelAlternateTextures == null) { MaleWorldModelAlternateTextures = new AlternateTextures(); } MaleWorldModelAlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Inventory/Male", false, out subEle)) { if (MaleInventoryIcon == null) { MaleInventoryIcon = new SimpleSubrecord <String>(); } MaleInventoryIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Message/Male", false, out subEle)) { if (MaleMessageIcon == null) { MaleMessageIcon = new SimpleSubrecord <String>(); } MaleMessageIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Female/FileName", false, out subEle)) { if (FemaleBipedModelFileName == null) { FemaleBipedModelFileName = new SimpleSubrecord <String>(); } FemaleBipedModelFileName.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Female/TextureHashes", false, out subEle)) { if (FemaleBipedModelTextureHashes == null) { FemaleBipedModelTextureHashes = new SimpleSubrecord <Byte[]>(); } FemaleBipedModelTextureHashes.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Female/AlternateTextures", false, out subEle)) { if (FemaleBipedModelAlternateTextures == null) { FemaleBipedModelAlternateTextures = new AlternateTextures(); } FemaleBipedModelAlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("Models/Biped/Female/FaceGenModelFlags", false, out subEle)) { if (FemaleBipedModelFaceGenModelFlags == null) { FemaleBipedModelFaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } FemaleBipedModelFaceGenModelFlags.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Female/FileName", false, out subEle)) { if (FemaleWorldModelFileName == null) { FemaleWorldModelFileName = new SimpleSubrecord <String>(); } FemaleWorldModelFileName.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Female/TextureHashes", false, out subEle)) { if (FemaleWorldModelTextureHashes == null) { FemaleWorldModelTextureHashes = new SimpleSubrecord <Byte[]>(); } FemaleWorldModelTextureHashes.ReadXML(subEle, master); } if (ele.TryPathTo("Models/World/Female/AlternateTextures", false, out subEle)) { if (FemaleWorldModelAlternateTextures == null) { FemaleWorldModelAlternateTextures = new AlternateTextures(); } FemaleWorldModelAlternateTextures.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Inventory/Female", false, out subEle)) { if (FemaleInventoryIcon == null) { FemaleInventoryIcon = new SimpleSubrecord <String>(); } FemaleInventoryIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Message/Female", false, out subEle)) { if (FemaleMessageIcon == null) { FemaleMessageIcon = new SimpleSubrecord <String>(); } FemaleMessageIcon.ReadXML(subEle, master); } if (ele.TryPathTo("EquipmentType", false, out subEle)) { if (EquipmentType == null) { EquipmentType = new SimpleSubrecord <EquipmentType>(); } EquipmentType.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new ArmorData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("ExtraData", false, out subEle)) { if (ExtraData == null) { ExtraData = new ArmorAddonData(); } ExtraData.ReadXML(subEle, master); } }
public override void ReadData(ESPReader reader, long dataEnd) { while (reader.BaseStream.Position < dataEnd) { string subTag = reader.PeekTag(); switch (subTag) { case "EDID": if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadBinary(reader); break; case "OBND": if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadBinary(reader); break; case "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "BMDT": if (BipedData == null) { BipedData = new BipedData(); } BipedData.ReadBinary(reader); break; case "MODL": if (MaleBipedModelFileName == null) { MaleBipedModelFileName = new SimpleSubrecord <String>(); } MaleBipedModelFileName.ReadBinary(reader); break; case "MODT": if (MaleBipedModelTextureHashes == null) { MaleBipedModelTextureHashes = new SimpleSubrecord <Byte[]>(); } MaleBipedModelTextureHashes.ReadBinary(reader); break; case "MODS": if (MaleBipedModelAlternateTextures == null) { MaleBipedModelAlternateTextures = new AlternateTextures(); } MaleBipedModelAlternateTextures.ReadBinary(reader); break; case "MODD": if (MaleBipedModelFaceGenModelFlags == null) { MaleBipedModelFaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } MaleBipedModelFaceGenModelFlags.ReadBinary(reader); break; case "MOD2": if (MaleWorldModelFileName == null) { MaleWorldModelFileName = new SimpleSubrecord <String>(); } MaleWorldModelFileName.ReadBinary(reader); break; case "MO2T": if (MaleWorldModelTextureHashes == null) { MaleWorldModelTextureHashes = new SimpleSubrecord <Byte[]>(); } MaleWorldModelTextureHashes.ReadBinary(reader); break; case "MO2S": if (MaleWorldModelAlternateTextures == null) { MaleWorldModelAlternateTextures = new AlternateTextures(); } MaleWorldModelAlternateTextures.ReadBinary(reader); break; case "ICON": if (MaleInventoryIcon == null) { MaleInventoryIcon = new SimpleSubrecord <String>(); } MaleInventoryIcon.ReadBinary(reader); break; case "MICO": if (MaleMessageIcon == null) { MaleMessageIcon = new SimpleSubrecord <String>(); } MaleMessageIcon.ReadBinary(reader); break; case "MOD3": if (FemaleBipedModelFileName == null) { FemaleBipedModelFileName = new SimpleSubrecord <String>(); } FemaleBipedModelFileName.ReadBinary(reader); break; case "MO3T": if (FemaleBipedModelTextureHashes == null) { FemaleBipedModelTextureHashes = new SimpleSubrecord <Byte[]>(); } FemaleBipedModelTextureHashes.ReadBinary(reader); break; case "MO3S": if (FemaleBipedModelAlternateTextures == null) { FemaleBipedModelAlternateTextures = new AlternateTextures(); } FemaleBipedModelAlternateTextures.ReadBinary(reader); break; case "MOSD": if (FemaleBipedModelFaceGenModelFlags == null) { FemaleBipedModelFaceGenModelFlags = new SimpleSubrecord <FaceGenModelFlags>(); } FemaleBipedModelFaceGenModelFlags.ReadBinary(reader); break; case "MOD4": if (FemaleWorldModelFileName == null) { FemaleWorldModelFileName = new SimpleSubrecord <String>(); } FemaleWorldModelFileName.ReadBinary(reader); break; case "MO4T": if (FemaleWorldModelTextureHashes == null) { FemaleWorldModelTextureHashes = new SimpleSubrecord <Byte[]>(); } FemaleWorldModelTextureHashes.ReadBinary(reader); break; case "MO4S": if (FemaleWorldModelAlternateTextures == null) { FemaleWorldModelAlternateTextures = new AlternateTextures(); } FemaleWorldModelAlternateTextures.ReadBinary(reader); break; case "ICO2": if (FemaleInventoryIcon == null) { FemaleInventoryIcon = new SimpleSubrecord <String>(); } FemaleInventoryIcon.ReadBinary(reader); break; case "MIC2": if (FemaleMessageIcon == null) { FemaleMessageIcon = new SimpleSubrecord <String>(); } FemaleMessageIcon.ReadBinary(reader); break; case "ETYP": if (EquipmentType == null) { EquipmentType = new SimpleSubrecord <EquipmentType>(); } EquipmentType.ReadBinary(reader); break; case "DATA": if (Data == null) { Data = new ArmorData(); } Data.ReadBinary(reader); break; case "DNAM": if (ExtraData == null) { ExtraData = new ArmorAddonData(); } ExtraData.ReadBinary(reader); break; default: throw new Exception(); } } }
public ArmorAddon(SimpleSubrecord <String> EditorID, ObjectBounds ObjectBounds, SimpleSubrecord <String> Name, BipedData BipedData, SimpleSubrecord <String> MaleBipedModelFileName, SimpleSubrecord <Byte[]> MaleBipedModelTextureHashes, AlternateTextures MaleBipedModelAlternateTextures, SimpleSubrecord <FaceGenModelFlags> MaleBipedModelFaceGenModelFlags, SimpleSubrecord <String> MaleWorldModelFileName, SimpleSubrecord <Byte[]> MaleWorldModelTextureHashes, AlternateTextures MaleWorldModelAlternateTextures, SimpleSubrecord <String> MaleInventoryIcon, SimpleSubrecord <String> MaleMessageIcon, SimpleSubrecord <String> FemaleBipedModelFileName, SimpleSubrecord <Byte[]> FemaleBipedModelTextureHashes, AlternateTextures FemaleBipedModelAlternateTextures, SimpleSubrecord <FaceGenModelFlags> FemaleBipedModelFaceGenModelFlags, SimpleSubrecord <String> FemaleWorldModelFileName, SimpleSubrecord <Byte[]> FemaleWorldModelTextureHashes, AlternateTextures FemaleWorldModelAlternateTextures, SimpleSubrecord <String> FemaleInventoryIcon, SimpleSubrecord <String> FemaleMessageIcon, SimpleSubrecord <EquipmentType> EquipmentType, ArmorData Data, ArmorAddonData ExtraData) { this.EditorID = EditorID; this.ObjectBounds = ObjectBounds; this.BipedData = BipedData; this.MaleBipedModelFileName = MaleBipedModelFileName; this.MaleWorldModelFileName = MaleWorldModelFileName; this.FemaleBipedModelFileName = FemaleBipedModelFileName; this.FemaleWorldModelFileName = FemaleWorldModelFileName; this.EquipmentType = EquipmentType; this.Data = Data; this.ExtraData = ExtraData; }