From fbec69a50bede9befc29496560197abc5ae1fafa Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 12 Sep 2021 23:48:57 -0700 Subject: [PATCH] Specify all default field types Dig around a bit, find all examples. Dummy out the always-default for now. --- .../Holders/PlacementZone8SpeciesHolder.cs | 64 +++++++++++-------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SpeciesHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SpeciesHolder.cs index fa9d2d2e..bc83d244 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SpeciesHolder.cs +++ b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SpeciesHolder.cs @@ -1,3 +1,4 @@ +using System; using System.ComponentModel; using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global @@ -6,6 +7,7 @@ // ReSharper disable UnusedType.Global // ReSharper disable UnusedMember.Global #nullable disable +#pragma warning disable CA1819 // Properties should not return arrays namespace pkNX.Structures.FlatBuffers { @@ -14,22 +16,28 @@ public class PlacementZone8SpeciesHolder { [FlatBufferItem(00)] public PlacementZone8_F02 Field_00 { get; set; } [FlatBufferItem(01)] public PlacementZone8_F02_Field1 Field_01 { get; set; } - [FlatBufferItem(02)] public uint Num_02 { get; set; } // Species? - // 3 - // 4 - // 5 - // 6 + + [Description("Species Model to load")] + [FlatBufferItem(02)] public uint Species { get; set; } + [Description("Form Model to load")] + [FlatBufferItem(03)] public uint Form { get; set; } + [Description("Gender Model to load: Male and Genderless 0, Female 1")] + [FlatBufferItem(04)] public uint Gender { get; set; } + + [FlatBufferItem(05)] public uint Unused1 { get; set; } + [FlatBufferItem(06)] public uint Unused2 { get; set; } + [FlatBufferItem(07)] public ulong Hash_07 { get; set; } [FlatBufferItem(08)] public ulong Hash_08 { get; set; } [FlatBufferItem(09)] public ulong Hash_09 { get; set; } - // 10 empty-table + [FlatBufferItem(10)] public FlatDummyEntry[] Field_10 { get; set; } = Array.Empty(); // none have this [FlatBufferItem(11)] public float Field_11 { get; set; } [FlatBufferItem(12)] public PlacementZone8_F02_Nine Field_12 { get; set; } - // 13 - [FlatBufferItem(14)] public int Field_14 { get; set; } // byte? + [FlatBufferItem(13)] public int Field_13 { get; set; } + [FlatBufferItem(14)] public int Field_14 { get; set; } [FlatBufferItem(15)] public byte Num_15 { get; set; } - public override string ToString() => ((Species)Num_02).ToString(); + public override string ToString() => $"{(Species)Species}{(Form != 0 ? $"-{Form}" : "")}"; } [FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] @@ -38,10 +46,10 @@ public class PlacementZone8_F02_Nine [FlatBufferItem(00)] public byte Field_00 { get; set; } [FlatBufferItem(01)] public byte Field_01 { get; set; } [FlatBufferItem(02)] public byte Field_02 { get; set; } - // 3 + [FlatBufferItem(03)] public uint Field_03 { get; set; } // either 0 or 1, for only 3 objects in the game [FlatBufferItem(04)] public ulong Hash_04 { get; set; } [FlatBufferItem(05)] public byte Field_05 { get; set; } - // 6 + [FlatBufferItem(06)] public uint Field_06 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused [FlatBufferItem(07)] public ulong Hash_07 { get; set; } [FlatBufferItem(08)] public uint Field_08 { get; set; } } @@ -54,13 +62,13 @@ public class PlacementZone8_F02 [FlatBufferItem(02)] public ulong Hash_02 { get; set; } [FlatBufferItem(03)] public ulong Hash_03 { get; set; } [FlatBufferItem(04)] public ulong Hash_04 { get; set; } - // 05 default - // 06 default - // 07 default - // 08 default - // 09 empty-object? - // 10 default - // 11 empty-object? + [FlatBufferItem(05)] public uint Field_05 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused + [FlatBufferItem(06)] public uint Field_06 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused + [FlatBufferItem(07)] public uint Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused + [FlatBufferItem(08)] public uint Field_08 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused + [FlatBufferItem(09)] public FlatDummyObject Field_09 { get; set; } // no fields present in any existing + [FlatBufferItem(10)] public uint Field_10 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused + [FlatBufferItem(11)] public FlatDummyObject Field_11 { get; set; } // no fields present in any existing [FlatBufferItem(12)] public ulong Hash_12 { get; set; } } @@ -73,22 +81,22 @@ public class PlacementZone8_F02_Field1 [FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] public class PlacementZone8_F02_Inner { - [FlatBufferItem(0)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } - [FlatBufferItem(1)] public ulong Hash_01 { get; set; } - [FlatBufferItem(2)] public ulong Hash_02 { get; set; } - [FlatBufferItem(3)] public ulong Hash_03 { get; set; } - [FlatBufferItem(4)] public PlacementZone8_F02_IntFloat Field_04 { get; set; } - [FlatBufferItem(5)] public byte Num_05 { get; set; } - [FlatBufferItem(6)] public ulong Hash_06 { get; set; } - [FlatBufferItem(7)] public PlacementZone8_F02_IntFloat Field_07 { get; set; } + [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } + [FlatBufferItem(01)] public ulong Hash_01 { get; set; } + [FlatBufferItem(02)] public ulong Hash_02 { get; set; } + [FlatBufferItem(03)] public ulong Hash_03 { get; set; } + [FlatBufferItem(04)] public PlacementZone8_F02_IntFloat Field_04 { get; set; } + [FlatBufferItem(05)] public byte Num_05 { get; set; } + [FlatBufferItem(06)] public ulong Hash_06 { get; set; } + [FlatBufferItem(07)] public PlacementZone8_F02_IntFloat Field_07 { get; set; } } [FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] public class PlacementZone8_F02_IntFloat { [FlatBufferItem(00)] public int Field_00 { get; set; } - // 1 - // 2 + [FlatBufferItem(01)] public float Field_01 { get; set; } + [FlatBufferItem(02)] public float Field_02 { get; set; } [FlatBufferItem(03)] public float Field_03 { get; set; } [FlatBufferItem(04)] public float Field_04 { get; set; } }