private void buttonMetaLoad_Click(object sender, EventArgs e) { OpenFileDialog LoadMeta = new OpenFileDialog(); LoadMeta.Filter = "Metadata XML|*.xml"; DialogResult LoadResult = LoadMeta.ShowDialog(); if (LoadResult != DialogResult.OK) { return; } ModEntry modMetaData = new ModEntry(); modMetaData.ReadFromFile(LoadMeta.FileName); textModName.Text = modMetaData.Name; textModVersion.Text = modMetaData.Version; textModAuthor.Text = modMetaData.Author; textModWebsite.Text = modMetaData.Website; textModDescription.Text = modMetaData.Description.Replace("\n", "\r\n"); foreach (string li in comboForVersion.Items) { if (modMetaData.MGSVersion.AsString() == li) { comboForVersion.SelectedIndex = comboForVersion.Items.IndexOf(li); break; } } }
private void PopulateBoxes(string DataPath) { // unpack existing fpks foreach (string fpkFile in Directory.GetFiles(DataPath, "*.fpk*", SearchOption.AllDirectories)) { string fpkDir = Path.Combine(Path.GetDirectoryName(fpkFile), Path.GetFileName(fpkFile).Replace(".", "_")); if (!Directory.Exists(fpkDir)) { //extract fpk GzsLib.ExtractArchive <FpkFile>(fpkFile, fpkDir); } } foreach (string modFile in Directory.GetFiles(DataPath, "*.*", SearchOption.AllDirectories)) { string filePath = modFile.Substring(DataPath.Length).Replace("\\", "/"); if (Tools.IsValidFile(filePath) && filePath != "/metadata.xml") { listModFiles.Items.Add(filePath); } } if (File.Exists(Path.Combine(DataPath, "metadata.xml"))) { ModEntry modMetaData = new ModEntry(); modMetaData.ReadFromFile(Path.Combine(DataPath, "metadata.xml")); textModName.Text = modMetaData.Name; textModVersion.Text = modMetaData.Version; textModAuthor.Text = modMetaData.Author; textModWebsite.Text = modMetaData.Website; textModDescription.Text = modMetaData.Description.Replace("\n", "\r\n"); foreach (string li in comboForVersion.Items) { if (modMetaData.MGSVersion.AsString() == li) { comboForVersion.SelectedIndex = comboForVersion.Items.IndexOf(li); break; } } } if (File.Exists(DataPath + "\\readme.txt")) { StreamReader s = new StreamReader(DataPath + "\\readme.txt"); string readme = s.ReadToEnd(); textModDescription.Text = readme; } }
private void PopulateBoxes(string modPath) { // unpack existing fpks if extracted folders don't exist foreach (string fpkFile in Directory.GetFiles(modPath, "*.fpk*", SearchOption.AllDirectories)) { //tex chunk0\Assets\tpp\pack\collectible\common\col_common_tpp_fpk\Assets\tpp\pack\resident\resident00.fpkl is the only fpkl, don't know what a fpkl is, but gzcore crashes on it. also checks for xml in case user opened the fpk with gzstool and produced a xml file if (fpkFile.EndsWith(".fpkl") || fpkFile.EndsWith(".xml")) { continue; } string fpkDir = Path.Combine(Path.GetDirectoryName(fpkFile), Path.GetFileName(fpkFile).Replace(".", "_")); if (!Directory.Exists(fpkDir)) { //extract fpk GzsLib.ExtractArchive <FpkFile>(fpkFile, fpkDir); } } foreach (string modFile in Directory.GetFiles(modPath, "*.*", SearchOption.AllDirectories)) { string filePath = modFile.Substring(modPath.Length).Replace("\\", "/"); //GOTCHA: IsValidFile is only roughly accurate for this purpose, but listModFiles is only currently being used as non interactive user feedback so no big issue. if ((Tools.IsValidFile(filePath) || filePath.Contains("/GameDir")) && filePath != "/metadata.xml") { listModFiles.Items.Add(filePath); } } if (File.Exists(Path.Combine(modPath, "metadata.xml"))) { ModEntry modMetaData = new ModEntry(); modMetaData.ReadFromFile(Path.Combine(modPath, "metadata.xml")); textModName.Text = modMetaData.Name; textModVersion.Text = modMetaData.Version; textModAuthor.Text = modMetaData.Author; textModWebsite.Text = modMetaData.Website; textModDescription.Text = modMetaData.Description.Replace("\n", "\r\n"); string mgsvVersion = modMetaData.MGSVersion.AsString(); bool foundVersion = false; foreach (string li in comboForVersion.Items) { if (mgsvVersion == li) { comboForVersion.SelectedIndex = comboForVersion.Items.IndexOf(li); foundVersion = true; break; } } if (!foundVersion) { comboForVersion.Items.Add(mgsvVersion); comboForVersion.Text = mgsvVersion; } } if (File.Exists(modPath + "\\readme.txt")) { StreamReader s = new StreamReader(modPath + "\\readme.txt"); string readme = s.ReadToEnd(); textModDescription.Text = readme; } }