private static bool TryBaselineAndDefine(AvailableDevices ad, string patchPath, string romPath, string build, string defPath) { using (Stream romStream = File.OpenRead(romPath)) { Mod patcher = new Mod(patchPath, build); if (!patcher.TryReadPatches()) return false; if (!patcher.TryDefinition(ad, defPath)) return false; return patcher.TryPrintBaselines(patchPath,romStream); } }
public static bool TryDefine(AvailableDevices ad, string patchPath, string romPath, string bc, string defPath) { using (Stream romStream = File.OpenRead(romPath)) { Mod mod = new Mod(patchPath, bc); return mod.TryDefinition(ad, defPath); } }
public static bool TryHewBuild(AvailableDevices ad, string patchPath, string romPath, string bc, string defPath) { Mod mod = new Mod(patchPath, bc); using (Stream romStream = File.OpenRead(romPath)) { Trace.WriteLine("Attempting to read patches"); if (!mod.TryReadPatches()) { PrintError("READING PATCH"); return false; } Trace.WriteLine("Attempting to baseline patches"); if (!mod.TryPrintBaselines(patchPath, romStream)) { PrintError("GENERATING BASELINES"); return false; } } File.Copy(romPath, "oem.bin", true); Trace.WriteLine("Attempting to test patches"); if (!mod.TryCheckApplyMod(romPath, romPath, true, false)) //&& !mod.TryCheckApplyMod(romPath, romPath, false, false)) ; { PrintError("TESTING PATCH"); return false; } Trace.WriteLine("Attempting to apply patches"); if (!mod.TryCheckApplyMod(romPath, romPath, true, true)) { PrintError("APPLYING PATCH"); return false; } Trace.WriteLine("Attempting to remove patches"); File.Copy(romPath, "reverted.bin", true); if (!mod.TryCheckApplyMod("reverted.bin", "reverted.bin", false, true)) { PrintError("REMOVING PATCH"); return false; } Trace.WriteLine("Attempting to verify patch removal"); if (!Utils.FileCompare("reverted.bin", "oem.bin")) { PrintError("VERIFYING REMOVED PATCH"); return false; } Trace.WriteLine("Attempting to define patch"); if (!mod.TryDefinition(ad, defPath)) { PrintError("WRITING DEFINITIONS"); return false; } Trace.WriteLine("Attempting to copy patch to: "+ bc + "\\" + mod.InitialCalibrationId + "\\" + mod.FileName); string d = bc + "\\" + mod.InitialCalibrationId + "\\"; Directory.CreateDirectory(d); string c = d + mod.FileName; File.Copy(mod.FilePath,c,true); Trace.WriteLine("HEW BUILD SUCCESS!!"); return true; }