Skip to content

Commit f8f8dca

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents cb1738a + 9727510 commit f8f8dca

22 files changed

Lines changed: 1795 additions & 1441 deletions

FFXIVClientStructs/FFXIV/Client/Game/Character/CastInfo.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ namespace FFXIVClientStructs.FFXIV.Client.Game.Character;
66
[GenerateInterop]
77
[StructLayout(LayoutKind.Explicit, Size = 0x170)]
88
public partial struct CastInfo {
9-
[FieldOffset(0x00)] public bool IsCasting;
10-
[FieldOffset(0x01)] public bool Interruptible;
11-
[FieldOffset(0x02)] public byte ActionType;
9+
[BitField<bool>(nameof(IsCasting), 0)]
10+
[BitField<bool>(nameof(Interruptible), 1)]
11+
[FieldOffset(0x00)] public byte Flags;
12+
[FieldOffset(0x01)] public byte ActionType;
1213
[FieldOffset(0x04)] public uint ActionId;
1314
[FieldOffset(0x08)] public uint SourceSequence; // for player-initiated casts - monotonically increasing id of the cast
1415
[FieldOffset(0x10)] public GameObjectId TargetId;

FFXIVClientStructs/FFXIV/Client/Graphics/Environment/EnvManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Environment;
55

66
// Client::Graphics::Environment::EnvManager
77
[GenerateInterop]
8-
[StructLayout(LayoutKind.Explicit, Size = 0xBD0)]
8+
[StructLayout(LayoutKind.Explicit, Size = 0xBF0)]
99
public unsafe partial struct EnvManager {
1010
[StaticAddress("0F 28 F2 48 8B 05", 6, isPointer: true)]
1111
public static partial EnvManager* Instance();
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
namespace FFXIVClientStructs.FFXIV.Client.Graphics.Environment;
22

33
// Client::Graphics::Environment::EnvState
4-
[StructLayout(LayoutKind.Explicit, Size = 0x2D8)]
4+
[StructLayout(LayoutKind.Explicit, Size = 0x2F8)]
55
public unsafe struct EnvState {
66
[FieldOffset(0x12C)] public float Rain;
77
}

FFXIVClientStructs/FFXIV/Client/Graphics/Render/BGInstancingRenderer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Render;
44
// Client::Graphics::Render::BaseRenderer
55
[GenerateInterop]
66
[Inherits<BaseRenderer>]
7-
[StructLayout(LayoutKind.Explicit, Size = 0x20E60)]
7+
[StructLayout(LayoutKind.Explicit, Size = 0x18E00)]
88
public partial struct BGInstancingRenderer {
9-
[FieldOffset(0x20589)] public bool Wireframe;
9+
[FieldOffset(0x18538)] public bool Wireframe;
1010
}

FFXIVClientStructs/FFXIV/Client/Graphics/Render/Manager.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Render;
33
// Client::Graphics::Render::Manager
44
// Client::Graphics::Singleton<Client::Graphics::Render::Manager>
55
[GenerateInterop]
6-
[StructLayout(LayoutKind.Explicit, Size = 0x40380)]
6+
[StructLayout(LayoutKind.Explicit, Size = 0x38390)]
77
public unsafe partial struct Manager {
88
[StaticAddress("48 8B 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? 84 C0 74 ?? 48 8B 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? 33 C9", 3, true)]
99
public static partial Manager* Instance();
@@ -12,12 +12,12 @@ public unsafe partial struct Manager {
1212
[FieldOffset(0x87F8)] public JobSystem ManagerJobSystem; // Client::Graphics::JobSystem<Client::Graphics::Render::Manager>
1313
[FieldOffset(0x88B8)] public PostBoneDeformerBaseUpdater PostBoneDeformerBaseUpdater; // Client::Graphics::Render::Updater<Client::Graphics::Render::PostBoneDeformerBase>
1414
[FieldOffset(0x10908)] public ShaderManager ShaderManager;
15-
[FieldOffset(0x10AE0)] public ModelRenderer ModelRenderer;
16-
[FieldOffset(0x10F30)] public BGInstancingRenderer BGInstancingRenderer;
17-
[FieldOffset(0x31D90)] public TerrainRenderer TerrainRenderer;
18-
// [FieldOffset(0x47F20)] private UnknownRenderer UnknownRenderer; // 0x230 BGAmbient something?
19-
[FieldOffset(0x363F0)] public WaterRenderer WaterRenderer;
20-
[FieldOffset(0x36960)] public VerticalFogRenderer VerticalFogRenderer;
15+
[FieldOffset(0x10AF8)] public ModelRenderer ModelRenderer;
16+
[FieldOffset(0x10F40)] public BGInstancingRenderer BGInstancingRenderer;
17+
[FieldOffset(0x29D40)] public TerrainRenderer TerrainRenderer;
18+
// [FieldOffset(0x2E160)] private UnknownRenderer UnknownRenderer; // 0x230 BGAmbient something?
19+
[FieldOffset(0x2E390)] public WaterRenderer WaterRenderer;
20+
[FieldOffset(0x2E910)] public VerticalFogRenderer VerticalFogRenderer;
2121

2222
// [FieldOffset(0x487F8)] private UnknownRenderer1 UnknownRenderer1; // 0xE0
2323
// [FieldOffset(0x488E0)] private UnknownRenderer2 UnknownRenderer2; // 0x7A10 Grass?

FFXIVClientStructs/FFXIV/Client/Graphics/Render/Model.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Render;
77
// Client::Graphics::ReferencedClassBase
88
[GenerateInterop]
99
[Inherits<ReferencedClassBase>]
10-
[StructLayout(LayoutKind.Explicit, Size = 0x158)]
10+
[StructLayout(LayoutKind.Explicit, Size = 0x180)]
1111
public unsafe partial struct Model {
1212
[FieldOffset(0x18)] public Model* Previous;
1313
[FieldOffset(0x20)] public Model* Next;

FFXIVClientStructs/FFXIV/Client/Graphics/Render/ModelRenderer.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Render;
77
// Client::Graphics::Render::BaseRenderer
88
[GenerateInterop]
99
[Inherits<BaseRenderer>]
10-
[StructLayout(LayoutKind.Explicit, Size = 0x450)]
10+
[StructLayout(LayoutKind.Explicit, Size = 0x448)]
1111
public unsafe partial struct ModelRenderer {
1212
[FieldOffset(0x8), FixedSizeArray] internal FixedSizeArray23<uint> _constantSamplerIds; // Might be a FixedSizeArray22<uint> as of 7.2, unsure
1313

@@ -23,19 +23,19 @@ public unsafe partial struct ModelRenderer {
2323
[FieldOffset(0x220)] public ShaderPackageResourceHandle* CharacterTransparencyShaderPackage;
2424
[FieldOffset(0x228)] public ShaderPackageResourceHandle* CharacterTattooShaderPackage;
2525
[FieldOffset(0x230)] public ShaderPackageResourceHandle* CharacterOcclusionShaderPackage;
26-
[FieldOffset(0x238)] public ShaderPackageResourceHandle* HairMaskShaderPackage;
26+
//[FieldOffset(0x238)] public ShaderPackageResourceHandle* HairMaskShaderPackage; 7.5 gone?
2727

2828
// At 0x218: pointer to an unknown ConstantBuffer of size 1 vector (0x10 bytes).
2929
// At 0x220, ..., 0x298: pointers to 16 unknown ConstantBuffers of size 4 vectors (0x40 bytes) each.
3030
// At 0x2A0, ..., 0x328: pointers to 18 unknown ConstantBuffers of size 1 vector (0x10 bytes) each.
3131

32-
[FieldOffset(0x358)] public ShaderCodeResourceHandle* SkiningConnectionVertexCS;
32+
[FieldOffset(0x350)] public ShaderCodeResourceHandle* SkiningConnectionVertexCS;
3333

3434
// At 0x338: pointer to an unknown ConstantBuffer of size 1 vector (0x10 bytes).
3535
// At 0x340, 0x348, 0x350: pointer to objects of the same unknown class that seems to wrap D3D11 objects.
3636
// At 0x358: pointer to an unknown ConstantBuffer of size 1 vector (0x10 bytes).
3737

38-
[FieldOffset(0x390)] public JobSystem JobSystem; // Client::Graphics::JobSystem<Client::Graphics::Render::ModelRenderer>
38+
[FieldOffset(0x388)] public JobSystem JobSystem; // Client::Graphics::JobSystem<Client::Graphics::Render::ModelRenderer>
3939

4040
// This function, among other things, constructs an OnRenderMaterialParams struct with its params and calls CharacterBase.OnRenderMaterial with it (through some indirections - see Model.RenderMaterialCallback).
4141
[MemberFunction("E8 ?? ?? ?? ?? 40 38 75 ?? 74 ?? 8B 45")]

FFXIVClientStructs/FFXIV/Client/Graphics/Render/RenderTargetManager.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Render;
77
// Client::Graphics::Kernel::Notifier
88
[GenerateInterop]
99
[Inherits<Notifier>]
10-
[StructLayout(LayoutKind.Explicit, Size = 0x730)]
10+
[StructLayout(LayoutKind.Explicit, Size = 0x740)]
1111
public unsafe partial struct RenderTargetManager {
1212
[StaticAddress("48 8B 05 ?? ?? ?? ?? 44 8B 86 ?? ?? ?? ?? 41 B9", 3, isPointer: true)]
1313
public static partial RenderTargetManager* Instance();
@@ -165,12 +165,13 @@ public unsafe partial struct RenderTargetManager {
165165
[FieldOffset(0x680)] internal Texture* Unk680;
166166
[FieldOffset(0x688)] internal Texture* Unk688;
167167
[FieldOffset(0x690)] internal Texture* Unk690;
168-
[FieldOffset(0x698)] internal nint Unk698; // Unknown class, implements C::G::K::Notifier, holds a bunch of D3D11 objects
169-
[FieldOffset(0x6A0)] internal nint Unk6A0; // Same class as Unk698
168+
[FieldOffset(0x698)] internal Texture* Unk698;
169+
[FieldOffset(0x6A0)] internal nint Unk6A0; // Unknown class, implements C::G::K::Notifier, holds a bunch of D3D11 objects
170+
[FieldOffset(0x6A8)] internal nint Unk6A8; // Same class as Unk6A0
170171
// bunch of floats
171-
[FieldOffset(0x6E0)] public float FrametimeAverage; // Offset most likely wrong, idk the right one
172+
[FieldOffset(0x710)] public float FrametimeAverage;
172173

173-
[FieldOffset(0x6EC)] public float GraphicsRezoScale; // Offset most likely wrong, idk the right one
174+
[FieldOffset(0x720)] public float GraphicsRezoScale;
174175

175176
[MemberFunction("E8 ?? ?? ?? ?? 48 8B 4F ?? 48 8B D0 FF D3")]
176177
public partial Texture* GetCharaViewTexture(uint clientObjectIndex);

FFXIVClientStructs/FFXIV/Client/Graphics/Render/ShaderManager.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Render;
44

55
// Client::Graphics::Render::ShaderManager
66
[GenerateInterop]
7-
[StructLayout(LayoutKind.Explicit, Size = 0x1D8)]
7+
[StructLayout(LayoutKind.Explicit, Size = 0x1F0)]
88
public unsafe partial struct ShaderManager {
99
// This is technically not an array, but we want to use it in Dalamud to show loaded Shader Packages.
10-
[FieldOffset(0x08), FixedSizeArray] internal FixedSizeArray57<Pointer<ShaderPackageResourceHandle>> _shaderPackageResourceHandles;
11-
[FieldOffset(0x1D0)] private ShaderCodeResourceHandle* CopyEnvLocationShaderCodeResourceHandle;
10+
[FieldOffset(0x08), FixedSizeArray] internal FixedSizeArray60<Pointer<ShaderPackageResourceHandle>> _shaderPackageResourceHandles;
11+
[FieldOffset(0x1E8)] private ShaderCodeResourceHandle* CopyEnvLocationShaderCodeResourceHandle;
1212
}

FFXIVClientStructs/FFXIV/Client/Graphics/Render/TerrainRenderer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Render;
44
// Client::Graphics::Render::BaseRenderer
55
[GenerateInterop]
66
[Inherits<BaseRenderer>]
7-
[StructLayout(LayoutKind.Explicit, Size = 0x4430)]
7+
[StructLayout(LayoutKind.Explicit, Size = 0x4420)]
88
public partial struct TerrainRenderer {
9-
[FieldOffset(0x43C1)] public bool Wireframe;
9+
[FieldOffset(0x43B1)] public bool Wireframe;
1010
}

0 commit comments

Comments
 (0)