36 lines
851 B
Markdown
Executable File
36 lines
851 B
Markdown
Executable File
# Siggingway
|
|
|
|
Signature attribute for making working with signatures in Dalamud plugins super
|
|
braindead.
|
|
|
|
## Usage
|
|
|
|
```cs
|
|
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();
|
|
}
|
|
}
|
|
```
|