diff --git a/Penumbra.GameData/Actors/ActorManager.Data.cs b/Penumbra.GameData/Actors/ActorManager.Data.cs index 51e1811a..e4e5ae57 100644 --- a/Penumbra.GameData/Actors/ActorManager.Data.cs +++ b/Penumbra.GameData/Actors/ActorManager.Data.cs @@ -250,7 +250,7 @@ public sealed partial class ActorManager : IDisposable private unsafe bool SearchPlayerCustomize(Character* character, int idx, out ActorIdentifier id) { var other = (Character*)_objects.GetObjectAddress(idx); - if (other == null || !CustomizeData.ScreenActorEquals((CustomizeData*)character->CustomizeData, (CustomizeData*)other->CustomizeData)) + if (other == null || !CustomizeData.ScreenActorEquals((CustomizeData*)character->DrawData.CustomizeData.Data, (CustomizeData*)other->DrawData.CustomizeData.Data)) { id = ActorIdentifier.Invalid; return false; @@ -271,8 +271,8 @@ public sealed partial class ActorManager : IDisposable { static bool Compare(Character* a, Character* b) { - var data1 = (CustomizeData*)a->CustomizeData; - var data2 = (CustomizeData*)b->CustomizeData; + var data1 = (CustomizeData*)a->DrawData.CustomizeData.Data; + var data2 = (CustomizeData*)b->DrawData.CustomizeData.Data; var equals = CustomizeData.ScreenActorEquals(data1, data2); return equals; } diff --git a/Penumbra/Interop/PathResolving/CollectionResolver.cs b/Penumbra/Interop/PathResolving/CollectionResolver.cs index 6b314ca2..4e1f6963 100644 --- a/Penumbra/Interop/PathResolving/CollectionResolver.cs +++ b/Penumbra/Interop/PathResolving/CollectionResolver.cs @@ -216,13 +216,13 @@ public unsafe class CollectionResolver if (!IsModelHuman((uint)character->ModelCharaId)) return null; - if (character->CustomizeData[0] == 0) + if (character->DrawData.CustomizeData[0] == 0) { notYetReady = true; return null; } - var bodyType = character->CustomizeData[2]; + var bodyType = character->DrawData.CustomizeData[2]; var collection = bodyType switch { 3 => _collectionManager.Active.ByType(CollectionType.NonPlayerElderly), @@ -232,8 +232,8 @@ public unsafe class CollectionResolver if (collection != null) return collection; - var race = (SubRace)character->CustomizeData[4]; - var gender = (Gender)(character->CustomizeData[1] + 1); + var race = (SubRace)character->DrawData.CustomizeData[4]; + var gender = (Gender)(character->DrawData.CustomizeData[1] + 1); var isNpc = actor->ObjectKind != (byte)ObjectKind.Player; var type = CollectionTypeExtensions.FromParts(race, gender, isNpc); diff --git a/Penumbra/Interop/ResourceTree/ResourceTree.cs b/Penumbra/Interop/ResourceTree/ResourceTree.cs index 2cec991d..80e56231 100644 --- a/Penumbra/Interop/ResourceTree/ResourceTree.cs +++ b/Penumbra/Interop/ResourceTree/ResourceTree.cs @@ -35,7 +35,7 @@ public class ResourceTree { var character = (Character*)SourceAddress; var model = (CharacterBase*)character->GameObject.GetDrawObject(); - var equipment = new ReadOnlySpan(character->EquipSlotData, 10); + var equipment = new ReadOnlySpan(&character->DrawData.Head, 10); // var customize = new ReadOnlySpan( character->CustomizeData, 26 ); ModelId = character->ModelCharaId; CustomizeData = character->DrawData.CustomizeData;