public PACInfoWindow(RepackPAC repackInstance) { InitializeComponent(); this.repackInstance = repackInstance; // TODO: remove this and use ViewModel repackInstance.initializePACInfoFileRepack(); repackInstance.parseInfo(); parsedFileInfo = repackInstance.parsedFileInfo; refreshTree(); }
public void repackData( string reimportRepackedFiles, string reimportFilestoRepack, string unitFolderName, string data, string reimportConvertedfromMBONFolder, Unit_Files_List unit_Files ) { RepackPAC repackInstance = new RepackPAC(Properties.Settings.Default.OutputRepackPAC); Properties.Settings.Default.OutputRepackPAC = reimportRepackedFiles; string data_folder_path = reimportFilestoRepack + @"\Data - " + unit_Files.data_and_script_PAC_hash.ToString("X8"); Directory.CreateDirectory(data_folder_path); /// Repack Data Folder DirectoryCopy(repackTemplates + @"\Data", data_folder_path, true); string data_001FHM_path = data_folder_path + @"\001-FHM\"; FileStream fs002 = File.Create(data_001FHM_path + @"\002.bin"); FileStream vardataFS = File.OpenRead(reimportConvertedfromMBONFolder + @"\Unit Variables\UnitData.bin"); vardataFS.Seek(0, SeekOrigin.Begin); vardataFS.CopyTo(fs002); fs002.Close(); vardataFS.Close(); FileStream fs003 = File.Create(data_001FHM_path + @"\003.bin"); FileStream MBON003FS = File.OpenRead(data + @"\001-FHM\003.bin"); MBON003FS.Seek(0, SeekOrigin.Begin); MBON003FS.CopyTo(fs003); fs003.Close(); MBON003FS.Close(); FileStream fs005 = File.Create(data_001FHM_path + @"\005.bin"); FileStream MBON005FS = File.OpenRead(data + @"\001-FHM\005.bin"); MBON005FS.Seek(0, SeekOrigin.Begin); MBON005FS.CopyTo(fs005); fs005.Close(); MBON005FS.Close(); FileStream fs006 = File.Create(data_001FHM_path + @"\006.bin"); FileStream mscFS = File.OpenRead(XBScriptFolder + @"\Compiled Refactored Script\" + unitFolderName + ".mscsb"); mscFS.Seek(0, SeekOrigin.Begin); mscFS.CopyTo(fs006); fs006.Close(); mscFS.Close(); FileStream fs008 = File.Create(data_001FHM_path + @"\008.bin"); FileStream voicelogicFS = File.OpenRead(reimportConvertedfromMBONFolder + @"\Voice Data\006.bin"); voicelogicFS.Seek(0, SeekOrigin.Begin); voicelogicFS.CopyTo(fs008); fs008.Close(); voicelogicFS.Close(); Properties.Settings.Default.OpenRepackPath = data_folder_path; repackInstance.initializePACInfoFileRepack(); repackInstance.parseInfo(); repackInstance.repackPAC(); // Get unit's english name UnitIDList unit_Infos = load_UnitID(); string unitName = unit_Infos.Unit_ID.FirstOrDefault(s => s.id == unit_Files.Unit_ID).name_english.Replace(" ", "_"); unitName = unitName.Replace(".", "_"); unitName = unitName.Replace("∀", "Turn_A"); string basePsarcRepackFolder = XBCombinedPsarcFolder + @"\Units\FB_Units\" + unitName; string[] allRepackedPACs = Directory.GetFiles(reimportRepackedFiles, "*", SearchOption.TopDirectoryOnly); string Data_Path = basePsarcRepackFolder + @"\Data\PATCH" + unit_Files.data_and_script_PAC_hash.ToString("X8") + ".PAC"; FileStream dataFS = File.OpenRead(allRepackedPACs.FirstOrDefault(s => s.Contains("Data"))); dataFS.Seek(0, SeekOrigin.Begin); FileStream newDataFS = File.Create(Data_Path); dataFS.CopyTo(newDataFS); dataFS.Close(); newDataFS.Close(); }