private void exportToolStripMenuItem_Click(object sender, EventArgs e) { if (m_cacheFile == null) { return; } SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Archive Dictonary file (*.tad)|*.tad"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { string tadPath = saveFileDialog.FileName; m_cacheFile.Export(tadPath); m_tadFile = new TADFile(tadPath); FilenameDatabase.MapFilenamesToTAD(m_tadFile); DescriptionDatabase.MapDescriptionToTAD(m_tadFile); if (System.Diagnostics.Debugger.IsAttached) { if (MessageBox.Show("Do you want to unpack the TAC file?", "Unpack TAC", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { tadDataTable1.SetTAD(m_tadFile); } } m_cacheFile = new CacheFile(m_tadFile); m_cacheFile.Unpack(); tadDataTable1.SetCache(m_cacheFile); } }
public void GenerateFilenameDatabase(string dataFolder = "", bool inRAM = false) { FilenameDatabase.Clear(); m_tadFiles = new List <TADFile>(); m_tacFiles = new List <TACFile>(); if (!String.IsNullOrEmpty(dataFolder)) { List <string> archiveFiles = new List <string>(); foreach (string file in Directory.GetFiles(dataFolder)) { if (Path.GetExtension(file) == ".tad") { archiveFiles.Add(Path.GetFileName(file).Replace(".tad", "")); } } foreach (string archiveFile in archiveFiles) { string tadFilename = dataFolder + "\\" + archiveFile + ".tad"; string tacFilename = dataFolder + "\\" + archiveFile + ".tac"; TADFile tadFile = new TADFile(tadFilename); m_tadFiles.Add(tadFile); TACFile tacFile = new TACFile(); if (inRAM) { tacFile.Load(tacFilename, tadFile); } else { tacFile.Filename = tacFilename; tacFile.TADFile = tadFile; } m_tacFiles.Add(tacFile); } } int steps = 4; DescriptionChanged(this, new DescriptionChangedArgs("Generating audio database...")); ProgressChanged(this, new ProgressChangedArgs(1, steps)); AudioDatabase.GenerateAudioFilenames(); DescriptionChanged(this, new DescriptionChangedArgs("Generating common database...")); ProgressChanged(this, new ProgressChangedArgs(2, steps)); CommonDatabase.GenerateCommonFilenames(); DescriptionChanged(this, new DescriptionChangedArgs("Generating disk database...")); ProgressChanged(this, new ProgressChangedArgs(3, steps)); DiskDatabase.GenerateDiskFilenames(); DescriptionChanged(this, new DescriptionChangedArgs("Generating shader database...")); ProgressChanged(this, new ProgressChangedArgs(4, steps)); ShaderDatabase.GenerateShaderFilenames(); m_tadFiles.Clear(); m_tacFiles.Clear(); Finished(this, new FinishedArgs(true)); }
public void SetTAD(TADFile tadFile) { button_Refresh.Enabled = false; m_tadFile = tadFile; m_cacheFile = null; TADStatistic statistic = m_tadFile.GetStatistic(); label_Statistic.Text = String.Format(StatisticFormat, statistic.FilesCovered, statistic.FileCount, statistic.FileCoverage); m_sortedEntries = tadFile.FileEntries; UpdateView(); }
public static void MapDescriptionToTAD(TADFile tadFile) { foreach (TADFileEntry entry in tadFile.FileEntries) { foreach (DescriptionDatabaseEntry e in Entries) { if (entry.Filename.Contains(e.ID) || (!String.IsNullOrEmpty(e.ModelID) && entry.Filename.Contains(e.ModelID))) { entry.Description = e.Name; continue; } } } }
public void SetCache(CacheFile cacheFile) { button_Refresh.Enabled = true; m_cacheFile = cacheFile; m_tadFile = m_cacheFile.TADFile; if (m_tadFile == null) { m_sortedEntries = new List <TADFileEntry>(); UpdateView(); return; } TADStatistic statistic = m_tadFile.GetStatistic(); label_Statistic.Text = String.Format(StatisticFormat, statistic.FilesCovered, statistic.FileCount, statistic.FileCoverage); m_sortedEntries = m_tadFile.FileEntries; UpdateView(); }
public void MapDescriptionToTADInstance(TADFile tadFile) { DescriptionChanged(this, new DescriptionChangedArgs("Mapping descriptions to TAD...")); for (int i = 0; i < tadFile.FileEntries.Count; i++) { ProgressChanged(this, new ProgressChangedArgs(i, tadFile.FileEntries.Count)); TADFileEntry entry = tadFile.FileEntries[i]; foreach (DescriptionDatabaseEntry e in Entries) { if (entry.Filename.Contains(e.ID) || (!String.IsNullOrEmpty(e.ModelID) && entry.Filename.Contains(e.ModelID))) { entry.Description = e.Name; continue; } } } Finished(this, new FinishedArgs(true)); }
public static void MapFilenamesToTAD(TADFile tadFile) { foreach (TADFileEntry entry in tadFile.FileEntries) { foreach (FilenameDatabaseEntry dbEntry in Entries) { if (dbEntry.Compare(entry)) { string filename = dbEntry.Filename; if (filename[0] == '.') { filename = filename.Substring(1); } entry.Filename = filename; break; //always use first match } } } }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Cache file (*.cache, *.shdcache)|*.cache;*.shdcache"; if (openFileDialog.ShowDialog() == DialogResult.OK) { m_cacheFile = new CacheFile(); if (Path.GetExtension(openFileDialog.FileName) == ".shdcache") { m_cacheFile.ConvertLegacy(openFileDialog.FileName); } else { m_cacheFile.Read(openFileDialog.FileName); } m_tadFile = m_cacheFile.TADFile; tadDataTable1.SetCache(m_cacheFile); } }