예제 #1
0
        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);
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
 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);
 }
예제 #4
0
        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);
            }
        }