private void createSingleModToolStripMenuItem_Click(object sender, EventArgs e) { int n = listBox1.SelectedIndex; if (n == -1) return; MessageBox.Show("Please select replacement texture (same size)"); OpenFileDialog d = new OpenFileDialog(); d.Filter = "*.dds|*.dds"; if (d.ShowDialog() == System.Windows.Forms.DialogResult.OK) { byte[] data = File.ReadAllBytes(d.FileName); MessageBox.Show("Please select mod save location"); SaveFileDialog d2 = new SaveFileDialog(); d2.Filter = "*.DAIMWV|*.DAIMWV"; if (d2.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Mod mod = new Mod(); mod.jobs = new List<Mod.ModJob>(); Mod.ModJob mj = new Mod.ModJob(); mj.type = 0; mj.bundlePaths = new List<string>(); mj.tocPaths = new List<string>(); int plen = GlobalStuff.FindSetting("gamepath").Length; DBAccess.BundleInformation buni = bil[n]; DBAccess.TextureInformation ti = new DBAccess.TextureInformation(); foreach (DBAccess.TextureInformation t in til) if (t.bundleIndex == buni.index) ti = t; DBAccess.TOCInformation toci = DBAccess.GetTocInformationByIndex(buni.tocIndex); mj.respath = ti.name; mj.bundlePaths.Add(buni.bundlepath); mj.tocPaths.Add(toci.path.Substring(plen, toci.path.Length - plen)); MemoryStream m = new MemoryStream(); m.Write(data, 0x80, data.Length - 0x80); mj.data = m.ToArray(); mod.jobs.Add(mj); mod.Save(d2.FileName); MessageBox.Show("Done."); } } }
private void createSingleModToolStripMenuItem_Click(object sender, EventArgs e) { int n = listBox2.SelectedIndex; if (n == -1) return; MessageBox.Show("Please select replacement data"); OpenFileDialog d = new OpenFileDialog(); d.Filter = "*.bin|*.bin"; if (d.ShowDialog() == System.Windows.Forms.DialogResult.OK) { byte[] data = File.ReadAllBytes(d.FileName); MessageBox.Show("Please select mod save location"); SaveFileDialog d2 = new SaveFileDialog(); d2.Filter = "*.DAIMWV|*.DAIMWV"; if (d2.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Mod mod = new Mod(); mod.jobs = new List<Mod.ModJob>(); Mod.ModJob mj = new Mod.ModJob(); mj.type = 1; mj.bundlePaths = new List<string>(); mj.tocPaths = new List<string>(); int plen = GlobalStuff.FindSetting("gamepath").Length; DBAccess.RESInformation resi = ttprevlist[n]; mj.respath = resi.resname; mj.bundlePaths.Add(resi.bundlepath); mj.tocPaths.Add(resi.tocfilepath.Substring(plen)); MemoryStream m = new MemoryStream(); m.Write(data, 0x80, data.Length - 0x80); mj.data = m.ToArray(); mj.restype = types[toolStripComboBox1.SelectedIndex]; mod.jobs.Add(mj); mod.Save(d2.FileName); MessageBox.Show("Done."); } } }
private void createForAllDupsModToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Please select replacement texture (same size)"); OpenFileDialog d = new OpenFileDialog(); d.Filter = "*.dds|*.dds"; if (d.ShowDialog() == System.Windows.Forms.DialogResult.OK) { byte[] data = File.ReadAllBytes(d.FileName); MessageBox.Show("Please select mod save location"); SaveFileDialog d2 = new SaveFileDialog(); d2.Filter = "*.DAIMWV|*.DAIMWV"; if (d2.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Mod mod = new Mod(); mod.jobs = new List<Mod.ModJob>(); Mod.ModJob mj = new Mod.ModJob(); mj.type = 0; mj.bundlePaths = new List<string>(); mj.tocPaths = new List<string>(); int plen = GlobalStuff.FindSetting("gamepath").Length; bool skip = false; for (int i = 0; i < bil.Length; i++) { DBAccess.BundleInformation buni = bil[i]; DBAccess.TextureInformation ti = new DBAccess.TextureInformation(); foreach (DBAccess.TextureInformation t in til) if (t.bundleIndex == buni.index) ti = t; DBAccess.TOCInformation toci = DBAccess.GetTocInformationByIndex(buni.tocIndex); mj.respath = ti.name; skip = false; foreach (string p in mj.bundlePaths) if (p == buni.bundlepath) { skip = true; break; } if (!skip) mj.bundlePaths.Add(buni.bundlepath); string tpath = toci.path.Substring(plen, toci.path.Length - plen); skip = false; foreach (string p in mj.tocPaths) if (p == tpath) { skip = true; break; } if (tpath.ToLower().Contains("\\patch\\")) skip = true; if (!skip) mj.tocPaths.Add(tpath); } MemoryStream m = new MemoryStream(); m.Write(data, 0x80, data.Length - 0x80); mj.data = m.ToArray(); mod.jobs.Add(mj); mod.Save(d2.FileName); MessageBox.Show("Done."); } } }
private void createForAllDupsModToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Please select replacement data"); OpenFileDialog d = new OpenFileDialog(); d.Filter = "*.bin|*.bin"; if (d.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Mod mod = new Mod(); mod.jobs = new List<Mod.ModJob>(); Mod.ModJob mj = new Mod.ModJob(); mj.data = File.ReadAllBytes(d.FileName); MessageBox.Show("Please select mod save location"); SaveFileDialog d2 = new SaveFileDialog(); d2.Filter = "*.DAIMWV|*.DAIMWV"; if (d2.ShowDialog() == System.Windows.Forms.DialogResult.OK) { int plen = GlobalStuff.FindSetting("gamepath").Length; mj.type = 1; mj.bundlePaths = new List<string>(); mj.tocPaths = new List<string>(); bool skip = false; for (int i = 0; i < ttprevlist.Count; i++) { DBAccess.RESInformation resi = ttprevlist[i]; mj.respath = resi.resname; skip = false; foreach (string p in mj.bundlePaths) if (p == resi.bundlepath) { skip = true; break; } if (!skip) mj.bundlePaths.Add(resi.bundlepath); skip = false; foreach (string p in mj.tocPaths) if (p == resi.tocfilepath.Substring(plen)) { skip = true; break; } if (!skip && !resi.tocfilepath.ToLower().Contains("\\patch\\")) mj.tocPaths.Add(resi.tocfilepath.Substring(plen)); } mj.restype = types[toolStripComboBox1.SelectedIndex]; mod.jobs.Add(mj); mod.Save(d2.FileName); MessageBox.Show("Done."); } } }