Пример #1
0
        private void OpenFile(string filename)
        {
            var file = new W3StringFile();

            try
            {
                var stream = new BinaryReader(new FileStream(filename, FileMode.Open, FileAccess.Read));
                file.Read(stream);
                stream.Close();
            }
            catch (Exception)
            {
                //MessageBox.Show(string.Format("There was an error trying to open {0}.", filename), "Opening file failed.");
                return;
            }

            foreach (var item in file.block1)
            {
                if (!Lines.ContainsKey(item.str_id))
                {
                    Lines.Add(item.str_id, new List <W3StringBlock1>());
                }
                Lines[item.str_id].Add(item);
            }


            foreach (var item in file.block2)
            {
                if (!Keys.ContainsKey(item.str_id))
                {
                    Keys.Add(item.str_id, true);
                }
            }
        }
        private void LoadCustomStrings()
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "W3Strings | *.w3strings";
            var path = "";

            if (ofd.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }
            else
            {
                path = ofd.FileName;
            }

            var file = new W3Strings.W3StringFile();

            using (var br = new BinaryReader(File.OpenRead(path)))
            {
                file.Read(br);
            }

            foreach (var str in file.block1)
            {
                strings.Add(new List <string> {
                    str.str_id.ToString(), "0", str.str
                });
            }

            FillListView(strings);
            toolStripStatusLabelStringsCount.Text = "Strings Loaded: " + strings.Count.ToString();
        }
Пример #3
0
        private void OpenFile(string filename)
        {
            var file = new W3StringFile();

            try
            {
                var stream = new BinaryReader(new FileStream(filename, FileMode.Open, FileAccess.Read));
                file.Read(stream);
                stream.Close();
            }
            catch (Exception)
            {
                return;
            }

            foreach (var item in file.block1)
            {
                if (!Lines.ContainsKey(item.str_id))
                {
                    Lines.Add(item.str_id, new List <W3StringBlock1>());
                }
                Lines[item.str_id].Add(item);
            }


            foreach (var item in file.block2)
            {
                if (!Keys.ContainsKey(item.str_id))
                {
                    Keys.Add(item.str_id, true);
                }
            }
        }
Пример #4
0
        private void Encode()
        {
            dataGridViewStrings.EndEdit();
            HashStringKeys();

            string stringsDir = "";

            if (activeMod != null)
            {
                stringsDir = (activeMod.ProjectDirectory + "\\strings");
                if (!Directory.Exists(stringsDir))
                {
                    Directory.CreateDirectory(activeMod.ProjectDirectory + "\\strings");
                }
            }
            else
            {
                stringsDir = GetPath();
            }

            if (stringsDir == "")
            {
                return;
            }
            if (comboBoxLanguagesMode.SelectedIndex == 0)
            {
                var strings = new List <List <string> >();
                foreach (DataGridViewRow row in dataGridViewStrings.Rows)
                {
                    if (row.Cells[0].Value == DBNull.Value || row.Cells[0].Value == null)
                    {
                        continue;
                    }

                    var str   = new List <string>();
                    var cells = row.Cells.Cast <DataGridViewCell>();
                    foreach (var cell in cells)
                    {
                        if (cell == cells.ElementAt(1))
                        {
                            continue;
                        }
                        str.Add(cell.Value.ToString());
                    }
                    strings.Add(str);
                }
                foreach (var lang in languages)
                {
                    var w3tringFile = new W3Strings.W3StringFile();
                    w3tringFile.Create(strings, lang.Handle);
                    using (var bw = new BinaryWriter(File.OpenWrite(stringsDir + "\\" + lang.Handle + ".w3strings")))
                    {
                        w3tringFile.Write(bw);
                    }
                }
            }
            else
            {
                foreach (var lang in languagesStrings)
                {
                    if (lang.language == "all")
                    {
                        continue;
                    }
                    else if (lang.language == languageTabSelected)
                    {
                        lang.strings.Clear();

                        foreach (DataGridViewRow row in dataGridViewStrings.Rows)
                        {
                            if (row.Cells[0].Value != null)
                            {
                                lang.strings.Add(new List <string>()
                                {
                                    row.Cells[0].Value.ToString(), row.Cells[1].Value.ToString(), row.Cells[2].Value.ToString(), row.Cells[3].Value.ToString()
                                });
                            }
                        }
                    }
                    var w3tringFile          = new W3Strings.W3StringFile();
                    var stringsBlock1Strings = new List <List <string> >();
                    foreach (var str in lang.strings)
                    {
                        stringsBlock1Strings.Add(new List <string>()
                        {
                            str[0], str[2], str[3]
                        });
                    }
                    w3tringFile.Create(stringsBlock1Strings, lang.language);
                    using (var bw = new BinaryWriter(File.OpenWrite(stringsDir + "\\" + lang.language + ".w3strings")))
                    {
                        w3tringFile.Write(bw);
                    }
                }
            }

            WriteHash("encoded");

            MessageBox.Show("Strings encoded.", "Wolven Kit", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
        }