Skip to content

Commit

Permalink
Starfield FURN
Browse files Browse the repository at this point in the history
  • Loading branch information
Noggog committed Jan 3, 2024
1 parent 4aa25fe commit 7be7ee3
Show file tree
Hide file tree
Showing 25 changed files with 10,421 additions and 645 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Book
- Container
- DialogResponses
- Furniture
- GenericBaseForm
- LeveledItem
- MagicEffect
Expand Down Expand Up @@ -40,6 +41,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Armor
- Book
- Container
- Furniture
- Ingestible
- InstanceNamingRule
- KeywordFormComponent
Expand Down Expand Up @@ -68,6 +70,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- ContainerModification
- DestructionStage
- FloraModification
- Furniture
- HeadPart
- Ingestible
- LegendaryItem
Expand Down Expand Up @@ -111,6 +114,8 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- FloraModification
- FormList
- FullNameComponent
- Furniture
- FurnitureMarkerFile
- FxSceneAction
- HeadPart
- Ingestible
Expand Down Expand Up @@ -183,6 +188,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- BendableSpline
- Book
- Container
- Furniture
- GenericBaseForm
- Ingestible
- LegendaryItem
Expand Down Expand Up @@ -220,6 +226,7 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- Armor
- Book
- Container
- Furniture
- GenericBaseForm
- LeveledItem
- MagicEffect
Expand Down Expand Up @@ -346,6 +353,15 @@ Functions can then be written that take in `INamed`, allowing any record that ha
- INamed
### FullNameComponent
- INamed
### Furniture
- IHaveVirtualMachineAdapter
- IKeyworded
- IModeled
- INamed
- IObjectBounded
- IScripted
### FurnitureMarkerFile
- INamed
### FxSceneAction
- INamed
### GenericBaseForm
Expand Down
23 changes: 23 additions & 0 deletions Mutagen.Bethesda.Starfield/Enums/Skill.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
namespace Mutagen.Bethesda.Starfield;

public enum Skill
{
OneHanded = 6,
TwoHanded = 7,
Archery = 8,
Block = 9,
Smithing = 10,
HeavyArmor = 11,
LightArmor = 12,
Pickpocket = 13,
Lockpicking = 14,
Sneak = 15,
Alchemy = 16,
Speech = 17,
Alteration = 18,
Conjuration = 19,
Destruction = 20,
Illusion = 21,
Restoration = 22,
Enchanting = 23,
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public StarfieldAspectInterfaceMapping()
Book_Registration.Instance,
Container_Registration.Instance,
DialogResponses_Registration.Instance,
Furniture_Registration.Instance,
GenericBaseForm_Registration.Instance,
LeveledItem_Registration.Instance,
MagicEffect_Registration.Instance,
Expand Down Expand Up @@ -63,6 +64,7 @@ public StarfieldAspectInterfaceMapping()
Armor_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
Furniture_Registration.Instance,
Ingestible_Registration.Instance,
InstanceNamingRule_Registration.Instance,
KeywordFormComponent_Registration.Instance,
Expand Down Expand Up @@ -94,6 +96,7 @@ public StarfieldAspectInterfaceMapping()
ContainerModification_Registration.Instance,
DestructionStage_Registration.Instance,
FloraModification_Registration.Instance,
Furniture_Registration.Instance,
HeadPart_Registration.Instance,
Ingestible_Registration.Instance,
LegendaryItem_Registration.Instance,
Expand Down Expand Up @@ -132,6 +135,7 @@ public StarfieldAspectInterfaceMapping()
FloraModification_Registration.Instance,
FormList_Registration.Instance,
FullNameComponent_Registration.Instance,
Furniture_Registration.Instance,
HeadPart_Registration.Instance,
Ingestible_Registration.Instance,
InstanceNamingRule_Registration.Instance,
Expand Down Expand Up @@ -200,6 +204,8 @@ public StarfieldAspectInterfaceMapping()
FloraModification_Registration.Instance,
FormList_Registration.Instance,
FullNameComponent_Registration.Instance,
Furniture_Registration.Instance,
FurnitureMarkerFile_Registration.Instance,
FxSceneAction_Registration.Instance,
HeadPart_Registration.Instance,
Ingestible_Registration.Instance,
Expand Down Expand Up @@ -286,6 +292,7 @@ public StarfieldAspectInterfaceMapping()
FloraModification_Registration.Instance,
FormList_Registration.Instance,
FullNameComponent_Registration.Instance,
Furniture_Registration.Instance,
HeadPart_Registration.Instance,
Ingestible_Registration.Instance,
InstanceNamingRule_Registration.Instance,
Expand Down Expand Up @@ -333,6 +340,7 @@ public StarfieldAspectInterfaceMapping()
FloraModification_Registration.Instance,
FormList_Registration.Instance,
FullNameComponent_Registration.Instance,
Furniture_Registration.Instance,
HeadPart_Registration.Instance,
Ingestible_Registration.Instance,
InstanceNamingRule_Registration.Instance,
Expand Down Expand Up @@ -369,6 +377,7 @@ public StarfieldAspectInterfaceMapping()
AudioOcclusionPrimitive_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
Furniture_Registration.Instance,
GenericBaseForm_Registration.Instance,
Ingestible_Registration.Instance,
LeveledItem_Registration.Instance,
Expand Down Expand Up @@ -417,6 +426,7 @@ public StarfieldAspectInterfaceMapping()
Armor_Registration.Instance,
Book_Registration.Instance,
Container_Registration.Instance,
Furniture_Registration.Instance,
GenericBaseForm_Registration.Instance,
LeveledItem_Registration.Instance,
MagicEffect_Registration.Instance,
Expand Down
16 changes: 16 additions & 0 deletions Mutagen.Bethesda.Starfield/Mutagen.Bethesda.Starfield.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@
<Compile Include="Enums\Perspective.cs" />
<Compile Include="Enums\Pronoun.cs" />
<Compile Include="Enums\Size.cs" />
<Compile Include="Enums\Skill.cs" />
<Compile Include="Enums\SoundLevel.cs" />
<Compile Include="Enums\Stagger.cs" />
<Compile Include="Enums\TargetObjectType.cs" />
Expand Down Expand Up @@ -2123,6 +2124,9 @@
<Compile Include="Records\Major Records\Flora.cs">
<DependentUpon>Flora.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\Furniture.cs">
<DependentUpon>Furniture.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\GameSetting.cs">
<DependentUpon>GameSetting.xml</DependentUpon>
</Compile>
Expand Down Expand Up @@ -6225,5 +6229,17 @@
<Compile Include="Records\Major Records\InstanceNamingRuleProperties_Generated.cs">
<DependentUpon>InstanceNamingRules.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\FurnitureMarkerEntryPoints_Generated.cs">
<DependentUpon>Furniture.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\FurnitureMarkerFile_Generated.cs">
<DependentUpon>Furniture.xml</DependentUpon>
</Compile>
<Compile Include="Records\Common Subrecords\ImageSpaceModifiableFormComponent_Generated.cs">
<DependentUpon>Component.xml</DependentUpon>
</Compile>
<Compile Include="Records\Major Records\FurnitureMarkerParameters_Generated.cs">
<DependentUpon>Furniture.xml</DependentUpon>
</Compile>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ public enum ComponentType
BGSSpawnOnDestroy_Component,
BGSWorldSpaceOverlay_Component,
ReflectionProbes_Component,
TESImageSpaceModifiableForm_Component,
}

public static bool TryCreateFromBinary(
Expand Down Expand Up @@ -172,6 +173,8 @@ public static AComponent CreateFromBinary(
return WorldSpaceOverlayComponent.CreateFromBinary(frame, translationParams);
case ComponentType.ReflectionProbes_Component:
return ReflectionProbesComponent.CreateFromBinary(frame, translationParams);
case ComponentType.TESImageSpaceModifiableForm_Component:
return ImageSpaceModifiableFormComponent.CreateFromBinary(frame, translationParams);
default:
throw new NotImplementedException();
}
Expand Down Expand Up @@ -261,6 +264,7 @@ public static partial void WriteBinaryBFCBStringCustom(
ISpawnOnDestroyComponentGetter _ => AComponent.ComponentType.BGSSpawnOnDestroy_Component,
IWorldSpaceOverlayComponentGetter _ => AComponent.ComponentType.BGSWorldSpaceOverlay_Component,
IReflectionProbesComponentGetter _ => AComponent.ComponentType.ReflectionProbes_Component,
IImageSpaceModifiableFormComponentGetter _ => AComponent.ComponentType.TESImageSpaceModifiableForm_Component,
_ => throw new NotImplementedException()
};

Expand Down Expand Up @@ -373,6 +377,8 @@ public static IAComponentGetter AComponentFactory(
return WorldSpaceOverlayComponentBinaryOverlay.WorldSpaceOverlayComponentFactory(stream, package);
case AComponent.ComponentType.ReflectionProbes_Component:
return ReflectionProbesComponentBinaryOverlay.ReflectionProbesComponentFactory(stream, package);
case AComponent.ComponentType.TESImageSpaceModifiableForm_Component:
return ImageSpaceModifiableFormComponentBinaryOverlay.ImageSpaceModifiableFormComponentFactory(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, DisplayCaseComponent, ObjectPaletteDefaultsComponent, VolumesComponent, PlanetContentManagerContentPropertiesComponent, ShipManagementComponent, ExternalDataSourceComponent, ForcedLocRefTypeComponent, LinkedVoiceTypeComponent, PapyrusScriptsComponent, PathingDataComponent, PropertySheetComponent, SpaceshipAIActorComponent, SpaceshipEquipmentComponent, SpaceshipWeaponBindingsComponent, FormLinkDataComponent, BlueprintComponent, DestructibleObjectComponent, ContainerComponent, MagicTargetFormComponent, StoredTraversalsComponent, AddToInventoryOnDestroyComponent, CrowdComponent, SpaceshipHullCodeComponent, PrimitiveComponent, SpawnOnDestroyComponent, WorldSpaceOverlayComponent, ReflectionProbesComponent]
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent, DisplayCaseComponent, ObjectPaletteDefaultsComponent, VolumesComponent, PlanetContentManagerContentPropertiesComponent, ShipManagementComponent, ExternalDataSourceComponent, ForcedLocRefTypeComponent, LinkedVoiceTypeComponent, PapyrusScriptsComponent, PathingDataComponent, PropertySheetComponent, SpaceshipAIActorComponent, SpaceshipEquipmentComponent, SpaceshipWeaponBindingsComponent, FormLinkDataComponent, BlueprintComponent, DestructibleObjectComponent, ContainerComponent, MagicTargetFormComponent, StoredTraversalsComponent, AddToInventoryOnDestroyComponent, CrowdComponent, SpaceshipHullCodeComponent, PrimitiveComponent, SpawnOnDestroyComponent, WorldSpaceOverlayComponent, ReflectionProbesComponent, ImageSpaceModifiableFormComponent]
/// </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, DisplayCaseComponent, ObjectPaletteDefaultsComponent, VolumesComponent, PlanetContentManagerContentPropertiesComponent, ShipManagementComponent, ExternalDataSourceComponent, ForcedLocRefTypeComponent, LinkedVoiceTypeComponent, PapyrusScriptsComponent, PathingDataComponent, PropertySheetComponent, SpaceshipAIActorComponent, SpaceshipEquipmentComponent, SpaceshipWeaponBindingsComponent, FormLinkDataComponent, BlueprintComponent, DestructibleObjectComponent, ContainerComponent, MagicTargetFormComponent, StoredTraversalsComponent, AddToInventoryOnDestroyComponent, CrowdComponent, SpaceshipHullCodeComponent, PrimitiveComponent, SpawnOnDestroyComponent, WorldSpaceOverlayComponent, ReflectionProbesComponent]
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent, DisplayCaseComponent, ObjectPaletteDefaultsComponent, VolumesComponent, PlanetContentManagerContentPropertiesComponent, ShipManagementComponent, ExternalDataSourceComponent, ForcedLocRefTypeComponent, LinkedVoiceTypeComponent, PapyrusScriptsComponent, PathingDataComponent, PropertySheetComponent, SpaceshipAIActorComponent, SpaceshipEquipmentComponent, SpaceshipWeaponBindingsComponent, FormLinkDataComponent, BlueprintComponent, DestructibleObjectComponent, ContainerComponent, MagicTargetFormComponent, StoredTraversalsComponent, AddToInventoryOnDestroyComponent, CrowdComponent, SpaceshipHullCodeComponent, PrimitiveComponent, SpawnOnDestroyComponent, WorldSpaceOverlayComponent, ReflectionProbesComponent, ImageSpaceModifiableFormComponent]
/// </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, DisplayCaseComponent, ObjectPaletteDefaultsComponent, VolumesComponent, PlanetContentManagerContentPropertiesComponent, ShipManagementComponent, ExternalDataSourceComponent, ForcedLocRefTypeComponent, LinkedVoiceTypeComponent, PapyrusScriptsComponent, PathingDataComponent, PropertySheetComponent, SpaceshipAIActorComponent, SpaceshipEquipmentComponent, SpaceshipWeaponBindingsComponent, FormLinkDataComponent, BlueprintComponent, DestructibleObjectComponent, ContainerComponent, MagicTargetFormComponent, StoredTraversalsComponent, AddToInventoryOnDestroyComponent, CrowdComponent, SpaceshipHullCodeComponent, PrimitiveComponent, SpawnOnDestroyComponent, WorldSpaceOverlayComponent, ReflectionProbesComponent]
/// Implemented by: [AnimationGraphComponent, AttachParentArrayComponent, ActivityTrackerComponent, ScannableComponent, KeywordFormComponent, ObjectWindowFilterComponent, ContactShadowComponent, FullNameComponent, ModelComponent, PlanetModelComponent, HoudiniDataComponent, SkinFormComponent, BodyPartInfoComponent, EffectSequenceComponent, LightAttachmentFormComponent, LightAnimFormComponent, ParticleSystemComponent, LodOwnerComponent, SoundTagComponent, DisplayCaseComponent, ObjectPaletteDefaultsComponent, VolumesComponent, PlanetContentManagerContentPropertiesComponent, ShipManagementComponent, ExternalDataSourceComponent, ForcedLocRefTypeComponent, LinkedVoiceTypeComponent, PapyrusScriptsComponent, PathingDataComponent, PropertySheetComponent, SpaceshipAIActorComponent, SpaceshipEquipmentComponent, SpaceshipWeaponBindingsComponent, FormLinkDataComponent, BlueprintComponent, DestructibleObjectComponent, ContainerComponent, MagicTargetFormComponent, StoredTraversalsComponent, AddToInventoryOnDestroyComponent, CrowdComponent, SpaceshipHullCodeComponent, PrimitiveComponent, SpawnOnDestroyComponent, WorldSpaceOverlayComponent, ReflectionProbesComponent, ImageSpaceModifiableFormComponent]
/// </summary>
public partial interface IAComponentGetter :
ILoquiObject,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -415,4 +415,9 @@
<ByteArray name="REFL" recordType="REFL" unknown="true" />
</Fields>
</Object>
<Object name="ImageSpaceModifiableFormComponent" objType="Subrecord" baseClass="AComponent">
<Fields>
<FormLink name="ImageSpaceAdapter" recordType="MNAM" refName="ImageSpaceAdapter" />
</Fields>
</Object>
</Loqui>
Loading

0 comments on commit 7be7ee3

Please sign in to comment.