From ee2c825d04c3cdaebbadec2128e87b6cbfc496a2 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Thu, 22 Aug 2024 11:22:49 +0200 Subject: [PATCH] Refactor ldc_i4 to ldfld --- .../SupermarketTogether/SupermarketTogether/Class1.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Projects/SupermarketTogether/SupermarketTogether/Class1.cs b/Projects/SupermarketTogether/SupermarketTogether/Class1.cs index a047c25..bf54185 100644 --- a/Projects/SupermarketTogether/SupermarketTogether/Class1.cs +++ b/Projects/SupermarketTogether/SupermarketTogether/Class1.cs @@ -67,8 +67,12 @@ namespace CykaMod { for (int i = 1; i < codes.Count; i++) { if (previous.opcode == OpCodes.Ldsfld && codes[i].opcode == OpCodes.Callvirt) { Console.WriteLine("Found Ldsfld and Callvirt"); - codes.Insert(i + 1, new CodeInstruction(OpCodes.Ldc_I4, Main.playersAdded.Value)); - codes.Insert(i + 2, new CodeInstruction(OpCodes.Add)); + codes.Insert(i + 1, + new CodeInstruction(OpCodes.Ldsfld, AccessTools.Field(typeof(Main), "playersAdded"))); + codes.Insert(i + 2, + new CodeInstruction(OpCodes.Call, + AccessTools.PropertyGetter(typeof(Main).GetField("playersAdded").FieldType, "Value"))); + codes.Insert(i + 3, new CodeInstruction(OpCodes.Add)); } previous = codes[i];