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