private void openToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog browseFile = new OpenFileDialog(); browseFile.Filter = "Soldiers' Soul tdb (*.tdb)|*.tdb"; browseFile.Title = "Browse for tdb File"; if (browseFile.ShowDialog() == DialogResult.Cancel) { return; } FileName = browseFile.FileName; FileText = new List <TDBItem>(); using (BinaryReader tdbfile = new BinaryReader(File.Open(browseFile.FileName, FileMode.Open))) { //tdbfile.BaseStream.Seek(8, SeekOrigin.Begin); signature = tdbfile.ReadBytes(8); int itemCount = tdbfile.ReadInt32(); tdbfile.BaseStream.Seek(16, SeekOrigin.Begin); int ReadLength; int j = 0; TDBItem tdbi; while (tdbfile.BaseStream.Position != tdbfile.BaseStream.Length) { tdbi = new TDBItem(); tdbi.Row = tdbfile.ReadInt32(); tdbi.Items = new string[itemCount]; for (int i = 0; i < itemCount; i++) { ReadLength = tdbfile.ReadInt32(); byte[] textdata = tdbfile.ReadBytes(ReadLength); byte[] aTxtData = new byte[textdata.Length - 2]; Array.Copy(textdata, aTxtData, textdata.Length - 2); tdbi.Items[i] = System.Text.Encoding.Unicode.GetString(aTxtData); } j++; FileText.Add(tdbi); } //cbLang.Items.Clear(); //for (int i = 0; i < itemCount; i++) //{ // cbLang.Items.Add(i); //} cbList.Items.Clear(); for (int i = 0; i < FileText.Count; i++) { cbList.Items.Add(FileText[i].Items[1]); } } }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog browseFile = new OpenFileDialog(); browseFile.Filter = "Soldiers' Soul tdb (*.tdb)|*.tdb"; browseFile.Title = "Browse for tdb File"; if (browseFile.ShowDialog() == DialogResult.Cancel) return; FileName = browseFile.FileName; FileText = new List<TDBItem>(); using (BinaryReader tdbfile = new BinaryReader(File.Open(browseFile.FileName, FileMode.Open))) { //tdbfile.BaseStream.Seek(8, SeekOrigin.Begin); signature = tdbfile.ReadBytes(8); int itemCount = tdbfile.ReadInt32(); tdbfile.BaseStream.Seek(16, SeekOrigin.Begin); int ReadLength; int j = 0; TDBItem tdbi; while (tdbfile.BaseStream.Position != tdbfile.BaseStream.Length) { tdbi = new TDBItem(); tdbi.Row = tdbfile.ReadInt32(); tdbi.Items = new string[itemCount]; for (int i = 0; i < itemCount; i++) { ReadLength = tdbfile.ReadInt32(); byte[] textdata = tdbfile.ReadBytes(ReadLength); byte[] aTxtData = new byte[textdata.Length - 2]; Array.Copy(textdata, aTxtData, textdata.Length - 2); tdbi.Items[i] = System.Text.Encoding.Unicode.GetString(aTxtData); } j++; FileText.Add(tdbi); } //cbLang.Items.Clear(); //for (int i = 0; i < itemCount; i++) //{ // cbLang.Items.Add(i); //} cbList.Items.Clear(); for (int i = 0; i < FileText.Count; i++) { cbList.Items.Add(FileText[i].Items[1]); } } }