Siggingway/README.md

851 B
Executable File

Siggingway

Signature attribute for making working with signatures in Dalamud plugins super braindead.

Usage

public class Plugin : IDalamudPlugin {
    [Signature("DE AD ?? EF", DetourName = nameof(MyDetour)]
    private Hook<MyDelegate>? MyHook { get; init; }
    
    [Signature("CA ?? BA BE")]
    private SomeGameFunctionDelegate? _someGameFunction;
    private delegate void SomeGameFunctionDelegate();

    public Plugin(SigScanner scanner) {
        Siggingway.Siggingway.Initialise(scanner, this);
    
        // you still have to enable the hook
        // be sure to check if it's null    
        this.MyHook?.Enable();
    }
    
    public void Dispose() {
        this.MyHook?.Dispose();
    }
    
    private void MyDetour() {
        // this is called by the hook!

        this._someGameFunction?.Invoke();
    }
}