Skip to content
Merged

Addons #1760

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion FFXIVClientStructs/FFXIV/Client/UI/AddonAreaMap.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,35 @@ namespace FFXIVClientStructs.FFXIV.Client.UI;
[Inherits<AtkUnitBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x7E0)]
public unsafe partial struct AddonAreaMap {
[FieldOffset(0x238)] private AtkResNode* ContainerNode; // Same as RootNode
[FieldOffset(0x240)] public AtkComponentMap* ComponentMap;

[FieldOffset(0x258)] public AtkComponentButton* WorldMapButton;
[FieldOffset(0x260)] public AtkComponentButton* ZoomInButton;
[FieldOffset(0x268)] public AtkComponentButton* ZoomOutButton;
[FieldOffset(0x270)] public AtkComponentButton* MapUpButton; // Opens parent map/region/world map
[FieldOffset(0x278)] public AtkComponentCheckBox* ShowMapMarkersCheckbox;
[FieldOffset(0x280)] public AtkComponentCheckBox* ShowMapTextCheckbox;
[FieldOffset(0x288)] public AtkComponentCheckBox* FollowPlayerCheckbox;
[FieldOffset(0x290)] public AtkComponentCheckBox* FadeWhenUnfocusedCheckbox;
[FieldOffset(0x298)] public AtkComponentCheckBox* LockMapCheckbox; // Prevents closing map with esc
[FieldOffset(0x2A0)] public AtkComponentSlider* ZoomSlider;
[FieldOffset(0x2A8)] public AtkResNode* LocationContainerNode;
[FieldOffset(0x2B0)] public AtkComponentDropDownList* RegionDropDownList;
[FieldOffset(0x2B8)] public AtkComponentDropDownList* TerritoryDropDownList;
[FieldOffset(0x2C0)] public AtkTextNode* AreaTextNode;
[FieldOffset(0x2C8)] public AtkTextNode* SubAreaTextNode;
[FieldOffset(0x2D0)] public AtkResNode* LayerSelectionContainerNode;
[FieldOffset(0x2D8), FixedSizeArray] internal FixedSizeArray16<Pointer<AtkComponentRadioButton>> _worldRadioButtons;
[FieldOffset(0x358)] public AtkResNode* CurrentPositionContainerNode;
[FieldOffset(0x360)] public AtkTextNode* CurrentPositionTextNode;
[FieldOffset(0x368)] public AtkResNode* CursorPositionContainerNode;
[FieldOffset(0x370)] public AtkTextNode* CursorPositionTextNode;
[FieldOffset(0x378)] public AtkComponentButton* CloseButton;
[FieldOffset(0x380)] public AtkComponentButton* ResizeButton;
[FieldOffset(0x388)] public AtkResNode* TitleContainerNode;
[FieldOffset(0x390)] public AtkTextNode* TitleTextNode;
[FieldOffset(0x398)] public AtkImageNode* CrosshairImageNode;
[FieldOffset(0x3A0)] public AtkNineGridNode* LocationBackgroundNode;
[FieldOffset(0x3A8)] public Atk2DAreaMap AreaMap;

[FieldOffset(0x7B0)] public ushort MouseXInteger;
Expand Down
15 changes: 15 additions & 0 deletions FFXIVClientStructs/FFXIV/Client/UI/AddonBagWidget.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using FFXIVClientStructs.FFXIV.Component.GUI;

namespace FFXIVClientStructs.FFXIV.Client.UI;

// Client::UI::AddonBagWidget
// Component::GUI::AtkUnitBase
// Component::GUI::AtkEventListener
[Addon("_BagWidget")]
[GenerateInterop]
[Inherits<AtkUnitBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x260)]
public unsafe partial struct AddonBagWidget {
[FieldOffset(0x238), FixedSizeArray] internal FixedSizeArray4<Pointer<AtkComponentButton>> _bagButtonComponents;
[FieldOffset(0x258)] public AtkComponentButton* EquipmentButtonComponent;
}
15 changes: 15 additions & 0 deletions FFXIVClientStructs/FFXIV/Client/UI/AddonChatLog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,23 @@ public unsafe partial struct AddonChatLog {
[FieldOffset(0x2AC)] public byte TabIndex;
[FieldOffset(0x2AD)] public byte TabCount;

[FieldOffset(0x260)] public AtkComponentTextInput* TextInput;
[FieldOffset(0x270), FixedSizeArray] internal FixedSizeArray5<Pointer<AtkComponentTab>> _chatTabs;
[FieldOffset(0x4B8)] public AtkComponentDropDownList* ChannelSelectDropDown;

[FieldOffset(0x2B0), FixedSizeArray] internal FixedSizeArray5<Utf8String> _tabNames;

[FieldOffset(0x508)] public AtkTextNode* CurrentChannelTextNode;
[FieldOffset(0x510)] public AtkComponentNode* SettingsComponentNode;
[FieldOffset(0x518)] public AtkComponentNode* CloseComponentNode;
[FieldOffset(0x520)] public AtkNineGridNode* BackgroundNode;
[FieldOffset(0x528)] public AtkComponentButton* ResizeButton;
[FieldOffset(0x530)] public AtkComponentNode* AddTabComponentNode;
[FieldOffset(0x538)] public AtkImageNode* TabBarEndImageNode;
[FieldOffset(0x540)] public AtkImageNode* TabBarStartImageNode;
[FieldOffset(0x548)] public AtkCollisionNode* ControlsCollisionNode;
[FieldOffset(0x598)] public AtkStage* AtkStage;

[MemberFunction("E8 ?? ?? ?? ?? 84 C0 0F 85 ?? ?? ?? ?? 49 8B B6")]
public partial bool IsZoomed();
}
8 changes: 6 additions & 2 deletions FFXIVClientStructs/FFXIV/Client/UI/AddonChatLogPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,15 @@ namespace FFXIVClientStructs.FFXIV.Client.UI;
[Inherits<AtkUnitBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x3E8)]
public unsafe partial struct AddonChatLogPanel {
[FieldOffset(0x238)] public AtkResNode* ContainerNode;
[FieldOffset(0x240)] public AtkComponentButton* ResizeButton;
[FieldOffset(0x248)] public AtkCollisionNode* PanelCollisionNode;

[FieldOffset(0x250)] public AtkCollisionNode* TabCollisionNode;
[FieldOffset(0x258)] public AtkImageNode* TabStartImageNode;
[FieldOffset(0x260)] public AtkTextNode* TabLabelNode;
[FieldOffset(0x268)] public AtkComponentBase* ChatComponent;
[FieldOffset(0x270)] public AtkTextNode* ChatText;

[FieldOffset(0x278)] public AtkComponentBase* TabComponent;
[FieldOffset(0x280)] public LogViewer LogViewer;

[FieldOffset(0x3DE)] public bool IsResizing;
Expand Down
4 changes: 3 additions & 1 deletion FFXIVClientStructs/FFXIV/Client/UI/AddonCursor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ namespace FFXIVClientStructs.FFXIV.Client.UI;
[GenerateInterop]
[Inherits<AtkUnitBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x2A0)]
public unsafe partial struct AddonCursor;
public unsafe partial struct AddonCursor {
[FieldOffset(0x288)] public AtkResNode* CursorContainerNode; // Same as AtkUnitBase.RootNode
}
7 changes: 5 additions & 2 deletions FFXIVClientStructs/FFXIV/Client/UI/AddonExp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,12 @@ namespace FFXIVClientStructs.FFXIV.Client.UI;
[GenerateInterop]
[Inherits<AtkUnitBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x2A8)]
public partial struct AddonExp {
public unsafe partial struct AddonExp {
[FieldOffset(0x268)] public AtkComponentGaugeBar* ExperienceBarComponent;
[FieldOffset(0x270)] public AtkTextNode* ChainTextNode;
[FieldOffset(0x278)] public AtkImageNode* MoonIconNode;
[FieldOffset(0x280)] public AtkImageNode* SwordsIconNode;
[FieldOffset(0x288)] public byte ClassJob;

[FieldOffset(0x290)] public uint CurrentExp;
[FieldOffset(0x294)] public uint RequiredExp;
[FieldOffset(0x298)] public uint RestedExp;
Expand Down
23 changes: 23 additions & 0 deletions FFXIVClientStructs/FFXIV/Client/UI/AddonLimitBreak.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using FFXIVClientStructs.FFXIV.Component.GUI;

namespace FFXIVClientStructs.FFXIV.Client.UI;

// Client::UI::AddonLimitBreak
// Component::GUI::AtkUnitBase
// Component::GUI::AtkEventListener
[Addon("_LimitBreak")]
[GenerateInterop]
[Inherits<AtkUnitBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x2A8)]
public unsafe partial struct AddonLimitBreak {
[FieldOffset(0x238), FixedSizeArray] internal FixedSizeArray3<GaugeNode> _gaugeNodes;
[FieldOffset(0x280)] public AtkResNode* GaugeContainerNode;
[FieldOffset(0x288)] public AtkTextNode* LimitBreakTextNode;

[StructLayout(LayoutKind.Explicit, Size = 0x18)]
public struct GaugeNode {
[FieldOffset(0x00)] public AtkImageNode* FrameLeftImageNode;
[FieldOffset(0x08)] public AtkComponentBase* ProgressComponent;
[FieldOffset(0x10)] public AtkImageNode* FrameRightImageNode;
}
}
18 changes: 18 additions & 0 deletions FFXIVClientStructs/FFXIV/Client/UI/AddonMoney.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using FFXIVClientStructs.FFXIV.Component.GUI;

namespace FFXIVClientStructs.FFXIV.Client.UI;

// Client::UI::AddonMoney
// Component::GUI::AtkUnitBase
// Component::GUI::AtkEventListener
[Addon("_Money")]
[GenerateInterop]
[Inherits<AtkUnitBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x260)]
public unsafe partial struct AddonMoney {
[FieldOffset(0x238)] public AtkCounterNode* CounterNode;
[FieldOffset(0x240)] public AtkComponentButton* CurrencyButtonComponent;
[FieldOffset(0x248)] public AtkImageNode* CurrencyImageNode;
[FieldOffset(0x250)] public CStringPointer TooltipText;
[FieldOffset(0x258)] public uint IconId; // Currently Displayed Currency IconId
}
3 changes: 3 additions & 0 deletions FFXIVClientStructs/FFXIV/Client/UI/AddonNamePlate.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using FFXIVClientStructs.FFXIV.Client.Graphics.Kernel;
using FFXIVClientStructs.FFXIV.Component.GUI;

namespace FFXIVClientStructs.FFXIV.Client.UI;
Expand All @@ -21,7 +22,9 @@ public unsafe partial struct AddonNamePlate {
// might be 238 not 240 but not super relevant here
[StructLayout(LayoutKind.Explicit, Size = 0x240)]
public struct BakePlateRenderer {
[FieldOffset(0xB0)] public Texture* Texture;
[FieldOffset(0x230)] public byte DisableFixedFontResolution; // added in 5.5
[FieldOffset(0x1E0)] public AtkRenderTexture RenderTexture;
}

// this is the pre-rendered texture data for a nameplate
Expand Down
3 changes: 2 additions & 1 deletion FFXIVClientStructs/FFXIV/Client/UI/AddonNaviMap.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ public unsafe partial struct AddonNaviMap {
[FieldOffset(0x15E8)] public AtkUldAsset* MapImageAsset;
[FieldOffset(0x15F0)] public AtkImageNode* Mask;


[FieldOffset(0x3A78)] public float MarkerPositionScaling; // Same as Atk2DMap.MarkerPositionScaling
[FieldOffset(0x3A7C)] public short MapTextureWidth;
[FieldOffset(0x3A7E)] public short MapTextureHeight;

[FieldOffset(0x38B0)] public AtkRenderTexture RenderTexture;
}
12 changes: 12 additions & 0 deletions FFXIVClientStructs/FFXIV/Client/UI/AddonNotification.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FFXIVClientStructs.FFXIV.Component.GUI;

namespace FFXIVClientStructs.FFXIV.Client.UI;

// Client::UI::AddonNotification
// Component::GUI::AtkUnitBase
// Component::GUI::AtkEventListener
[Addon("_Notification")]
[GenerateInterop]
[Inherits<AtkUnitBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x1078)]
public partial struct AddonNotification;
3 changes: 2 additions & 1 deletion FFXIVClientStructs/FFXIV/Client/UI/AddonPartyList.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ namespace FFXIVClientStructs.FFXIV.Client.UI;
[StructLayout(LayoutKind.Explicit, Size = 0x1590)]
public unsafe partial struct AddonPartyList {
[FieldOffset(0x238), FixedSizeArray] internal FixedSizeArray8<PartyListMemberStruct> _partyMembers;
[FieldOffset(0xA38), FixedSizeArray] internal FixedSizeArray7<PartyListMemberStruct> _trustMembers;
[FieldOffset(0xA38), FixedSizeArray] internal FixedSizeArray8<PartyListMemberStruct> _trustMembers;
[FieldOffset(0x1238)] public PartyListMemberStruct Chocobo;
[FieldOffset(0x1338)] public PartyListMemberStruct Pet;

Expand Down Expand Up @@ -68,6 +68,7 @@ public partial struct PartyListMemberStruct {
[FieldOffset(0xD8)] public AtkResNode* TargetGlowContainer;
[FieldOffset(0xE0)] public AtkNineGridNode* ClickFlash;
[FieldOffset(0xE8)] public AtkNineGridNode* TargetGlow;
[FieldOffset(0xF0)] public AtkCollisionNode* Collision;
[FieldOffset(0xF8)] public byte EmnityByte; //01 or 02 or FF
}
}
7 changes: 6 additions & 1 deletion FFXIVClientStructs/FFXIV/Component/GUI/AtkComponentMap.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using FFXIVClientStructs.FFXIV.Client.Graphics.Kernel;
using FFXIVClientStructs.FFXIV.Client.System.Memory;

namespace FFXIVClientStructs.FFXIV.Component.GUI;
Expand All @@ -10,6 +11,9 @@ namespace FFXIVClientStructs.FFXIV.Component.GUI;
[Inherits<AtkComponentBase>]
[StructLayout(LayoutKind.Explicit, Size = 0x420)]
public unsafe partial struct AtkComponentMap : ICreatable {
[FieldOffset(0xC0)] public AtkImageNode* MapFrameImage; // The color grading texture with map frame, does not include grid
[FieldOffset(0xC8)] public AtkImageNode* BaseMapImage; // The un-blended raw map image, does not include grid or color grading or fog masking
[FieldOffset(0xD0)] public AtkImageNode* DiscoveryPartsImage;
[FieldOffset(0xE0)] public AtkImageNode* PlayerCone;
[FieldOffset(0xE8)] public AtkComponentNode* MarkerTemplate5; // NodeId 5
[FieldOffset(0xF0)] public AtkComponentNode* MarkerTemplate6; // NodeId 6
Expand All @@ -20,7 +24,8 @@ public unsafe partial struct AtkComponentMap : ICreatable {

[FieldOffset(0x138)] public AtkResourceRendererManager ResourceRendererManager;
[FieldOffset(0x250)] public DiscoveryRenderer m_DiscoveryRenderer;
// [FieldOffset(0x268)] public AtkRenderTexture RenderTexture;
[FieldOffset(0x268)] public AtkRenderTexture DiscoveryRenderTexture;
[FieldOffset(0x310)] public Texture* DiscoveryPartsTexture;

[FieldOffset(0x374)] public float MapScale;

Expand Down
10 changes: 10 additions & 0 deletions FFXIVClientStructs/FFXIV/Component/GUI/AtkRenderTexture.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
using FFXIVClientStructs.FFXIV.Client.Graphics.Kernel;

namespace FFXIVClientStructs.FFXIV.Component.GUI;

// Component::GUI::AtkRenderTexture
[StructLayout(LayoutKind.Explicit, Size = 0x18)]
public unsafe struct AtkRenderTexture {
[FieldOffset(0x08)] public Texture* Texture;
[FieldOffset(0x10)] public byte TextureScale;
}
10 changes: 10 additions & 0 deletions ida/data.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7956,6 +7956,16 @@ classes:
Component::GUI::AtkRenderTexture:
vtbls:
- ea: 0x1420A62C0
vfuncs:
0: Dtor
funcs:
0x14061FFC0: ctor
0x14061FFE0: Finalizer
0x140620000: UnsetTexturePointer
0x140620010: UnloadTexture
0x140620040: CreateTexture
0x140620140: GetDisplayWidth
0x140620170: GetDisplayHeight
Component::GUI::AtkCrestManager:
vtbls:
- ea: 0x1420A6348
Expand Down
Loading