Skip to main content

Class BaseAddressResolver

Base memory address resolver.

Assembly: Dalamud.dll
Declaration
public abstract class BaseAddressResolver

Properties

DebugScannedValues

Gets a list of memory addresses that were found, to list in /xldata.

Declaration
public static Dictionary<string, List<(string ClassName, nint Address)>> DebugScannedValues { get; }

IsResolved

Gets or sets a value indicating whether the resolver has successfully run Dalamud.Game.BaseAddressResolver.Setup32Bit(Dalamud.Plugin.Services.ISigScanner) or Dalamud.Game.BaseAddressResolver.Setup64Bit(Dalamud.Plugin.Services.ISigScanner).

Declaration
protected bool IsResolved { get; set; }

Methods

Setup(ISigScanner)

Setup the resolver, calling the appropriate method based on the process architecture.

Declaration
public void Setup(ISigScanner scanner)
Parameters
TypeNameDescription
Dalamud.Plugin.Services.ISigScannerscannerThe SigScanner instance.

GetVirtualFunction<T>(nint, int, int)

Fetch vfunc N from a pointer to the vtable and return a delegate function pointer.

Declaration
public T GetVirtualFunction<T>(nint address, int vtableOffset, int count) where T : class
Returns

<T>: A delegate function pointer that can be invoked.

Parameters
TypeNameDescription
System.IntPtraddressThe address of the virtual table.
System.Int32vtableOffsetThe offset from address to the vtable pointer.
System.Int32countThe vfunc index.
Type Parameters
NameDescription
TThe delegate to marshal the function pointer to.

Setup32Bit(ISigScanner)

Setup the resolver by finding any necessary memory addresses.

Declaration
protected virtual void Setup32Bit(ISigScanner scanner)
Parameters
TypeNameDescription
Dalamud.Plugin.Services.ISigScannerscannerThe SigScanner instance.

Setup64Bit(ISigScanner)

Setup the resolver by finding any necessary memory addresses.

Declaration
protected virtual void Setup64Bit(ISigScanner scanner)
Parameters
TypeNameDescription
Dalamud.Plugin.Services.ISigScannerscannerThe SigScanner instance.

SetupInternal(ISigScanner)

Setup the resolver by finding any necessary memory addresses.

Declaration
protected virtual void SetupInternal(ISigScanner scanner)
Parameters
TypeNameDescription
Dalamud.Plugin.Services.ISigScannerscannerThe SigScanner instance.