Open deltaone opened 1 year ago
this might be feature since Bge_Un_S and Bge_Un do the same thing.
It's on purpose. I don't remember what the reasoning was but it was solid, Horse should know. https://github.com/BepInEx/HarmonyX/blob/46b77d08eac32f8d17f0cbe761bd74cd2be21ff7/Harmony/Internal/Patching/ILManipulator.cs#LL25C64-L25C64
I'm running into this same issue. I was hoping to convince a project to switch to HarmonyX but since it seems HX rewrites instructions its breaking transpilers of other stuff built with it...
Would you be willing to accept making NormalizeInstructions an optional step that can be disabled?
Sadly it looks like Horse is on a hiatus so someone else that knows what's up will have to look into this. I'm worried about changing this in case it breaks existing mods, since I assume that fixing some edge case is why the commit happened in the first place. It'd be nice if there was an easy way to compare results between fix and no fix in bulk and do it for a bunch of games...
Use this patch function, original Harmony - ok, HarmonyX - failed ... After debugger - HarmonyX decode Bge_Un_S as Bge_Un ...