public DestructionStage(DestructionStageData StageData, SimpleSubrecord <String> ModelFilename, SimpleSubrecord <Byte[]> ModelTextureHash, SubMarker EndMarker) { this.StageData = StageData; this.ModelFilename = ModelFilename; this.ModelTextureHash = ModelTextureHash; this.EndMarker = EndMarker; }
public ReferencePatrolData(SimpleSubrecord <Single> IdleTime, SubMarker ScriptMarker, RecordReference Idle, EmbeddedScript Script, RecordReference Topic) { this.IdleTime = IdleTime; this.ScriptMarker = ScriptMarker; this.Idle = Idle; this.Script = Script; this.Topic = Topic; }
public FaceGenData() { Marker = new SubMarker(); GeometrySymmetric = new SimpleSubrecord <Byte[]>(); GeometryAsymmetric = new SimpleSubrecord <Byte[]>(); TextureSymmetric = new SimpleSubrecord <Byte[]>(); Unknown = new SimpleSubrecord <Byte[]>(); }
public PerkEffect(PerkEffectHeader Header, SimpleSubrecord <Byte[]> EffectData, List <PerkCondition> Conditions, SimpleSubrecord <EntryPointFunctionType> EntryPointFunctionType, SimpleSubrecord <Byte[]> EntryPointFunctionData, SimpleSubrecord <String> ButtonLabel, SimpleSubrecord <NoYesShort> RunImmediately, EmbeddedScript Script, SubMarker EndMarker) { this.Header = Header; this.EffectData = EffectData; this.Conditions = Conditions; this.EntryPointFunctionType = EntryPointFunctionType; this.EntryPointFunctionData = EntryPointFunctionData; this.ButtonLabel = ButtonLabel; this.RunImmediately = RunImmediately; this.Script = Script; this.EndMarker = EndMarker; }
public override void ReadXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("IdleTime", false, out subEle)) { if (IdleTime == null) { IdleTime = new SimpleSubrecord <Single>(); } IdleTime.ReadXML(subEle, master); } if (ele.TryPathTo("ScriptMarker", false, out subEle)) { if (ScriptMarker == null) { ScriptMarker = new SubMarker(); } ScriptMarker.ReadXML(subEle, master); } if (ele.TryPathTo("Idle", false, out subEle)) { if (Idle == null) { Idle = new RecordReference(); } Idle.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new EmbeddedScript(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("Topic", false, out subEle)) { if (Topic == null) { Topic = new RecordReference(); } Topic.ReadXML(subEle, master); } }
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 "NEXT": if (readTags.Contains("NEXT")) { return; } if (EndScriptMarker == null) { EndScriptMarker = new SubMarker(); } EndScriptMarker.ReadBinary(reader); break; case "SCHR": if (readTags.Contains("SCHR")) { return; } if (EmbeddedScript == null) { EmbeddedScript = new EmbeddedScript(); } EmbeddedScript.ReadBinary(reader); break; default: return; } readTags.Add(subTag); } }
public Race() { EditorID = new SimpleSubrecord <String>("EDID"); Description = new SimpleSubrecord <String>("DESC"); Data = new RaceData("DATA"); UnknownMarker = new SubMarker("NAM2"); DefaultVoices = new RaceDefaultVoices("VTCK"); DefaultHairStyles = new RaceDefaultHairStyles("DNAM"); DefaultHairColors = new RaceDefaultHairColors("CNAM"); FaceGenMainClamp = new SimpleSubrecord <Single>("PNAM"); FaceGenFaceClamp = new SimpleSubrecord <Single>("UNAM"); Unknown = new SimpleSubrecord <Byte[]>("ATTR"); HeadData = new RaceHeadData(); BodyData = new RaceBodyData(); Hairs = new FormArray("HNAM"); Eyes = new FormArray("ENAM"); MaleFaceGenData = new FaceGenData(); FemaleFaceGenData = new FaceGenData(); }
public override void ReadXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("StageData", false, out subEle)) { if (StageData == null) { StageData = new DestructionStageData(); } StageData.ReadXML(subEle, master); } if (ele.TryPathTo("ModelFilename", false, out subEle)) { if (ModelFilename == null) { ModelFilename = new SimpleSubrecord <String>(); } ModelFilename.ReadXML(subEle, master); } if (ele.TryPathTo("ModelTextureHash", false, out subEle)) { if (ModelTextureHash == null) { ModelTextureHash = new SimpleSubrecord <Byte[]>(); } ModelTextureHash.ReadXML(subEle, master); } if (ele.TryPathTo("EndMarker", false, out subEle)) { if (EndMarker == null) { EndMarker = new SubMarker(); } EndMarker.ReadXML(subEle, master); } }
public override void ReadXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("EndScriptMarker", false, out subEle)) { if (EndScriptMarker == null) { EndScriptMarker = new SubMarker(); } EndScriptMarker.ReadXML(subEle, master); } if (ele.TryPathTo("EmbeddedScript", false, out subEle)) { if (EmbeddedScript == null) { EmbeddedScript = new EmbeddedScript(); } EmbeddedScript.ReadXML(subEle, master); } }
public Race(SimpleSubrecord <String> EditorID, SimpleSubrecord <String> Name, SimpleSubrecord <String> Description, List <Relationship> Relationships, RaceData Data, RecordReference OlderRace, RecordReference YoungerRace, SubMarker UnknownMarker, RaceDefaultVoices DefaultVoices, RaceDefaultHairStyles DefaultHairStyles, RaceDefaultHairColors DefaultHairColors, SimpleSubrecord <Single> FaceGenMainClamp, SimpleSubrecord <Single> FaceGenFaceClamp, SimpleSubrecord <Byte[]> Unknown, RaceHeadData HeadData, RaceBodyData BodyData, FormArray Hairs, FormArray Eyes, FaceGenData MaleFaceGenData, FaceGenData FemaleFaceGenData) { this.EditorID = EditorID; this.Description = Description; this.Data = Data; this.UnknownMarker = UnknownMarker; this.DefaultVoices = DefaultVoices; this.DefaultHairStyles = DefaultHairStyles; this.DefaultHairColors = DefaultHairColors; this.FaceGenMainClamp = FaceGenMainClamp; this.FaceGenFaceClamp = FaceGenFaceClamp; this.Unknown = Unknown; this.HeadData = HeadData; this.BodyData = BodyData; this.Hairs = Hairs; this.Eyes = Eyes; this.MaleFaceGenData = MaleFaceGenData; this.FemaleFaceGenData = FemaleFaceGenData; }
public GenderHeadData() { Marker = new SubMarker(); }
public PlacedCreature(SimpleSubrecord <String> EditorID, RecordReference Base, RecordReference EncounterZone, SimpleSubrecord <Byte[]> RagdollData, SimpleSubrecord <Byte[]> RagdollBipedData, ReferencePatrolData Patrol, SimpleSubrecord <Int32> LevelModifier, RecordReference Owner, SimpleSubrecord <Int32> FactionRank, RecordReference MerchantContainer, SimpleSubrecord <Int32> Count, SimpleSubrecord <Single> Radius, SimpleSubrecord <Single> Health, List <SimpleSubrecord <Byte[]> > Decals, RecordReference LinkedReference, LinkedReferenceColor LinkedReferenceColor, SimpleSubrecord <NoYesByte> ParentActivateOnly, List <ActivateParent> ActivateParents, SimpleSubrecord <String> ActivationPrompt, EnableParent EnableParent, RecordReference Emittance, RecordReference MultiBound, SubMarker IgnoredBySandbox, SimpleSubrecord <Single> Scale, PositionRotation PositionRotation) { }
public ReferenceAudio() { Marker = new SubMarker(); }
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 "NAME": if (Base == null) { Base = new RecordReference(); } Base.ReadBinary(reader); break; case "XEZN": if (EncounterZone == null) { EncounterZone = new RecordReference(); } EncounterZone.ReadBinary(reader); break; case "XRGD": if (RagdollData == null) { RagdollData = new SimpleSubrecord <Byte[]>(); } RagdollData.ReadBinary(reader); break; case "XRGB": if (RagdollBipedData == null) { RagdollBipedData = new SimpleSubrecord <Byte[]>(); } RagdollBipedData.ReadBinary(reader); break; case "XPRD": if (Patrol == null) { Patrol = new ReferencePatrolData(); } Patrol.ReadBinary(reader); break; case "XLCM": if (LevelModifier == null) { LevelModifier = new SimpleSubrecord <Int32>(); } LevelModifier.ReadBinary(reader); break; case "XOWN": if (Owner == null) { Owner = new RecordReference(); } Owner.ReadBinary(reader); break; case "XRNK": if (FactionRank == null) { FactionRank = new SimpleSubrecord <Int32>(); } FactionRank.ReadBinary(reader); break; case "XMRC": if (MerchantContainer == null) { MerchantContainer = new RecordReference(); } MerchantContainer.ReadBinary(reader); break; case "XCNT": if (Count == null) { Count = new SimpleSubrecord <Int32>(); } Count.ReadBinary(reader); break; case "XRDS": if (Radius == null) { Radius = new SimpleSubrecord <Single>(); } Radius.ReadBinary(reader); break; case "XHLP": if (Health == null) { Health = new SimpleSubrecord <Single>(); } Health.ReadBinary(reader); break; case "XDCR": if (Decals == null) { Decals = new List <SimpleSubrecord <Byte[]> >(); } SimpleSubrecord <Byte[]> tempXDCR = new SimpleSubrecord <Byte[]>(); tempXDCR.ReadBinary(reader); Decals.Add(tempXDCR); break; case "XLKR": if (LinkedReference == null) { LinkedReference = new RecordReference(); } LinkedReference.ReadBinary(reader); break; case "XCLP": if (LinkedReferenceColor == null) { LinkedReferenceColor = new LinkedReferenceColor(); } LinkedReferenceColor.ReadBinary(reader); break; case "XAPD": if (ParentActivateOnly == null) { ParentActivateOnly = new SimpleSubrecord <NoYesByte>(); } ParentActivateOnly.ReadBinary(reader); break; case "XAPR": if (ActivateParents == null) { ActivateParents = new List <ActivateParent>(); } ActivateParent tempXAPR = new ActivateParent(); tempXAPR.ReadBinary(reader); ActivateParents.Add(tempXAPR); break; case "XATO": if (ActivationPrompt == null) { ActivationPrompt = new SimpleSubrecord <String>(); } ActivationPrompt.ReadBinary(reader); break; case "XESP": if (EnableParent == null) { EnableParent = new EnableParent(); } EnableParent.ReadBinary(reader); break; case "XEMI": if (Emittance == null) { Emittance = new RecordReference(); } Emittance.ReadBinary(reader); break; case "XMBR": if (MultiBound == null) { MultiBound = new RecordReference(); } MultiBound.ReadBinary(reader); break; case "XIBS": if (IgnoredBySandbox == null) { IgnoredBySandbox = new SubMarker(); } IgnoredBySandbox.ReadBinary(reader); break; case "XSCL": if (Scale == null) { Scale = new SimpleSubrecord <Single>(); } Scale.ReadBinary(reader); break; case "DATA": if (PositionRotation == null) { PositionRotation = new PositionRotation(); } PositionRotation.ReadBinary(reader); break; default: throw new Exception(); } } }
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("Base", false, out subEle)) { if (Base == null) { Base = new RecordReference(); } Base.ReadXML(subEle, master); } if (ele.TryPathTo("EncounterZone", false, out subEle)) { if (EncounterZone == null) { EncounterZone = new RecordReference(); } EncounterZone.ReadXML(subEle, master); } if (ele.TryPathTo("RagdollData", false, out subEle)) { if (RagdollData == null) { RagdollData = new SimpleSubrecord <Byte[]>(); } RagdollData.ReadXML(subEle, master); } if (ele.TryPathTo("RagdollBipedData", false, out subEle)) { if (RagdollBipedData == null) { RagdollBipedData = new SimpleSubrecord <Byte[]>(); } RagdollBipedData.ReadXML(subEle, master); } if (ele.TryPathTo("Patrol", false, out subEle)) { if (Patrol == null) { Patrol = new ReferencePatrolData(); } Patrol.ReadXML(subEle, master); } if (ele.TryPathTo("LevelModifier", false, out subEle)) { if (LevelModifier == null) { LevelModifier = new SimpleSubrecord <Int32>(); } LevelModifier.ReadXML(subEle, master); } if (ele.TryPathTo("Owner", false, out subEle)) { if (Owner == null) { Owner = new RecordReference(); } Owner.ReadXML(subEle, master); } if (ele.TryPathTo("FactionRank", false, out subEle)) { if (FactionRank == null) { FactionRank = new SimpleSubrecord <Int32>(); } FactionRank.ReadXML(subEle, master); } if (ele.TryPathTo("MerchantContainer", false, out subEle)) { if (MerchantContainer == null) { MerchantContainer = new RecordReference(); } MerchantContainer.ReadXML(subEle, master); } if (ele.TryPathTo("Count", false, out subEle)) { if (Count == null) { Count = new SimpleSubrecord <Int32>(); } Count.ReadXML(subEle, master); } if (ele.TryPathTo("Radius", false, out subEle)) { if (Radius == null) { Radius = new SimpleSubrecord <Single>(); } Radius.ReadXML(subEle, master); } if (ele.TryPathTo("Health", false, out subEle)) { if (Health == null) { Health = new SimpleSubrecord <Single>(); } Health.ReadXML(subEle, master); } if (ele.TryPathTo("Decals", false, out subEle)) { if (Decals == null) { Decals = new List <SimpleSubrecord <Byte[]> >(); } foreach (XElement e in subEle.Elements()) { SimpleSubrecord <Byte[]> tempXDCR = new SimpleSubrecord <Byte[]>(); tempXDCR.ReadXML(e, master); Decals.Add(tempXDCR); } } if (ele.TryPathTo("LinkedReference", false, out subEle)) { if (LinkedReference == null) { LinkedReference = new RecordReference(); } LinkedReference.ReadXML(subEle, master); } if (ele.TryPathTo("LinkedReferenceColor", false, out subEle)) { if (LinkedReferenceColor == null) { LinkedReferenceColor = new LinkedReferenceColor(); } LinkedReferenceColor.ReadXML(subEle, master); } if (ele.TryPathTo("ParentActivateOnly", false, out subEle)) { if (ParentActivateOnly == null) { ParentActivateOnly = new SimpleSubrecord <NoYesByte>(); } ParentActivateOnly.ReadXML(subEle, master); } if (ele.TryPathTo("ActivateParents", false, out subEle)) { if (ActivateParents == null) { ActivateParents = new List <ActivateParent>(); } foreach (XElement e in subEle.Elements()) { ActivateParent tempXAPR = new ActivateParent(); tempXAPR.ReadXML(e, master); ActivateParents.Add(tempXAPR); } } if (ele.TryPathTo("ActivationPrompt", false, out subEle)) { if (ActivationPrompt == null) { ActivationPrompt = new SimpleSubrecord <String>(); } ActivationPrompt.ReadXML(subEle, master); } if (ele.TryPathTo("EnableParent", false, out subEle)) { if (EnableParent == null) { EnableParent = new EnableParent(); } EnableParent.ReadXML(subEle, master); } if (ele.TryPathTo("Emittance", false, out subEle)) { if (Emittance == null) { Emittance = new RecordReference(); } Emittance.ReadXML(subEle, master); } if (ele.TryPathTo("MultiBound", false, out subEle)) { if (MultiBound == null) { MultiBound = new RecordReference(); } MultiBound.ReadXML(subEle, master); } if (ele.TryPathTo("IgnoredBySandbox", false, out subEle)) { if (IgnoredBySandbox == null) { IgnoredBySandbox = new SubMarker(); } IgnoredBySandbox.ReadXML(subEle, master); } if (ele.TryPathTo("Scale", false, out subEle)) { if (Scale == null) { Scale = new SimpleSubrecord <Single>(); } Scale.ReadXML(subEle, master); } if (ele.TryPathTo("PositionRotation", false, out subEle)) { if (PositionRotation == null) { PositionRotation = new PositionRotation(); } PositionRotation.ReadXML(subEle, master); } }
public DialogEndScript(SubMarker EndScriptMarker, EmbeddedScript EmbeddedScript) { this.EndScriptMarker = EndScriptMarker; this.EmbeddedScript = EmbeddedScript; }
public Package(SimpleSubrecord <String> EditorID, PackageData Data, PackageLocation Location1, PackageLocation Location2, PackageScheduleData Schedule, PackageTarget Target1, List <Condition> Conditions, SimpleSubrecord <PackageIdleFlags> IdleFlags, SimpleSubrecord <Byte> IdleCount, SimpleSubrecord <Single> IdleTimerSetting, FormArray IdleAnimations, SimpleSubrecord <Byte[]> Unused, RecordReference CombatStyle, SubMarker EatMarker, SimpleSubrecord <UInt32> EscortDistance, SimpleSubrecord <UInt32> FollowDistance_StartLocation_TriggerRadius, SimpleSubrecord <NoYesByte> PatrolIsRepeatable, PackageUseWeaponData UseWeaponData, PackageTarget Target2, SubMarker UseItemMarker, SubMarker AmbushMarker, PackageDialogData DialogData, PackageLocation DummyIgnore, PackageEvent OnBegin, PackageEvent OnEnd, PackageEvent OnChange) { this.EditorID = EditorID; this.Data = Data; this.Schedule = Schedule; }
public override void ReadXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("Header", false, out subEle)) { if (Header == null) { Header = new PerkEffectHeader(); } Header.ReadXML(subEle, master); } if (ele.TryPathTo("EffectData", false, out subEle)) { switch (Header.Type) { case PerkType.QuestStage: EffectData = new PerkQuestStageData(); break; case PerkType.Ability: EffectData = new PerkAbilityData(); break; case PerkType.EntryPoint: EffectData = new PerkEntryPointData(); break; } EffectData.ReadXML(subEle, master); } if (ele.TryPathTo("Conditions", false, out subEle)) { if (Conditions == null) { Conditions = new List <PerkCondition>(); } foreach (XElement e in subEle.Elements()) { PerkCondition temp = new PerkCondition(); temp.ReadXML(e, master); Conditions.Add(temp); } } if (ele.TryPathTo("EntryPoint/FunctionType", false, out subEle)) { if (EntryPointFunctionType == null) { EntryPointFunctionType = new SimpleSubrecord <EntryPointFunctionType>(); } EntryPointFunctionType.ReadXML(subEle, master); } if (ele.TryPathTo("EntryPoint/FunctionData", false, out subEle)) { switch (EntryPointFunctionType.Value) { case Enums.EntryPointFunctionType.None: EntryPointFunctionData = new SimpleSubrecord <byte[]>(); break; case Enums.EntryPointFunctionType.Float: EntryPointFunctionData = new SimpleSubrecord <float>(); break; case Enums.EntryPointFunctionType.FloatFloat: EntryPointFunctionData = new EntryPointRandRange(); break; case Enums.EntryPointFunctionType.LeveledItem: EntryPointFunctionData = new RecordReference(); break; case Enums.EntryPointFunctionType.Script: EntryPointFunctionData = new SimpleSubrecord <byte[]>(); break; case Enums.EntryPointFunctionType.ActorValueMult: EntryPointFunctionData = new EntryPointActorValMult(); break; } EntryPointFunctionData.ReadXML(subEle, master); } if (ele.TryPathTo("ButtonLabel", false, out subEle)) { if (ButtonLabel == null) { ButtonLabel = new SimpleSubrecord <String>(); } ButtonLabel.ReadXML(subEle, master); } if (ele.TryPathTo("RunImmediately", false, out subEle)) { if (RunImmediately == null) { RunImmediately = new SimpleSubrecord <NoYesShort>(); } RunImmediately.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new EmbeddedScript(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("EndMarker", false, out subEle)) { if (EndMarker == null) { EndMarker = new SubMarker(); } EndMarker.ReadXML(subEle, master); } }
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 "XPRD": if (readTags.Contains("XPRD")) { return; } IdleTime.ReadBinary(reader); break; case "XPPA": if (readTags.Contains("XPPA")) { return; } if (ScriptMarker == null) { ScriptMarker = new SubMarker(); } ScriptMarker.ReadBinary(reader); break; case "INAM": if (readTags.Contains("INAM")) { return; } if (Idle == null) { Idle = new RecordReference(); } Idle.ReadBinary(reader); break; case "SCHR": if (readTags.Contains("SCHR")) { return; } if (Script == null) { Script = new EmbeddedScript(); } Script.ReadBinary(reader); break; case "TNAM": if (readTags.Contains("TNAM")) { return; } if (Topic == null) { Topic = new RecordReference(); } Topic.ReadBinary(reader); break; default: return; } readTags.Add(subTag); } }
public RaceHeadData() { Marker = new SubMarker(); Male = new GenderHeadData(); Female = new GenderHeadData(); }
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("Data", false, out subEle)) { if (Data == null) { Data = new PackageData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("Location1", false, out subEle)) { if (Location1 == null) { Location1 = new PackageLocation(); } Location1.ReadXML(subEle, master); } if (ele.TryPathTo("Location2", false, out subEle)) { if (Location2 == null) { Location2 = new PackageLocation(); } Location2.ReadXML(subEle, master); } if (ele.TryPathTo("Schedule", false, out subEle)) { if (Schedule == null) { Schedule = new PackageScheduleData(); } Schedule.ReadXML(subEle, master); } if (ele.TryPathTo("Target1", false, out subEle)) { if (Target1 == null) { Target1 = new PackageTarget(); } Target1.ReadXML(subEle, master); } if (ele.TryPathTo("Conditions", false, out subEle)) { if (Conditions == null) { Conditions = new List <Condition>(); } foreach (XElement e in subEle.Elements()) { Condition tempCTDA = new Condition(); tempCTDA.ReadXML(e, master); Conditions.Add(tempCTDA); } } if (ele.TryPathTo("Idle/Flags", false, out subEle)) { if (IdleFlags == null) { IdleFlags = new SimpleSubrecord <PackageIdleFlags>(); } IdleFlags.ReadXML(subEle, master); } if (ele.TryPathTo("Idle/Count", false, out subEle)) { if (IdleCount == null) { IdleCount = new SimpleSubrecord <Byte>(); } IdleCount.ReadXML(subEle, master); } if (ele.TryPathTo("Idle/TimerSetting", false, out subEle)) { if (IdleTimerSetting == null) { IdleTimerSetting = new SimpleSubrecord <Single>(); } IdleTimerSetting.ReadXML(subEle, master); } if (ele.TryPathTo("Idle/Animations", false, out subEle)) { if (IdleAnimations == null) { IdleAnimations = new FormArray(); } IdleAnimations.ReadXML(subEle, master); } if (ele.TryPathTo("Unused", false, out subEle)) { if (Unused == null) { Unused = new SimpleSubrecord <Byte[]>(); } Unused.ReadXML(subEle, master); } if (ele.TryPathTo("CombatStyle", false, out subEle)) { if (CombatStyle == null) { CombatStyle = new RecordReference(); } CombatStyle.ReadXML(subEle, master); } if (ele.TryPathTo("EatMarker", false, out subEle)) { if (EatMarker == null) { EatMarker = new SubMarker(); } EatMarker.ReadXML(subEle, master); } if (ele.TryPathTo("EscortDistance", false, out subEle)) { if (EscortDistance == null) { EscortDistance = new SimpleSubrecord <UInt32>(); } EscortDistance.ReadXML(subEle, master); } if (ele.TryPathTo("FollowDistance_StartLocation_TriggerRadius", false, out subEle)) { if (FollowDistance_StartLocation_TriggerRadius == null) { FollowDistance_StartLocation_TriggerRadius = new SimpleSubrecord <UInt32>(); } FollowDistance_StartLocation_TriggerRadius.ReadXML(subEle, master); } if (ele.TryPathTo("PatrolIsRepeatable", false, out subEle)) { if (PatrolIsRepeatable == null) { PatrolIsRepeatable = new SimpleSubrecord <NoYesByte>(); } PatrolIsRepeatable.ReadXML(subEle, master); } if (ele.TryPathTo("UseWeaponData", false, out subEle)) { if (UseWeaponData == null) { UseWeaponData = new PackageUseWeaponData(); } UseWeaponData.ReadXML(subEle, master); } if (ele.TryPathTo("Target2", false, out subEle)) { if (Target2 == null) { Target2 = new PackageTarget(); } Target2.ReadXML(subEle, master); } if (ele.TryPathTo("UseItemMarker", false, out subEle)) { if (UseItemMarker == null) { UseItemMarker = new SubMarker(); } UseItemMarker.ReadXML(subEle, master); } if (ele.TryPathTo("AmbushMarker", false, out subEle)) { if (AmbushMarker == null) { AmbushMarker = new SubMarker(); } AmbushMarker.ReadXML(subEle, master); } if (ele.TryPathTo("DialogData", false, out subEle)) { if (DialogData == null) { DialogData = new PackageDialogData(); } DialogData.ReadXML(subEle, master); } if (ele.TryPathTo("DummyIgnore", false, out subEle)) { if (DummyIgnore == null) { DummyIgnore = new PackageLocation(); } DummyIgnore.ReadXML(subEle, master); } if (ele.TryPathTo("OnBegin", false, out subEle)) { if (OnBegin == null) { OnBegin = new PackageEvent(); } OnBegin.ReadXML(subEle, master); } if (ele.TryPathTo("OnEnd", false, out subEle)) { if (OnEnd == null) { OnEnd = new PackageEvent(); } OnEnd.ReadXML(subEle, master); } if (ele.TryPathTo("OnChange", false, out subEle)) { if (OnChange == null) { OnChange = new PackageEvent(); } OnChange.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 "PKDT": if (Data == null) { Data = new PackageData(); } Data.ReadBinary(reader); break; case "PLDT": if (Location1 == null) { Location1 = new PackageLocation(); } Location1.ReadBinary(reader); break; case "PLD2": if (Location2 == null) { Location2 = new PackageLocation(); } Location2.ReadBinary(reader); break; case "PSDT": if (Schedule == null) { Schedule = new PackageScheduleData(); } Schedule.ReadBinary(reader); break; case "PTDT": if (Target1 == null) { Target1 = new PackageTarget(); } Target1.ReadBinary(reader); break; case "CTDA": if (Conditions == null) { Conditions = new List <Condition>(); } Condition tempCTDA = new Condition(); tempCTDA.ReadBinary(reader); Conditions.Add(tempCTDA); break; case "IDLF": if (IdleFlags == null) { IdleFlags = new SimpleSubrecord <PackageIdleFlags>(); } IdleFlags.ReadBinary(reader); break; case "IDLC": if (IdleCount == null) { IdleCount = new SimpleSubrecord <Byte>(); } IdleCount.ReadBinary(reader); break; case "IDLT": if (IdleTimerSetting == null) { IdleTimerSetting = new SimpleSubrecord <Single>(); } IdleTimerSetting.ReadBinary(reader); break; case "IDLA": if (IdleAnimations == null) { IdleAnimations = new FormArray(); } IdleAnimations.ReadBinary(reader); break; case "IDLB": if (Unused == null) { Unused = new SimpleSubrecord <Byte[]>(); } Unused.ReadBinary(reader); break; case "CNAM": if (CombatStyle == null) { CombatStyle = new RecordReference(); } CombatStyle.ReadBinary(reader); break; case "PKED": if (EatMarker == null) { EatMarker = new SubMarker(); } EatMarker.ReadBinary(reader); break; case "PKE2": if (EscortDistance == null) { EscortDistance = new SimpleSubrecord <UInt32>(); } EscortDistance.ReadBinary(reader); break; case "PKFD": if (FollowDistance_StartLocation_TriggerRadius == null) { FollowDistance_StartLocation_TriggerRadius = new SimpleSubrecord <UInt32>(); } FollowDistance_StartLocation_TriggerRadius.ReadBinary(reader); break; case "PKPT": if (PatrolIsRepeatable == null) { PatrolIsRepeatable = new SimpleSubrecord <NoYesByte>(); } PatrolIsRepeatable.ReadBinary(reader); break; case "PKW3": if (UseWeaponData == null) { UseWeaponData = new PackageUseWeaponData(); } UseWeaponData.ReadBinary(reader); break; case "PTD2": if (Target2 == null) { Target2 = new PackageTarget(); } Target2.ReadBinary(reader); break; case "PUID": if (UseItemMarker == null) { UseItemMarker = new SubMarker(); } UseItemMarker.ReadBinary(reader); break; case "PKAM": if (AmbushMarker == null) { AmbushMarker = new SubMarker(); } AmbushMarker.ReadBinary(reader); break; case "PKDD": if (DialogData == null) { DialogData = new PackageDialogData(); } DialogData.ReadBinary(reader); break; case "DUMY": if (DummyIgnore == null) { DummyIgnore = new PackageLocation(); } DummyIgnore.ReadBinary(reader); break; case "POBA": if (OnBegin == null) { OnBegin = new PackageEvent(); } OnBegin.ReadBinary(reader); break; case "POEA": if (OnEnd == null) { OnEnd = new PackageEvent(); } OnEnd.ReadBinary(reader); break; case "POCA": if (OnChange == null) { OnChange = new PackageEvent(); } OnChange.ReadBinary(reader); break; default: throw new Exception(); } } }
public PackageEvent() { Marker = new SubMarker(); }
public MapMarker() { Marker = new SubMarker(); Name = new SimpleSubrecord <String>(); Data = new MapMarkerData(); }
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("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Description", false, out subEle)) { if (Description == null) { Description = new SimpleSubrecord <String>(); } Description.ReadXML(subEle, master); } if (ele.TryPathTo("Relationships", false, out subEle)) { if (Relationships == null) { Relationships = new List <Relationship>(); } foreach (XElement e in subEle.Elements()) { Relationship tempXNAM = new Relationship(); tempXNAM.ReadXML(e, master); Relationships.Add(tempXNAM); } } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new RaceData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("Race/Older", false, out subEle)) { if (OlderRace == null) { OlderRace = new RecordReference(); } OlderRace.ReadXML(subEle, master); } if (ele.TryPathTo("Race/Younger", false, out subEle)) { if (YoungerRace == null) { YoungerRace = new RecordReference(); } YoungerRace.ReadXML(subEle, master); } if (ele.TryPathTo("UnknownMarker", false, out subEle)) { if (UnknownMarker == null) { UnknownMarker = new SubMarker(); } UnknownMarker.ReadXML(subEle, master); } if (ele.TryPathTo("Defaults/Voices", false, out subEle)) { if (DefaultVoices == null) { DefaultVoices = new RaceDefaultVoices(); } DefaultVoices.ReadXML(subEle, master); } if (ele.TryPathTo("Defaults/HairStyles", false, out subEle)) { if (DefaultHairStyles == null) { DefaultHairStyles = new RaceDefaultHairStyles(); } DefaultHairStyles.ReadXML(subEle, master); } if (ele.TryPathTo("Defaults/HairColors", false, out subEle)) { if (DefaultHairColors == null) { DefaultHairColors = new RaceDefaultHairColors(); } DefaultHairColors.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Clamps/Main", false, out subEle)) { if (FaceGenMainClamp == null) { FaceGenMainClamp = new SimpleSubrecord <Single>(); } FaceGenMainClamp.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Clamps/Face", false, out subEle)) { if (FaceGenFaceClamp == null) { FaceGenFaceClamp = new SimpleSubrecord <Single>(); } FaceGenFaceClamp.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte[]>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("HeadData", false, out subEle)) { if (HeadData == null) { HeadData = new RaceHeadData(); } HeadData.ReadXML(subEle, master); } if (ele.TryPathTo("BodyData", false, out subEle)) { if (BodyData == null) { BodyData = new RaceBodyData(); } BodyData.ReadXML(subEle, master); } if (ele.TryPathTo("Hairs", false, out subEle)) { if (Hairs == null) { Hairs = new FormArray(); } Hairs.ReadXML(subEle, master); } if (ele.TryPathTo("Eyes", false, out subEle)) { if (Eyes == null) { Eyes = new FormArray(); } Eyes.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Male", false, out subEle)) { if (MaleFaceGenData == null) { MaleFaceGenData = new FaceGenData(); } MaleFaceGenData.ReadXML(subEle, master); } if (ele.TryPathTo("FaceGen/Female", false, out subEle)) { if (FemaleFaceGenData == null) { FemaleFaceGenData = new FaceGenData(); } FemaleFaceGenData.ReadXML(subEle, master); } }
public RaceBodyData() { Marker = new SubMarker(); Male = new GenderBodyData(); Female = new GenderBodyData(); }
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 "PRKE": if (readTags.Contains("PRKE")) { return; } Header.ReadBinary(reader); break; case "DATA": if (readTags.Contains("DATA")) { return; } switch (Header.Type) { case PerkType.QuestStage: EffectData = new PerkQuestStageData(); break; case PerkType.Ability: EffectData = new PerkAbilityData(); break; case PerkType.EntryPoint: EffectData = new PerkEntryPointData(); break; } EffectData.ReadBinary(reader); break; case "PRKC": if (Conditions == null) { Conditions = new List <PerkCondition>(); } PerkCondition tempPRKC = new PerkCondition(); tempPRKC.ReadBinary(reader); Conditions.Add(tempPRKC); break; case "EPFT": if (readTags.Contains("EPFT")) { return; } if (EntryPointFunctionType == null) { EntryPointFunctionType = new SimpleSubrecord <EntryPointFunctionType>(); } EntryPointFunctionType.ReadBinary(reader); break; case "EPFD": if (readTags.Contains("EPFD")) { return; } switch (EntryPointFunctionType.Value) { case Enums.EntryPointFunctionType.None: EntryPointFunctionData = new SimpleSubrecord <byte[]>(); break; case Enums.EntryPointFunctionType.Float: EntryPointFunctionData = new SimpleSubrecord <float>(); break; case Enums.EntryPointFunctionType.FloatFloat: EntryPointFunctionData = new EntryPointRandRange(); break; case Enums.EntryPointFunctionType.LeveledItem: EntryPointFunctionData = new RecordReference(); break; case Enums.EntryPointFunctionType.Script: EntryPointFunctionData = new SimpleSubrecord <byte[]>(); break; case Enums.EntryPointFunctionType.ActorValueMult: EntryPointFunctionData = new EntryPointActorValMult(); break; } EntryPointFunctionData.ReadBinary(reader); break; case "EPF2": if (readTags.Contains("EPF2")) { return; } if (ButtonLabel == null) { ButtonLabel = new SimpleSubrecord <String>(); } ButtonLabel.ReadBinary(reader); break; case "EPF3": if (readTags.Contains("EPF3")) { return; } if (RunImmediately == null) { RunImmediately = new SimpleSubrecord <NoYesShort>(); } RunImmediately.ReadBinary(reader); break; case "SCHR": if (readTags.Contains("SCHR")) { return; } if (Script == null) { Script = new EmbeddedScript(); } Script.ReadBinary(reader); break; case "PRKF": if (readTags.Contains("PRKF")) { return; } if (EndMarker == null) { EndMarker = new SubMarker(); } EndMarker.ReadBinary(reader); break; default: return; } readTags.Add(subTag); } }
public GenderBodyData() { Marker = new SubMarker(); }
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 "DSTD": if (readTags.Contains("DSTD")) { return; } StageData.ReadBinary(reader); break; case "DMDL": if (readTags.Contains("DMDL")) { return; } if (ModelFilename == null) { ModelFilename = new SimpleSubrecord <String>(); } ModelFilename.ReadBinary(reader); break; case "DMDT": if (readTags.Contains("DMDT")) { return; } if (ModelTextureHash == null) { ModelTextureHash = new SimpleSubrecord <Byte[]>(); } ModelTextureHash.ReadBinary(reader); break; case "DSTF": if (readTags.Contains("DSTF")) { return; } if (EndMarker == null) { EndMarker = new SubMarker(); } EndMarker.ReadBinary(reader); break; default: return; } readTags.Add(subTag); } }
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 "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "DESC": if (Description == null) { Description = new SimpleSubrecord <String>(); } Description.ReadBinary(reader); break; case "XNAM": if (Relationships == null) { Relationships = new List <Relationship>(); } Relationship tempXNAM = new Relationship(); tempXNAM.ReadBinary(reader); Relationships.Add(tempXNAM); break; case "DATA": if (Data == null) { Data = new RaceData(); } Data.ReadBinary(reader); break; case "ONAM": if (OlderRace == null) { OlderRace = new RecordReference(); } OlderRace.ReadBinary(reader); break; case "YNAM": if (YoungerRace == null) { YoungerRace = new RecordReference(); } YoungerRace.ReadBinary(reader); break; case "NAM2": if (UnknownMarker == null) { UnknownMarker = new SubMarker(); } UnknownMarker.ReadBinary(reader); break; case "VTCK": if (DefaultVoices == null) { DefaultVoices = new RaceDefaultVoices(); } DefaultVoices.ReadBinary(reader); break; case "DNAM": if (DefaultHairStyles == null) { DefaultHairStyles = new RaceDefaultHairStyles(); } DefaultHairStyles.ReadBinary(reader); break; case "CNAM": if (DefaultHairColors == null) { DefaultHairColors = new RaceDefaultHairColors(); } DefaultHairColors.ReadBinary(reader); break; case "PNAM": if (FaceGenMainClamp == null) { FaceGenMainClamp = new SimpleSubrecord <Single>(); } FaceGenMainClamp.ReadBinary(reader); break; case "UNAM": if (FaceGenFaceClamp == null) { FaceGenFaceClamp = new SimpleSubrecord <Single>(); } FaceGenFaceClamp.ReadBinary(reader); break; case "ATTR": if (Unknown == null) { Unknown = new SimpleSubrecord <Byte[]>(); } Unknown.ReadBinary(reader); break; case "NAM0": if (HeadData == null) { HeadData = new RaceHeadData(); } HeadData.ReadBinary(reader); break; case "NAM1": if (BodyData == null) { BodyData = new RaceBodyData(); } BodyData.ReadBinary(reader); break; case "HNAM": if (Hairs == null) { Hairs = new FormArray(); } Hairs.ReadBinary(reader); break; case "ENAM": if (Eyes == null) { Eyes = new FormArray(); } Eyes.ReadBinary(reader); break; case "MNAM": if (MaleFaceGenData == null) { MaleFaceGenData = new FaceGenData(); } MaleFaceGenData.ReadBinary(reader); break; case "FNAM": if (FemaleFaceGenData == null) { FemaleFaceGenData = new FaceGenData(); } FemaleFaceGenData.ReadBinary(reader); break; default: throw new Exception(); } } }