public ProgDat(string path, string pref, MainDat main) { this.filename = path + "/" + pref + "_prog.dat"; if (!File.Exists(filename)) { filename = path + "/" + pref + "_prog.eng"; } if (!File.Exists(filename)) { throw new Exception("prog not found"); } this.main = main; process(); }
void process() { main = new MainDat(path, prefix); string s = main.entry.ToString("X"); main.dump(Path.GetDirectoryName(Application.ExecutablePath)); textBox3.Text = s; progs = new ProgDat(path, prefix, main); progs.dump(Path.GetDirectoryName(Application.ExecutablePath)); comboBox1.Items.Clear(); for (int i = 0; i < progs.progs.Count; i++) { comboBox1.Items.Add(i); } }
private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog fd = new FolderBrowserDialog(); if (fd.ShowDialog() == DialogResult.OK) { string pref = MainDat.search(fd.SelectedPath); if (pref != "") { path = fd.SelectedPath; prefix = pref; textBox1.Text = path; process(); } } }
void process() { ofs = new uint[main.progcnt[0] + main.progcnt[1]]; BinaryReader rd = new BinaryReader(new FileStream(filename, FileMode.Open, FileAccess.Read)); int t1 = main.progcnt[1]; for (int i = 0; i < ofs.Length; i++) { ofs[i] = rd.ReadUInt32(); long pofs = rd.BaseStream.Position; rd.BaseStream.Position = ofs[i]; int len = rd.ReadInt16(); if (len > 25000) { throw new ApplicationException("Too large program " + len.ToString()); } rd.BaseStream.Position -= 2; byte[] data = rd.ReadBytes(len); MainDat.descramble(data, 2); progs.Add(new OProg(data, rd.ReadBytes(0x10), i, (i < t1?0:1))); rd.BaseStream.Position = pofs; } rd.Close(); }
public ProgDat(string path,string pref,MainDat main) { this.filename = path + "/" + pref + "_prog.dat"; if (!File.Exists(filename)) filename = path + "/" + pref + "_prog.eng"; if (!File.Exists(filename)) throw new Exception("prog not found"); this.main = main; process(); }
void process() { main = new MainDat(path,prefix); string s=main.entry.ToString("X"); main.dump(Path.GetDirectoryName(Application.ExecutablePath)); textBox3.Text = s; progs = new ProgDat(path, prefix, main); progs.dump(Path.GetDirectoryName(Application.ExecutablePath)); comboBox1.Items.Clear(); for (int i = 0; i < progs.progs.Count; i++) comboBox1.Items.Add(i); }