1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2026-03-22 08:43:24 +08:00

Fix crash in NeutronStarHandler.OnEnable()

This commit is contained in:
2026-03-05 18:28:34 +08:00
parent 6f33669163
commit 6ab286bb0b

View File

@@ -172,6 +172,25 @@ public class PersistPatch : PatchImpl<PersistPatch>
return false;
}
// Fix crash in NeutronStarHandler.OnEnable()
[HarmonyTranspiler]
[HarmonyPatch(typeof(NeutronStarHandler), nameof(NeutronStarHandler.OnEnable))]
private static IEnumerable<CodeInstruction> NeutronStarHandler_OnEnable_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
{
var matcher = new CodeMatcher(instructions, generator);
matcher.MatchForward(false,
new CodeMatch(OpCodes.Ldarg_0),
new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(NeutronStarHandler), nameof(NeutronStarHandler.streamRenderer))),
new CodeMatch(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Renderer), nameof(Renderer.sharedMaterial)))
).RemoveInstructions(3).InsertAndAdvance(
Transpilers.EmitDelegate(() => {
return Configs.builtin.neutronStarPrefab.streamRenderer.sharedMaterial;
})
);
return matcher.InstructionEnumeration();
}
#region Cluster Upload Result
[HarmonyPostfix]