Skip to content

Commit

Permalink
Starfield CONT parsed
Browse files Browse the repository at this point in the history
  • Loading branch information
Noggog committed Nov 13, 2023
1 parent 6880473 commit ce2fde0
Show file tree
Hide file tree
Showing 18 changed files with 6,608 additions and 129 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Activator
- Armor
- Book
- Container
- LeveledItem
- MagicEffect
- MiscItem
Expand All @@ -20,6 +21,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Activator
- Armor
- Book
- Container
- KeywordFormComponent
- MagicEffect
- MiscItem
Expand All @@ -37,6 +39,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- AnimatedObject
- BodyData
- Book
- Container
- DestructionStage
- HeadPart
- LegendaryItem
Expand All @@ -55,6 +58,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- BipedObjectData
- Book
- Class
- Container
- DamageType
- FaceMorphPhenotype
- FaceMorphPhenotypeItem
Expand Down Expand Up @@ -103,6 +107,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- AudioOcclusionPrimitive
- BendableSpline
- Book
- Container
- LegendaryItem
- LeveledItem
- MiscItem
Expand All @@ -121,6 +126,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Activator
- Armor
- Book
- Container
- LeveledItem
- MagicEffect
- MiscItem
Expand Down Expand Up @@ -167,6 +173,13 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- IWeightValue
### Class
- INamed
### Container
- IHaveVirtualMachineAdapter
- IKeyworded
- IModeled
- INamed
- IObjectBounded
- IScripted
### DamageType
- INamed
### DestructionStage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public StarfieldAspectInterfaceMapping()
Activator_Registration.Instance,
Armor_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
LeveledItem_Registration.Instance,
MagicEffect_Registration.Instance,
MiscItem_Registration.Instance,
Expand All @@ -43,6 +44,7 @@ public StarfieldAspectInterfaceMapping()
Activator_Registration.Instance,
Armor_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
KeywordFormComponent_Registration.Instance,
MagicEffect_Registration.Instance,
MiscItem_Registration.Instance,
Expand All @@ -63,6 +65,7 @@ public StarfieldAspectInterfaceMapping()
AnimatedObject_Registration.Instance,
BodyData_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
DestructionStage_Registration.Instance,
HeadPart_Registration.Instance,
LegendaryItem_Registration.Instance,
Expand All @@ -82,6 +85,7 @@ public StarfieldAspectInterfaceMapping()
Armor_Registration.Instance,
Book_Registration.Instance,
Class_Registration.Instance,
Container_Registration.Instance,
DamageType_Registration.Instance,
FaceMorphPhenotype_Registration.Instance,
FaceMorphPhenotypeItem_Registration.Instance,
Expand Down Expand Up @@ -118,6 +122,7 @@ public StarfieldAspectInterfaceMapping()
BipedObjectData_Registration.Instance,
Book_Registration.Instance,
Class_Registration.Instance,
Container_Registration.Instance,
DamageType_Registration.Instance,
FaceMorphPhenotype_Registration.Instance,
FaceMorphPhenotypeItem_Registration.Instance,
Expand Down Expand Up @@ -168,6 +173,7 @@ public StarfieldAspectInterfaceMapping()
Armor_Registration.Instance,
Book_Registration.Instance,
Class_Registration.Instance,
Container_Registration.Instance,
DamageType_Registration.Instance,
FaceMorphPhenotype_Registration.Instance,
FaceMorphPhenotypeItem_Registration.Instance,
Expand Down Expand Up @@ -197,6 +203,7 @@ public StarfieldAspectInterfaceMapping()
Armor_Registration.Instance,
Book_Registration.Instance,
Class_Registration.Instance,
Container_Registration.Instance,
DamageType_Registration.Instance,
FaceMorphPhenotype_Registration.Instance,
FaceMorphPhenotypeItem_Registration.Instance,
Expand Down Expand Up @@ -226,6 +233,7 @@ public StarfieldAspectInterfaceMapping()
Armor_Registration.Instance,
AudioOcclusionPrimitive_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
LeveledItem_Registration.Instance,
MiscItem_Registration.Instance,
ObjectEffect_Registration.Instance,
Expand Down Expand Up @@ -255,6 +263,7 @@ public StarfieldAspectInterfaceMapping()
Activator_Registration.Instance,
Armor_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
LeveledItem_Registration.Instance,
MagicEffect_Registration.Instance,
MiscItem_Registration.Instance,
Expand Down
15 changes: 12 additions & 3 deletions Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2050,6 +2050,9 @@
<Compile Include="Records\Major Records\ConstructibleObject.cs">
<DependentUpon>ConstructibleObject.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\Container.cs">
<DependentUpon>Container.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\CreateReferenceToObject.cs">
<DependentUpon>Quest.xml</DependentUpon>
</Compile>
Expand Down Expand Up @@ -5349,9 +5352,6 @@
<Compile Include="Records\Major Records\MorphableObject_Generated.cs">
<DependentUpon>MorphableObject.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\ArmorCategoryValue_Generated.cs">
<DependentUpon>Armor.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\BookTeachTarget_Generated.cs">
<DependentUpon>Book.xml</DependentUpon>
</Compile>
Expand All @@ -5367,5 +5367,14 @@
<Compile Include="Records\Major Records\BookTeachesNothing_Generated.cs">
<DependentUpon>Book.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\ArmorCategoryValue_Generated.cs">
<DependentUpon>Armor.xml</DependentUpon>
</Compile>
<Compile Include="Records\Common Subrecords\DisplayCaseComponent_Generated.cs">
<DependentUpon>Component.xml</DependentUpon>
</Compile>
<Compile Include="Records\Common Subrecords\DisplayCaseComponentItem_Generated.cs">
<DependentUpon>Component.xml</DependentUpon>
</Compile>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public enum ComponentType
ParticleSystem_Component,
BGSLodOwner_Component,
BGSSoundTag_Component,
BGSDisplayCase,
}

public static bool TryCreateFromBinary(
Expand Down Expand Up @@ -91,6 +92,8 @@ public static AComponent CreateFromBinary(
return LodOwnerComponent.CreateFromBinary(frame, translationParams);
case ComponentType.BGSSoundTag_Component:
return SoundTagComponent.CreateFromBinary(frame, translationParams);
case ComponentType.BGSDisplayCase:
return DisplayCaseComponent.CreateFromBinary(frame, translationParams);
default:
throw new NotImplementedException();
}
Expand Down Expand Up @@ -153,6 +156,7 @@ public static partial void WriteBinaryBFCBStringCustom(
IParticleSystemComponentGetter _ => AComponent.ComponentType.ParticleSystem_Component,
ILodOwnerComponentGetter _ => AComponent.ComponentType.BGSLodOwner_Component,
ISoundTagComponentGetter _ => AComponent.ComponentType.BGSSoundTag_Component,
IDisplayCaseComponentGetter _ => AComponent.ComponentType.BGSDisplayCase,
_ => throw new NotImplementedException()
};

Expand Down Expand Up @@ -211,6 +215,8 @@ public static IAComponentGetter AComponentFactory(
return LodOwnerComponentBinaryOverlay.LodOwnerComponentFactory(stream, package);
case AComponent.ComponentType.BGSSoundTag_Component:
return SoundTagComponentBinaryOverlay.SoundTagComponentFactory(stream, package);
case AComponent.ComponentType.BGSDisplayCase:
return DisplayCaseComponentBinaryOverlay.DisplayCaseComponentFactory(stream, package);
default:
throw new NotImplementedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ namespace Mutagen.Bethesda.Starfield
{
#region Class
/// <summary>
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent]
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent, DisplayCaseComponent]
/// </summary>
public abstract partial class AComponent :
IAComponent,
Expand Down Expand Up @@ -360,7 +360,7 @@ internal static AComponent GetNew()

#region Interface
/// <summary>
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent]
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent, DisplayCaseComponent]
/// </summary>
public partial interface IAComponent :
IAComponentGetter,
Expand All @@ -371,7 +371,7 @@ public partial interface IAComponent :
}

/// <summary>
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent]
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent, DisplayCaseComponent]
/// </summary>
public partial interface IAComponentGetter :
ILoquiObject,
Expand Down
16 changes: 16 additions & 0 deletions Mutagen.Bethesda.Starfield/Records/Common Subrecords/Component.xml
Original file line number Diff line number Diff line change
Expand Up @@ -133,4 +133,20 @@
<FormLink name="AnimationSound" refName="AnimationSoundTagSet" recordType="STCP" />
</Fields>
</Object>
<Object name="DisplayCaseComponent" objType="Subrecord" baseClass="AComponent">
<Fields>
<RefList name="Items" recordType="DCSD" refName="DisplayCaseComponentItem" />
<List name="DCED" recordType="DCED" >
<UInt32 />
</List>
</Fields>
</Object>
<Object name="DisplayCaseComponentItem" objType="Subrecord" >
<Fields>
<FormLink name="DisplayFilter" refName="FormList" />
<UInt32 name="Unknown1" />
<UInt32 name="Index" />
<UInt32 name="Unknown2" />
</Fields>
</Object>
</Loqui>
Loading

0 comments on commit ce2fde0

Please sign in to comment.