private void ApplyPatches(DirectoryInfo patchFolder) { OnStatusChange(null, new StatusChangeEventArgs("Gathering Patch data...")); FileInfo[] muoFiles = patchFolder.GetFiles("*.muo"); FileInfo[] uopFiles = patchFolder.GetFiles("*.uop"); FileInfo[] mulFiles = patchFolder.GetFiles("verdata.mul"); _allPatchFiles = new List <FileInfo>(); _allPatchFiles.AddRange(muoFiles); _allPatchFiles.AddRange(uopFiles); for (int i = 0; i < mulFiles.Length; i++) { _allPatchFiles.Add(mulFiles[i]); } if (!CrcCheck(_allPatchFiles)) { List <Patch> patches = new List <Patch>(); for (int i = 0; i < _allPatchFiles.Count; i++) { PatchReader reader = new PatchReader(File.OpenRead(_allPatchFiles[i].FullName), PatchReader.ExtensionToPatchFileType(_allPatchFiles[i].FullName)); patches.AddRange(reader.ReadPatches()); reader.Close(); } _patcher = new Patcher(patches.ToArray(), patchFolder.FullName, _oldPatchingStyle); //Switch argument 2 to false for new patching system. _patcher.ProgressChange += new ProgressChangeHandler(OnPatchProgressChange); _patcher.PatchingComplete += new OperationCompleteHandler(OnPatchingComplete); _patcher.StatusChange += new StatusChangeHandler(OnStatusChange); _patcher.WritePatches(); } else { OnPatchingComplete(null, new OperationCompleteArgs()); } }
private void ApplyPatches(DirectoryInfo patchFolder) { OnStatusChange(null, new StatusChangeEventArgs("Gathering Patch data...")); FileInfo[] muoFiles = patchFolder.GetFiles("*.muo"); FileInfo[] uopFiles = patchFolder.GetFiles("*.uop"); FileInfo[] mulFiles = patchFolder.GetFiles("verdata.mul"); _allPatchFiles = new List<FileInfo>(); _allPatchFiles.AddRange(muoFiles); _allPatchFiles.AddRange(uopFiles); for( int i = 0; i < mulFiles.Length; i++ ) _allPatchFiles.Add(mulFiles[i]); if( !CrcCheck(_allPatchFiles) ) { List<Patch> patches = new List<Patch>(); for( int i = 0; i < _allPatchFiles.Count; i++ ) { PatchReader reader = new PatchReader(File.OpenRead(_allPatchFiles[i].FullName), PatchReader.ExtensionToPatchFileType(_allPatchFiles[i].FullName)); patches.AddRange(reader.ReadPatches()); reader.Close(); } _patcher = new Patcher(patches.ToArray(), patchFolder.FullName, _oldPatchingStyle);//Switch argument 2 to false for new patching system. _patcher.ProgressChange += new ProgressChangeHandler(OnPatchProgressChange); _patcher.PatchingComplete += new OperationCompleteHandler(OnPatchingComplete); _patcher.StatusChange += new StatusChangeHandler(OnStatusChange); _patcher.WritePatches(); } else OnPatchingComplete(null, new OperationCompleteArgs()); }