RimWorld

RimWorld

[BT] EyeGenes2 | Base - [NL] Facial Animation |
1.6 error log
Something about Anomaly and void touched

[[BT] EyeGenes2 | Base - [NL] Facial Animation | - Start of stack trace]
Verse.PatchOperationRemove(xpath="Defs/HediffDef[defName="VoidTouched"]/renderNodeProperties"): Failed to find a node with the given xpath
Verse.PatchOperationSequence: Error in the operation at position=1
[End of stack trace]
Source file: D:\Steam\steamapps\workshop\content\294100\2898151329\Additionals\Official\Anomaly\Patches\fix_eyes.xml

[Prepatcher, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.UnityEngine.StackTraceUtility.ExtractStackTrace_Patch1()
[Prepatcher, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Log.Error_Patch5(System.String)
[XML Extensions, XmlExtensions.dll] XmlExtensions.ErrorManager.PrintErrors(System.String source, Verse.ModContentPack mod)
[XML Extensions, XmlExtensions.dll] XmlExtensions.PatchOperation_Patch.Postfix(Verse.PatchOperation __instance, System.Boolean& __result, System.Xml.XmlDocument xml)
[Prepatcher, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.PatchOperation.Apply_Patch2(Verse.PatchOperation, System.Xml.XmlDocument)
[Prepatcher, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.LoadedModManager.ApplyPatches_Patch3(System.Xml.XmlDocument, System.Collections.Generic.Dictionary`2[System.Xml.XmlNode,Verse.LoadableXmlAsset])
[Core, Assembly-CSharp.dll] Verse.LoadedModManager.LoadAllActiveMods(System.Boolean hotReload)
[Core, Assembly-CSharp.dll] Verse.PlayDataLoader.DoPlayLoad()
[Core, Assembly-CSharp.dll] Verse.PlayDataLoader.LoadAllPlayData(System.Boolean recovering)
[Core, Assembly-CSharp.dll] Verse.Root+<>c.<Start>b__10_1()
[Core, Assembly-CSharp.dll] Verse.LongEventHandler.RunEventFromAnotherThread(System.Action action)
[Core, Assembly-CSharp.dll] Verse.LongEventHandler+<>c.<UpdateCurrentAsynchronousEvent>b__28_0()
[System, mscorlib.dll] System.Threading.ThreadHelper.ThreadStart_Context(System.Object state)
[System, mscorlib.dll] System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
[System, mscorlib.dll] System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
[System, mscorlib.dll] System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state)
[System, mscorlib.dll] System.Threading.ThreadHelper.ThreadStart()

and

[[BT] EyeGenes2 | Base - [NL] Facial Animation |] Patch operation Verse.PatchOperationSequence(count=1, lastFailedOperation=Verse.PatchOperationRemove(Defs/HediffDef[defName="VoidTouched"]/renderNodeProperties)) failed
file: D:\Steam\steamapps\workshop\content\294100\2898151329\Additionals\Official\Anomaly\Patches\fix_eyes.xml
[Prepatcher, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.UnityEngine.StackTraceUtility.ExtractStackTrace_Patch1()
[Prepatcher, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Log.Error_Patch5(System.String)
[Core, Assembly-CSharp.dll] Verse.PatchOperation.Complete(System.String modIdentifier)
[Core, Assembly-CSharp.dll] Verse.PatchOperationSequence.Complete(System.String modIdentifier)
[Prepatcher, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.LoadedModManager.ClearCachedPatches_Patch0()
[Core, Assembly-CSharp.dll] Verse.LoadedModManager.LoadAllActiveMods(System.Boolean hotReload)
[Core, Assembly-CSharp.dll] Verse.PlayDataLoader.DoPlayLoad()
[Core, Assembly-CSharp.dll] Verse.PlayDataLoader.LoadAllPlayData(System.Boolean recovering)
[Core, Assembly-CSharp.dll] Verse.Root+<>c.<Start>b__10_1()
[Core, Assembly-CSharp.dll] Verse.LongEventHandler.RunEventFromAnotherThread(System.Action action)
[Core, Assembly-CSharp.dll] Verse.LongEventHandler+<>c.<UpdateCurrentAsynchronousEvent>b__28_0()
[System, mscorlib.dll] System.Threading.ThreadHelper.ThreadStart_Context(System.Object state)
[System, mscorlib.dll] System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
[System, mscorlib.dll] System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
[System, mscorlib.dll] System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state)
[System, mscorlib.dll] System.Threading.ThreadHelper.ThreadStart()

Log: https://gist.github.com/HugsLibRecordKeeper/f76590320d5d9026eac7a94bd51ebc56
< >
Showing 1-3 of 3 comments
I don't have all that much Rimworld XML knowledge, but I think Charmweavers is already removing it so Eyegenes can't actually find it.

<li Class="PatchOperationRemove">
<xpath>Defs/HediffDef[defName="VoidTouched"]/renderNodeProperties</xpath>
</li>

This is in Anomaly-Basic.xml in Charmweavers.
steamapps\workshop\content\294100\3236303965\1.6\LoadFolders\Anomaly\Patches

At the same time, Rimsort is saying my Anomaly has an invalid ID, whatever that means, so I'm checking rimworlds file integrity with steam.

Either way, in my 420 mods pack, the only thing that touches VoidTouched is Eyegenes, Charmweavers and Alpha Genes (just adds it to a blacklist). Considering they both try to remove the same thing, it might be harmless?
Originally posted by Comrade Cyka:
I don't have all that much Rimworld XML knowledge, but I think Charmweavers is already removing it so Eyegenes can't actually find it.

<li Class="PatchOperationRemove">
<xpath>Defs/HediffDef[defName="VoidTouched"]/renderNodeProperties</xpath>
</li>

This is in Anomaly-Basic.xml in Charmweavers.
steamapps\workshop\content\294100\3236303965\1.6\LoadFolders\Anomaly\Patches

At the same time, Rimsort is saying my Anomaly has an invalid ID, whatever that means, so I'm checking rimworlds file integrity with steam.

Either way, in my 420 mods pack, the only thing that touches VoidTouched is Eyegenes, Charmweavers and Alpha Genes (just adds it to a blacklist). Considering they both try to remove the same thing, it might be harmless?

I don't have the best understanding of how Rimworld's XML-based modding works either, but just to be clear - does it look like Charmweavers is removing the eye overlay rendering effects of the Voidtouched hediff globally? Or JUST on the Charmweaver xenotype itself?
ReSplice: Core and EyeGenes2 both remove the renderNodeProperties with this line :
(the incompatibility comes from ReSplice Core and not Charmweavers!)

<li Class="PatchOperationRemove" MayRequire="ludeon.rimworld.anomaly">
<xpath>Defs/HediffDef[defName="VoidTouched"]/renderNodeProperties</xpath>
</li>

ReSplice file :
steamapps\workshop\content\294100\3236303965\1.6\LoadFolders\Anomaly\Patches\Anomaly-Basic.xml
EyeGenes2 file :
steamapps\workshop\content\294100\2898151329\Additionals\Official\Anomaly\Patches\fix_eyes.xml

A quick fix would be to check if Resplice Cpre is present before patching, the following works just fine :

<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<!-- Resplice: Core already fixes this -->
<Operation Class="PatchOperationFindMod">
<mods>
<li>ReSplice: Core</li>
</mods>
<nomatch Class="PatchOperationSequence" MayRequire="ludeon.rimworld.anomaly">
<operations>
<!-- Facial Animation Detected.. graphical data from defaults-->
<li Class="PatchOperationRemove" MayRequire="ludeon.rimworld.anomaly">
<xpath>Defs/HediffDef[defName="VoidTouched"]/renderNodeProperties</xpath>
</li>
</operations>
</nomatch>
</Operation>
</Patch>

You could also use PatchOperationConditional to check if renderNodeProperties is still here before deleting it, that would be better for compatibility but it would still cause issues if ReSplice is loaded after EyeGenes2.
Same fix is required for EyeGenes2 Lite
Last edited by Seromas; 1 hour ago
< >
Showing 1-3 of 3 comments
Per page: 1530 50