|
@@ -59,9 +59,10 @@ namespace COM3D2.CacheEditMenu.Patcher
|
|
|
|
|
|
var sceneEdit = ad.MainModule.GetType("SceneEdit");
|
|
|
var getMenuItemSetUp = sceneEdit.Methods.FirstOrDefault(m => m.Name == "GetMenuItemSetUP");
|
|
|
+ var initMenuItemScript = sceneEdit.Methods.FirstOrDefault(m => m.Name == "InitMenuItemScript");
|
|
|
|
|
|
- var importCm = ad.MainModule.GetType("ImportCM");
|
|
|
- var createTexture = importCm.Methods.FirstOrDefault(m => m.Name == "CreateTexture" && m.Parameters.Count == 1);
|
|
|
+// var importCm = ad.MainModule.GetType("ImportCM");
|
|
|
+// var createTexture = importCm.Methods.FirstOrDefault(m => m.Name == "CreateTexture" && m.Parameters.Count == 1);
|
|
|
|
|
|
var hookType = hookAd.MainModule.GetType("COM3D2.CacheEditMenu.Hooks");
|
|
|
var getMenuItemSetUpPrefix = hookType.Methods.FirstOrDefault(m => m.Name == "Prefix");
|
|
@@ -70,7 +71,14 @@ namespace COM3D2.CacheEditMenu.Patcher
|
|
|
var createTexturePrefix = hookType.Methods.FirstOrDefault(m => m.Name == "CreateTexturePrefix");
|
|
|
|
|
|
PatchHelper(getMenuItemSetUp, getMenuItemSetUpPrefix, getMenuItemSetUpPostfix, 0, 1);
|
|
|
- PatchHelper(createTexture, createTexturePrefix, null, 0);
|
|
|
+
|
|
|
+ var il = initMenuItemScript.Body.GetILProcessor();
|
|
|
+ foreach (var ins in il.Body.Instructions.ToList())
|
|
|
+ {
|
|
|
+ if (ins.OpCode == OpCodes.Call &&
|
|
|
+ ((MethodReference)ins.Operand).Name == "CreateTexture")
|
|
|
+ il.InsertBefore(ins, il.Create(OpCodes.Call, ad.MainModule.ImportReference(createTexturePrefix)));
|
|
|
+ }
|
|
|
|
|
|
var buffer = new byte[4096];
|
|
|
using(var s = typeof(Patcher).Assembly.GetManifestResourceStream(
|