From 7d30a60a5ec59c15b790185de78c1cd3cc191a7d Mon Sep 17 00:00:00 2001 From: goat <16760685+goaaats@users.noreply.github.com> Date: Sat, 1 May 2021 21:19:50 +0200 Subject: [PATCH] feat: rewrite "ORIG(" in hook macro to original call --- Dalamud/Interface/Scratchpad/ScratchMacroProcessor.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Dalamud/Interface/Scratchpad/ScratchMacroProcessor.cs b/Dalamud/Interface/Scratchpad/ScratchMacroProcessor.cs index ad29affae..68d5dab80 100644 --- a/Dalamud/Interface/Scratchpad/ScratchMacroProcessor.cs +++ b/Dalamud/Interface/Scratchpad/ScratchMacroProcessor.cs @@ -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" +