private void saveChangesToolStripMenuItem_Click(object sender, EventArgs e) { if (pcc == null || currentPCC == "") { return; } pcc.altSaveToFile(currentPCC, true); FileStream fs = new FileStream(currentPCC, FileMode.Open, FileAccess.Read); uint size = (uint)fs.Length; string name = Path.GetFileName(currentPCC); fs.Close(); TOCeditor tc = new TOCeditor(); tc.MdiParent = this.ParentForm; string tocpath = ME3Directory.tocFile; if (File.Exists(tocpath)) { if (!tc.UpdateFile(name, size, tocpath)) { MessageBox.Show("Didn't found Entry"); } } else { if (!tc.UpdateFile(name, size)) { MessageBox.Show("Didn't found Entry"); } } tc.Close(); MessageBox.Show("File " + Path.GetFileName(currentPCC) + " saved.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void saveToolStripMenuItem_Click(object sender, EventArgs e) { string path = string.Empty; SaveFileDialog FileDialog1 = new SaveFileDialog(); FileDialog1.Filter = "*.cnd|*.cnd"; BitConverter.IsLittleEndian = true; if (FileDialog1.ShowDialog() == DialogResult.OK) { path = FileDialog1.FileName; FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write); MemoryStream m = new MemoryStream(); m.Write(BitConverter.GetBytes((uint)0x434F4E44), 0, 4); m.Write(BitConverter.GetBytes((int)1), 0, 4); m.Write(BitConverter.GetBytes((Int16)UnknownInt16), 0, 2); m.Write(BitConverter.GetBytes((Int16)Entry.Count), 0, 2); for (int i = 0; i < Entry.Count; i++) { Entries en = Entry[i]; m.Write(BitConverter.GetBytes(en.id), 0, 4); m.Write(BitConverter.GetBytes(en.off), 0, 4); } for (int i = 0; i < Entry.Count; i++) { Entries en = Entry[i]; en.off = (int)m.Position; Entry[i] = en; m.Write(en.data, 0, en.size); } int pos = 16; for (int i = 0; i < Entry.Count; i++) { Entries en = Entry[i]; m.Seek(pos, SeekOrigin.Begin); m.Write(BitConverter.GetBytes((uint)en.off), 0, 4); pos += 8; } fileStream.Write(m.ToArray(), 0, (int)m.Length); fileStream.Close(); TOCeditor tc = new TOCeditor(); tc.MdiParent = this.ParentForm; tc.Show(); string fname = Path.GetFileName(path); if (!tc.UpdateFile(fname, (uint)memsize)) { MessageBox.Show("Didn't found entry!"); } tc.Close(); LoadFile(path); } }
private void saveChangesToolStripMenuItem_Click(object sender, EventArgs e) { if (pcc == null || currentPCC == "") return; pcc.altSaveToFile(currentPCC, true); FileStream fs = new FileStream(currentPCC, FileMode.Open, FileAccess.Read); uint size = (uint)fs.Length; string name = Path.GetFileName(currentPCC); fs.Close(); TOCeditor tc = new TOCeditor(); tc.MdiParent = this.ParentForm; string tocpath = ME3Directory.tocFile; if (File.Exists(tocpath)) { if (!tc.UpdateFile(name, size, tocpath)) MessageBox.Show("Didn't found Entry"); } else { if (!tc.UpdateFile(name, size)) MessageBox.Show("Didn't found Entry"); } tc.Close(); MessageBox.Show("File " + Path.GetFileName(currentPCC) + " saved.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void saveToolStripMenuItem_Click(object sender, EventArgs e) { string path = string.Empty; SaveFileDialog FileDialog1 = new SaveFileDialog(); FileDialog1.Filter = "*.cnd|*.cnd"; BitConverter.IsLittleEndian = true; if (FileDialog1.ShowDialog() == DialogResult.OK) { path = FileDialog1.FileName; FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write); MemoryStream m = new MemoryStream(); m.Write(BitConverter.GetBytes((uint)0x434F4E44), 0, 4); m.Write(BitConverter.GetBytes((int)1), 0, 4); m.Write(BitConverter.GetBytes((Int16)UnknownInt16), 0, 2); m.Write(BitConverter.GetBytes((Int16)Entry.Count), 0, 2); for (int i = 0; i < Entry.Count; i++) { Entries en = Entry[i]; m.Write(BitConverter.GetBytes(en.id), 0, 4); m.Write(BitConverter.GetBytes(en.off), 0, 4); } for (int i = 0; i < Entry.Count; i++) { Entries en = Entry[i]; en.off = (int)m.Position; Entry[i] = en; m.Write(en.data, 0, en.size); } int pos = 16; for (int i = 0; i < Entry.Count; i++) { Entries en = Entry[i]; m.Seek(pos, SeekOrigin.Begin); m.Write(BitConverter.GetBytes((uint)en.off), 0, 4); pos += 8; } fileStream.Write(m.ToArray(), 0, (int)m.Length); fileStream.Close(); TOCeditor tc = new TOCeditor(); tc.MdiParent = this.ParentForm; tc.Show(); string fname = Path.GetFileName(path); if (!tc.UpdateFile(fname, (uint)memsize)) MessageBox.Show("Didn't found entry!"); tc.Close(); LoadFile(path); } }