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(); }
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); } } }
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); }