fix undefined identifiers in patches overriding each other

This commit is contained in:
Evil Factory
2022-07-14 20:55:39 -03:00
parent a083f8f69e
commit b9ebf04a6a
2 changed files with 20 additions and 4 deletions
@@ -326,8 +326,12 @@ namespace Barotrauma
} }
if (hookPrefixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsFunc, ACsMod)> methodSet)) if (hookPrefixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsFunc, ACsMod)> methodSet))
{
if (identifier != "")
{ {
methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); methodSet.RemoveWhere(tuple => tuple.Item1 == identifier);
}
methodSet.Add((identifier, patch, owner)); methodSet.Add((identifier, patch, owner));
} }
else if (patch != null) else if (patch != null)
@@ -354,8 +358,12 @@ namespace Barotrauma
} }
if (hookPostfixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsFunc, ACsMod)> methodSet)) if (hookPostfixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsFunc, ACsMod)> methodSet))
{
if (identifier != "")
{ {
methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); methodSet.RemoveWhere(tuple => tuple.Item1 == identifier);
}
methodSet.Add((identifier, patch, owner)); methodSet.Add((identifier, patch, owner));
} }
else if (patch != null) else if (patch != null)
@@ -184,8 +184,12 @@ namespace Barotrauma
} }
if (compatHookPrefixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsPatch, ACsMod)> methodSet)) if (compatHookPrefixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsPatch, ACsMod)> methodSet))
{
if (identifier != "")
{ {
methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); methodSet.RemoveWhere(tuple => tuple.Item1 == identifier);
}
methodSet.Add((identifier, patch, owner)); methodSet.Add((identifier, patch, owner));
} }
else if (patch != null) else if (patch != null)
@@ -212,8 +216,12 @@ namespace Barotrauma
} }
if (compatHookPostfixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsPatch, ACsMod)> methodSet)) if (compatHookPostfixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsPatch, ACsMod)> methodSet))
{
if (identifier != "")
{ {
methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); methodSet.RemoveWhere(tuple => tuple.Item1 == identifier);
}
methodSet.Add((identifier, patch, owner)); methodSet.Add((identifier, patch, owner));
} }
else if (patch != null) else if (patch != null)