mirror of
https://github.com/goatcorp/Dalamud.git
synced 2026-01-01 05:13:40 +01:00
feat: add territorytype to client state
This commit is contained in:
parent
00b263f08e
commit
be3a07f1d4
3 changed files with 9 additions and 3 deletions
|
|
@ -32,7 +32,6 @@ namespace Dalamud.Game.ClientState
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The local player character, if one is present.
|
/// The local player character, if one is present.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
//public PlayerCharacter LocalPlayer { get; private set; }
|
|
||||||
public PlayerCharacter LocalPlayer {
|
public PlayerCharacter LocalPlayer {
|
||||||
get {
|
get {
|
||||||
var actor = this.Actors[0];
|
var actor = this.Actors[0];
|
||||||
|
|
@ -43,7 +42,8 @@ namespace Dalamud.Game.ClientState
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//public PlayerCharacter LocalPlayer => null;
|
|
||||||
|
public ushort TerritoryType => (ushort) Marshal.ReadInt16(Address.TerritoryType);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The content ID of the local character.
|
/// The content ID of the local character.
|
||||||
|
|
@ -73,6 +73,8 @@ namespace Dalamud.Game.ClientState
|
||||||
|
|
||||||
this.JobGauges = new JobGauges(Address);
|
this.JobGauges = new JobGauges(Address);
|
||||||
|
|
||||||
|
Log.Verbose("TerritoryType address {TerritoryType}", Address.TerritoryType);
|
||||||
|
|
||||||
dalamud.Framework.OnUpdateEvent += FrameworkOnOnUpdateEvent;
|
dalamud.Framework.OnUpdateEvent += FrameworkOnOnUpdateEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Dalamud.Game.Internal;
|
using Dalamud.Game.Internal;
|
||||||
|
|
@ -10,12 +11,14 @@ namespace Dalamud.Game.ClientState
|
||||||
public sealed class ClientStateAddressResolver : BaseAddressResolver {
|
public sealed class ClientStateAddressResolver : BaseAddressResolver {
|
||||||
public IntPtr ActorTable { get; private set; }
|
public IntPtr ActorTable { get; private set; }
|
||||||
public IntPtr LocalContentId { get; private set; }
|
public IntPtr LocalContentId { get; private set; }
|
||||||
public IntPtr JobGaugeData { get; set; }
|
public IntPtr JobGaugeData { get; private set; }
|
||||||
|
public IntPtr TerritoryType { get; private set; }
|
||||||
|
|
||||||
protected override void Setup64Bit(SigScanner sig) {
|
protected override void Setup64Bit(SigScanner sig) {
|
||||||
ActorTable = sig.GetStaticAddressFromSig("48 8D 0D ?? ?? ?? ?? 85 ED", 0) + 0x148;
|
ActorTable = sig.GetStaticAddressFromSig("48 8D 0D ?? ?? ?? ?? 85 ED", 0) + 0x148;
|
||||||
LocalContentId = sig.Module.BaseAddress + 0x1C2E000;
|
LocalContentId = sig.Module.BaseAddress + 0x1C2E000;
|
||||||
JobGaugeData = sig.GetStaticAddressFromSig("E8 ?? ?? ?? ?? FF C6 48 8D 5B 0C", 0xB9) + 0x10;
|
JobGaugeData = sig.GetStaticAddressFromSig("E8 ?? ?? ?? ?? FF C6 48 8D 5B 0C", 0xB9) + 0x10;
|
||||||
|
TerritoryType = sig.GetStaticAddressFromSig("E8 ?? ?? ?? ?? 0F B6 5F 12 8B C8", 0x26);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,7 @@ namespace Dalamud.Interface
|
||||||
stateString += $"HomeWorldName: {this.dalamud.ClientState.LocalPlayer.HomeWorld.GameData.Name}\n";
|
stateString += $"HomeWorldName: {this.dalamud.ClientState.LocalPlayer.HomeWorld.GameData.Name}\n";
|
||||||
stateString += $"LocalCID: {this.dalamud.ClientState.LocalContentId:X}\n";
|
stateString += $"LocalCID: {this.dalamud.ClientState.LocalContentId:X}\n";
|
||||||
stateString += $"LastLinkedItem: {this.dalamud.Framework.Gui.Chat.LastLinkedItemId.ToString()}\n";
|
stateString += $"LastLinkedItem: {this.dalamud.Framework.Gui.Chat.LastLinkedItemId.ToString()}\n";
|
||||||
|
stateString += $"TerritoryType: {this.dalamud.ClientState.TerritoryType}\n";
|
||||||
|
|
||||||
for (var i = 0; i < this.dalamud.ClientState.Actors.Length; i++) {
|
for (var i = 0; i < this.dalamud.ClientState.Actors.Length; i++) {
|
||||||
var actor = this.dalamud.ClientState.Actors[i];
|
var actor = this.dalamud.ClientState.Actors[i];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue