From 9186a1cf54a302c04d4fcad0b6aef060f6393d7a Mon Sep 17 00:00:00 2001 From: attickdoor Date: Fri, 13 Mar 2020 23:44:09 -0400 Subject: [PATCH] do-while is actually more elegant for once --- Dalamud/Game/SigScanner.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Dalamud/Game/SigScanner.cs b/Dalamud/Game/SigScanner.cs index d1b8f122c..a9508ad47 100644 --- a/Dalamud/Game/SigScanner.cs +++ b/Dalamud/Game/SigScanner.cs @@ -185,14 +185,15 @@ namespace Dalamud.Game { public IntPtr GetStaticAddressFromSig(string signature, int offset) { IntPtr instrAddr = ScanText(signature); - instrAddr = IntPtr.Add(instrAddr, offset + 1); + instrAddr = IntPtr.Add(instrAddr, offset); long bAddr = (long)Module.BaseAddress; - var num = (long)Marshal.ReadInt32(instrAddr) + (long)instrAddr + 4 - bAddr; - while(! (num >= DataSectionOffset && num <= DataSectionOffset + DataSectionSize)) + long num; + do { - instrAddr= IntPtr.Add(instrAddr, 1); + instrAddr = IntPtr.Add(instrAddr, 1); num = Marshal.ReadInt32(instrAddr) + (long)instrAddr + 4 - bAddr; } + while (!(num >= DataSectionOffset && num <= DataSectionOffset + DataSectionSize)); return IntPtr.Add(instrAddr, Marshal.ReadInt32(instrAddr) + 4); }