using System.Runtime.InteropServices; namespace MareSynchronos.Interop.FFXIV; [StructLayout(LayoutKind.Explicit)] public unsafe struct MtrlResource { [FieldOffset(0x00)] public ResourceHandle Handle; [FieldOffset(0xD0)] public ushort* TexSpace; // Contains the offsets for the tex files inside the string list. [FieldOffset(0xE0)] public byte* StringList; [FieldOffset(0xF8)] public ushort ShpkOffset; [FieldOffset(0xFA)] public byte NumTex; public byte* ShpkString => StringList + ShpkOffset; public byte* TexString(int idx) => StringList + *(TexSpace + 4 + idx * 8); }