Skip to content
Merged
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
3 changes: 3 additions & 0 deletions FFXIVClientStructs/FFXIV/Client/Game/HousingManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,9 @@ public unsafe partial struct HousingManager {
/// <returns>True or False</returns>
[MemberFunction("E8 ?? ?? ?? ?? 88 45 38")]
public static partial bool IsSubmarineExplorationExplored(byte point);

[MemberFunction("48 83 EC ?? 45 0F B6 C0 45 33 C9 0F B7 D2")]
public static partial void RequestWardInfo(ushort territoryType, byte wardIndex);

public HousingTerritoryType GetCurrentHousingTerritoryType()
=> CurrentTerritory != null ? CurrentTerritory->GetTerritoryType() : HousingTerritoryType.None;
Expand Down
50 changes: 50 additions & 0 deletions FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentHousingPortal.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using FFXIVClientStructs.FFXIV.Client.Game.Network;
using FFXIVClientStructs.FFXIV.Component.GUI;

namespace FFXIVClientStructs.FFXIV.Client.UI.Agent;

Expand All @@ -10,6 +11,55 @@ namespace FFXIVClientStructs.FFXIV.Client.UI.Agent;
[Inherits<AgentInterface>]
[StructLayout(LayoutKind.Explicit, Size = 0xA0)]
public unsafe partial struct AgentHousingPortal {

[FieldOffset(0x30)] public uint ConfirmAddonId;
[FieldOffset(0x34)] public ushort PortalMenuAddonId;
[FieldOffset(0x36)] public ushort WardSelectAddonId;
[FieldOffset(0x38)] public ushort TerritoryType;

[FieldOffset(0x3C)] public int SelectedWardIndex;

[FieldOffset(0x44), FixedSizeArray] internal FixedSizeArray60<bool> _plotOccupied;

/// <summary>
/// 0 - Teleport to Personal Estate ward <br/>
/// 1 - Teleport to Free Company Estate ward <br/>
/// 2 - Teleport to Apartment Room ward <br/>
/// 3 - Clear ward selection <br/>
/// 4 - Unknown <br/>
/// 5 - Unknown <br/>
/// </summary>
[FieldOffset(0x80)] public int SelectedMenuAction;
[FieldOffset(0x84), FixedSizeArray] internal FixedSizeArray6<uint> _menuActions;
[FieldOffset(0x9C)] public uint MenuItemCount;

[MemberFunction("40 55 53 41 54 41 55 41 57 48 8D AC 24 ?? ?? ?? ?? B8")]
public partial void ReadPacket(HousingPortalPacket* packet);

[MemberFunction("E8 ?? ?? ?? ?? EB ?? BA ?? ?? ?? ?? EB ?? BA ?? ?? ?? ?? EB ?? 48 8B CE")]
public partial void SelectWard(int wardIndex);

/// <summary>
/// <see cref="SelectedMenuAction"/>
/// </summary>
[MemberFunction("48 89 6C 24 ?? 48 89 74 24 ?? 48 89 7C 24 ?? 41 56 48 83 EC ?? 8B B1 ?? ?? ?? ?? 48 8B F9 83 FE")]
public partial bool TeleportToOwnEstateWard();

[MemberFunction("48 89 5C 24 ?? 48 89 6C 24 ?? 48 89 74 24 ?? 57 41 56 41 57 48 83 EC ?? 48 8B F9 48 8B F2")]
public partial bool ProcessPortalMenuSelect(AtkValue* values);

[MemberFunction("48 89 5C 24 ?? 48 89 6C 24 ?? 48 89 74 24 ?? 57 41 56 41 57 48 83 EC ?? 48 8B F1 48 8B DA")]
public partial bool ProcessAction(AtkValue* values);

[MemberFunction("48 89 5C 24 ?? 57 48 83 EC ?? 48 8B D9 33 FF 89 79 ?? 48 8B CA E8 ?? ?? ?? ?? 83 F8 ?? 0F 84")]
public partial bool ProcessMenuConfirm(AtkValue* values);

[MemberFunction("40 53 48 83 EC ?? 48 8B D9 C7 41 ?? ?? ?? ?? ?? 48 8B CA E8 ?? ?? ?? ?? 85 C0 75 ?? 44 8B 43")]
public partial bool ConfirmTeleport(AtkValue* values);

[MemberFunction("E8 ?? ?? ?? ?? 48 8B 74 24 ?? B1 ?? EB")]
public partial void OpenPortalMenu(ushort territoryType, AtkModuleInterface.AtkEventInterface* eventInterface, uint menuAction);

[MemberFunction("E8 ?? ?? ?? ?? B3 ?? E9 ?? ?? ?? ?? 83 FD")]
public partial void ShowTeleportConfirm(CStringPointer text, uint callbackEventKind, ushort parentAddonId);
}
9 changes: 9 additions & 0 deletions ida/data.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2319,6 +2319,7 @@ classes:
0x140E1E0A0: SetTemporaryObject
0x140E1E160: SetTemporaryObjectStain
0x140E1D2B0: DepositItemInStoreroom
0x140E20400: RequestWardInfo
Client::Game::HouseId:
funcs:
0x140E24E80: GetWardIndex
Expand Down Expand Up @@ -13785,6 +13786,14 @@ classes:
funcs:
0x14173AA10: ctor
0x14173B3F0: ReadPacket
0x14173B330: ConfirmTeleport
0x14173BF00: SelectWard
0x14173C2C0: TeleportToOwnEstate
0x14173AD10: ProcessPortalMenuSelect
0x14173AF00: ProcessAction
0x14173B1D0: ProcessMenuConfirm
0x14173B8C0: OpenPortalMenu
0x14173C170: ShowTeleportConfirm
Client::UI::Agent::AgentHousingTravellersNote:
vtbls:
- ea: 0x1422CEB70
Expand Down
Loading