@@ -15,37 +15,37 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
15
15
[ Inherits < CharacterBase > ]
16
16
[ StructLayout ( LayoutKind . Explicit , Size = 0xCD0 ) ]
17
17
public unsafe partial struct Human {
18
- [ FieldOffset ( 0xA10 ) ] public CustomizeData Customize ;
19
- [ FieldOffset ( 0xA2C ) ] public uint SlotNeedsUpdateBitfield ;
20
- [ FieldOffset ( 0xA30 ) ] public EquipmentModelId Head ;
21
- [ FieldOffset ( 0xA38 ) ] public EquipmentModelId Top ;
22
- [ FieldOffset ( 0xA40 ) ] public EquipmentModelId Arms ;
23
- [ FieldOffset ( 0xA48 ) ] public EquipmentModelId Legs ;
24
- [ FieldOffset ( 0xA50 ) ] public EquipmentModelId Feet ;
25
- [ FieldOffset ( 0xA58 ) ] public EquipmentModelId Ear ;
26
- [ FieldOffset ( 0xA60 ) ] public EquipmentModelId Neck ;
27
- [ FieldOffset ( 0xA68 ) ] public EquipmentModelId Wrist ;
28
- [ FieldOffset ( 0xA70 ) ] public EquipmentModelId RFinger ;
29
- [ FieldOffset ( 0xA78 ) ] public EquipmentModelId LFinger ;
30
- [ FieldOffset ( 0xA80 ) ] public EquipmentModelId Glasses0 ;
31
- [ FieldOffset ( 0xA88 ) ] public EquipmentModelId Glasses1 ;
32
- [ FieldOffset ( 0xA90 ) ] public ushort RaceSexId ; // cXXXX ID (0101, 0201, etc)
33
- [ FieldOffset ( 0xA92 ) ] public ushort HairId ; // hXXXX
34
- [ FieldOffset ( 0xA94 ) ] public ushort FaceId ; // fXXXX ID
35
- [ FieldOffset ( 0xA96 ) ] public ushort TailEarId ; // tXXXX/zXXXX(viera)
36
- [ FieldOffset ( 0xA98 ) ] public ushort FurId ;
18
+ [ FieldOffset ( 0xA20 ) ] public CustomizeData Customize ;
19
+ [ FieldOffset ( 0xA3C ) ] public uint SlotNeedsUpdateBitfield ;
20
+ [ FieldOffset ( 0xA40 ) ] public EquipmentModelId Head ;
21
+ [ FieldOffset ( 0xA48 ) ] public EquipmentModelId Top ;
22
+ [ FieldOffset ( 0xA50 ) ] public EquipmentModelId Arms ;
23
+ [ FieldOffset ( 0xA58 ) ] public EquipmentModelId Legs ;
24
+ [ FieldOffset ( 0xA60 ) ] public EquipmentModelId Feet ;
25
+ [ FieldOffset ( 0xA68 ) ] public EquipmentModelId Ear ;
26
+ [ FieldOffset ( 0xA70 ) ] public EquipmentModelId Neck ;
27
+ [ FieldOffset ( 0xA78 ) ] public EquipmentModelId Wrist ;
28
+ [ FieldOffset ( 0xA80 ) ] public EquipmentModelId RFinger ;
29
+ [ FieldOffset ( 0xA88 ) ] public EquipmentModelId LFinger ;
30
+ [ FieldOffset ( 0xA90 ) ] public EquipmentModelId Glasses0 ;
31
+ [ FieldOffset ( 0xA98 ) ] public EquipmentModelId Glasses1 ;
32
+ [ FieldOffset ( 0xAA0 ) ] public ushort RaceSexId ; // cXXXX ID (0101, 0201, etc)
33
+ [ FieldOffset ( 0xAA2 ) ] public ushort HairId ; // hXXXX
34
+ [ FieldOffset ( 0xAA4 ) ] public ushort FaceId ; // fXXXX ID
35
+ [ FieldOffset ( 0xAA6 ) ] public ushort TailEarId ; // tXXXX/zXXXX(viera)
36
+ [ FieldOffset ( 0xAA8 ) ] public ushort FurId ;
37
37
38
- [ FieldOffset ( 0xAE8 ) , CExportIgnore ] private nint _slotDecalBase ;
39
- [ FieldOffset ( 0xAE8 ) ] public TextureResourceHandle * HeadDecal ;
40
- [ FieldOffset ( 0xAF0 ) ] public TextureResourceHandle * TopDecal ;
41
- [ FieldOffset ( 0xAF8 ) ] public TextureResourceHandle * ArmsDecal ;
42
- [ FieldOffset ( 0xB00 ) ] public TextureResourceHandle * LegsDecal ;
43
- [ FieldOffset ( 0xB08 ) ] public TextureResourceHandle * FeetDecal ;
44
- [ FieldOffset ( 0xB10 ) ] public TextureResourceHandle * EarDecal ;
45
- [ FieldOffset ( 0xB18 ) ] public TextureResourceHandle * NeckDecal ;
46
- [ FieldOffset ( 0xB20 ) ] public TextureResourceHandle * WristDecal ;
47
- [ FieldOffset ( 0xB28 ) ] public TextureResourceHandle * RFingerDecal ;
48
- [ FieldOffset ( 0xB30 ) ] public TextureResourceHandle * LFingerDecal ;
38
+ [ FieldOffset ( 0xAF8 ) , CExportIgnore ] private nint _slotDecalBase ;
39
+ [ FieldOffset ( 0xAF8 ) ] public TextureResourceHandle * HeadDecal ;
40
+ [ FieldOffset ( 0xB00 ) ] public TextureResourceHandle * TopDecal ;
41
+ [ FieldOffset ( 0xB08 ) ] public TextureResourceHandle * ArmsDecal ;
42
+ [ FieldOffset ( 0xB10 ) ] public TextureResourceHandle * LegsDecal ;
43
+ [ FieldOffset ( 0xB18 ) ] public TextureResourceHandle * FeetDecal ;
44
+ [ FieldOffset ( 0xB20 ) ] public TextureResourceHandle * EarDecal ;
45
+ [ FieldOffset ( 0xB28 ) ] public TextureResourceHandle * NeckDecal ;
46
+ [ FieldOffset ( 0xB30 ) ] public TextureResourceHandle * WristDecal ;
47
+ [ FieldOffset ( 0xB38 ) ] public TextureResourceHandle * RFingerDecal ;
48
+ [ FieldOffset ( 0xB40 ) ] public TextureResourceHandle * LFingerDecal ;
49
49
50
50
51
51
public ref TextureResourceHandle * SlotDecal ( int slot ) {
@@ -57,20 +57,20 @@ public unsafe partial struct Human {
57
57
public Span < Pointer < TextureResourceHandle > > SlotDecalsSpan
58
58
=> new ( Unsafe . AsPointer ( ref _slotDecalBase ) , 10 ) ;
59
59
60
- [ FieldOffset ( 0xBE0 ) ] public ConstantBuffer * CustomizeParameterCBuffer ;
61
- [ FieldOffset ( 0xBE8 ) ] public ConstantBuffer * DecalColorCBuffer ;
60
+ [ FieldOffset ( 0xBF0 ) ] public ConstantBuffer * CustomizeParameterCBuffer ;
61
+ [ FieldOffset ( 0xBF8 ) ] public ConstantBuffer * DecalColorCBuffer ;
62
62
63
63
public ConstantBufferPointer < CustomizeParameter > CustomizeParameterTypedCBuffer
64
64
=> new ( CustomizeParameterCBuffer ) ;
65
65
public ConstantBufferPointer < Vector4 > DecalColorTypedCBuffer
66
66
=> new ( DecalColorCBuffer ) ;
67
67
68
- [ FieldOffset ( 0xBF0 ) ] public TextureResourceHandle * Decal ;
69
- [ FieldOffset ( 0xBF8 ) ] public TextureResourceHandle * LegacyBodyDecal ;
70
- [ FieldOffset ( 0xC00 ) ] public Texture * FreeCompanyCrest ;
71
- [ FieldOffset ( 0xC08 ) ] public uint SlotFreeCompanyCrestBitfield ; // & 0x001 for slot 0, up to & 0x200 for slot 9
68
+ [ FieldOffset ( 0xC00 ) ] public TextureResourceHandle * Decal ;
69
+ [ FieldOffset ( 0xC08 ) ] public TextureResourceHandle * LegacyBodyDecal ;
70
+ [ FieldOffset ( 0xC10 ) ] public Texture * FreeCompanyCrest ;
71
+ [ FieldOffset ( 0xC18 ) ] public uint SlotFreeCompanyCrestBitfield ; // & 0x001 for slot 0, up to & 0x200 for slot 9
72
72
73
- [ FieldOffset ( 0xC40 ) ] public byte * ChangedEquipData ;
73
+ [ FieldOffset ( 0xC50 ) ] public byte * ChangedEquipData ;
74
74
75
75
[ MemberFunction ( "E8 ?? ?? ?? ?? 48 8B 8B ?? ?? ?? ?? 0F 57 FF" ) ]
76
76
public partial byte SetupVisor ( ushort modelId , bool visorState ) ;
0 commit comments