You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Similarly to pardeike/Harmony#408, this repository has the same problem: __state is shared between all methods with the same fullname, but from different assemblies.
This was fixed in pardeike/Harmony@b906d04 by replacing occurrences of FullName by AssemblyQualifiedName in MethodPatcher.cs (here, the file is Harmony/Public/Patching/HarmonyManipulator.cs).
The text was updated successfully, but these errors were encountered:
We in the BattleTech modding community are actually relying on FullName.
Due to only recently allowing HarmonyX, all mods need Hamony1 and expect some old prefix behavior for skipping, so we wrap those nicely. Wrappers are created in dynamically assemblied assembiles, but with the same FullName as the original patch method. Postfixes and prefixes would not be connected anymore if AssemblyQualifiedName is suddenly used, as they are in different assemblies.
I really wish we could just specify an identifier via an attribute, that the __state variable is then using instead of that implicit stuff. Its already bad enough that for __state to work, pre and postfix have to be in the same class.
We have switched to using dynamic methods and the actual type as owner. As a consequence, we would be fine if the actual DeclaringType would be used or just the AssemblyQualifiedName of said type. The DynamicMethod idea did not pan out, can't use it with the limitation that Harmony(X) has with it. So we still need FullName!
Similarly to pardeike/Harmony#408, this repository has the same problem:
__state
is shared between all methods with the same fullname, but from different assemblies.This was fixed in pardeike/Harmony@b906d04 by replacing occurrences of
FullName
byAssemblyQualifiedName
in MethodPatcher.cs (here, the file is Harmony/Public/Patching/HarmonyManipulator.cs).The text was updated successfully, but these errors were encountered: