From ef072f9ca49bd69e3f08f6a85de1923899d8568f Mon Sep 17 00:00:00 2001 From: MnFeN Date: Mon, 1 Jun 2026 12:09:26 +0800 Subject: [PATCH 1/2] Correct EventObject PlayAnimation method --- .../FFXIV/Client/Game/Object/EventObject.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs b/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs index 853becd45..cd6df182f 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs @@ -11,6 +11,13 @@ public partial struct EventObject { [FieldOffset(0x1B2)] public ushort SharedTimelineState; // ActorControl category 0x199 (SetSharedTimelineState) sets this field [FieldOffset(0x1B8)] public byte Flags; + /// Plays or switches an EObj animation/effect slot. + /// Similar to MapEffect's a2. Does not appear to affect the actual visible animation directly. + /// Similar to MapEffect's a3. Each bit represents one animation (e.g. show, fadeout). Appears to use only single-bit values. + /// + /// EObjAnimation is highly similar to MapEffect; MapEffect appears to be a wrapped form of this mechanism. + /// Different scene-bound resources attached to an EObj are roughly equivalent to MapEffect's a1. + /// [MemberFunction("E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 4D 85 F6 0F 84 ?? ?? ?? ?? 8B 44 24 70 BE ?? ?? ?? ??")] - public partial void PlayAnimation(uint entityId, uint actionId, ulong unknown); + public partial void PlayAnimation(ushort sharedTimelineState, ushort bitMask, ulong context = 0); } From 924756bf132c02c8736a7cdab8606ac304fecd98 Mon Sep 17 00:00:00 2001 From: Haselnussbomber Date: Thu, 11 Jun 2026 23:59:28 +0200 Subject: [PATCH 2/2] Fix PlayAnimation parameter types These are 3 uints, using registers `edx`, `r8d` and `r9d`. --- FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs b/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs index cd6df182f..373434683 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs @@ -14,10 +14,11 @@ public partial struct EventObject { /// Plays or switches an EObj animation/effect slot. /// Similar to MapEffect's a2. Does not appear to affect the actual visible animation directly. /// Similar to MapEffect's a3. Each bit represents one animation (e.g. show, fadeout). Appears to use only single-bit values. + /// Unknown /// /// EObjAnimation is highly similar to MapEffect; MapEffect appears to be a wrapped form of this mechanism. /// Different scene-bound resources attached to an EObj are roughly equivalent to MapEffect's a1. /// [MemberFunction("E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 4D 85 F6 0F 84 ?? ?? ?? ?? 8B 44 24 70 BE ?? ?? ?? ??")] - public partial void PlayAnimation(ushort sharedTimelineState, ushort bitMask, ulong context = 0); + public partial void PlayAnimation(uint sharedTimelineState, uint bitMask, uint a4 = 0); }