feat: rewrite "ORIG(" in hook macro to original call

This commit is contained in:
goat 2021-05-01 21:19:50 +02:00
parent 92b825104e
commit 7d30a60a5e
No known key found for this signature in database
GPG key ID: F18F057873895461

View file

@ -190,12 +190,18 @@ public class ScratchPlugin : IDalamudPlugin {
if (hook.RetType != "void")
originalCall = "return " + originalCall;
if (hook.Body.Contains("hook{i}Inst.Original"))
if (hook.Body.Contains($"hook{i}Inst.Original(") || hook.Body.Contains("ORIG("))
{
PluginLog.Warning($"Attention! A manual call to Original() in Hook #{i} was detected. Original calls will not be managed for you.");
originalCall = string.Empty;
}
if (hook.Body.Contains("ORIG("))
{
PluginLog.Warning($"Normalizing Original() call in Hook #{i}.");
hook.Body = hook.Body.Replace("ORIG(", $"this.hook{i}Inst.Original(");
}
hookDetour +=
$"private {hook.RetType} Hook{i}Detour({hook.Arguments}) {{\n" +
$"try {{\n" +