Skip to main content

Class BaseAddressResolver

Base memory address resolver.

Assembly: Dalamud.dll
View Source
Declaration
public abstract class BaseAddressResolver

Properties

DebugScannedValues

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

View Source
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.Game.ISigScanner) or Dalamud.Game.BaseAddressResolver.Setup64Bit(Dalamud.Game.ISigScanner).

View Source
Declaration
protected bool IsResolved { get; set; }

Methods

Setup(ISigScanner)

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

View Source
Declaration
public void Setup(ISigScanner scanner)
Parameters
TypeNameDescription
Dalamud.Game.ISigScannerscannerThe SigScanner instance.

GetVirtualFunction<T>(nint, int, int)

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

View Source
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.

View Source
Declaration
protected virtual void Setup32Bit(ISigScanner scanner)
Parameters
TypeNameDescription
Dalamud.Game.ISigScannerscannerThe SigScanner instance.

Setup64Bit(ISigScanner)

Setup the resolver by finding any necessary memory addresses.

View Source
Declaration
protected virtual void Setup64Bit(ISigScanner scanner)
Parameters
TypeNameDescription
Dalamud.Game.ISigScannerscannerThe SigScanner instance.

SetupInternal(ISigScanner)

Setup the resolver by finding any necessary memory addresses.

View Source
Declaration
protected virtual void SetupInternal(ISigScanner scanner)
Parameters
TypeNameDescription
Dalamud.Game.ISigScannerscannerThe SigScanner instance.