diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Character/EffectContainer.cs b/FFXIVClientStructs/FFXIV/Client/Game/Character/EffectContainer.cs index 672a788ec..17402feb5 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Character/EffectContainer.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Character/EffectContainer.cs @@ -15,11 +15,21 @@ public unsafe partial struct EffectContainer { [FieldOffset(0x30)] public StatusEffect StatusEffects; [FieldOffset(0x34)] public int MountTiltSetupState1; [FieldOffset(0x38)] public int MountTiltSetupState2; - // [FieldOffset(0x3C)] private byte Unk3C; - [FieldOffset(0x40)] public byte TiltParam1Type; - [FieldOffset(0x44)] public float TiltParam1Value; - [FieldOffset(0x48)] public byte TiltParam2Type; - [FieldOffset(0x4C)] public float TiltParam2Value; + [FieldOffset(0x40)] public float GroundTiltAngle; + [FieldOffset(0x44)] public float GroundTiltSpeed; + [FieldOffset(0x50)] public float FlightTiltAngle; + [FieldOffset(0x54)] public float FlightTiltSpeed; + + [FieldOffset(0x40), Obsolete("Invalid since 7.1")] public byte TiltParam1Type; + [FieldOffset(0x44), Obsolete("Invalid since 7.1")] public float TiltParam1Value; + [FieldOffset(0x48), Obsolete("Invalid since 7.1")] public byte TiltParam2Type; + [FieldOffset(0x4C), Obsolete("Invalid since 7.1")] public float TiltParam2Value; + + /// + /// Called when mounting/dismounting and maybe other state changes to set new tilt values + /// + [MemberFunction("48 89 5C 24 ?? 55 48 83 EC ?? C6 41")] + public partial void LoadTiltData(); [Flags] public enum StatusEffect : byte { diff --git a/ida/data.yml b/ida/data.yml index 4b8bf9245..4e626a70c 100644 --- a/ida/data.yml +++ b/ida/data.yml @@ -11309,6 +11309,7 @@ classes: base: Client::Game::Character::ContainerInterface funcs: 0x1408C85C0: CalculateFloatHeight + 0x1408c9440: LoadTiltData Client::Game::Character::ReaperShroudContainer: vtbls: - ea: 0x14218C850