Example #1
0
 public ArmorAddon()
 {
     EditorID                 = new SimpleSubrecord <String>("EDID");
     ObjectBounds             = new ObjectBounds("OBND");
     BipedData                = new BipedData("BMDT");
     MaleBipedModelFileName   = new SimpleSubrecord <String>("MODL");
     MaleWorldModelFileName   = new SimpleSubrecord <String>("MOD2");
     FemaleBipedModelFileName = new SimpleSubrecord <String>("MOD3");
     FemaleWorldModelFileName = new SimpleSubrecord <String>("MOD4");
     EquipmentType            = new SimpleSubrecord <EquipmentType>("ETYP");
     Data      = new ArmorData("DATA");
     ExtraData = new ArmorAddonData("DNAM");
 }
Example #2
0
 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;
 }
Example #3
0
        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);
            }
        }
Example #4
0
        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();
                }
            }
        }