public static void FixUILayoutHeightIL(ILContext il) { Console.WriteLine(il.ToString()); ILCursor c = new ILCursor(il); c.GotoNext(MoveType.After, x => x.MatchStfld(typeof(Program).GetField("uiLayoutHeight")), x => x.MatchLdarg(0), x => x.MatchLdfld(typeof(Program).GetField("uiLayoutHeight")), x => x.MatchLdcI4(0x438) ); c.Goto(c.Prev); //Console.WriteLine(c.ToString()); //c.GotoPrev(); //c.Remove(); c.Remove(); c.Emit(OpCodes.Ldc_I4, 5000); c.GotoNext(MoveType.After, x => x.MatchLdarg(0), x => x.MatchLdcI4(0x438) ); c.Goto(c.Prev); //Console.WriteLine(c.ToString()); c.Remove(); c.Emit(OpCodes.Ldc_I4, 5000); //Console.WriteLine(il.ToString()); }
private static void VirtualJoystickOnCheckBinds(ILContext il) { ILCursor ilCursor = new ILCursor(il); LogUtil.Log(il.ToString()); while (ilCursor.TryGotoNext( ins => ins.MatchLdcR4(0.05f) )) { ilCursor.Remove().Emit(OpCodes.Ldc_R4, 0f); } }