diff --git a/HexView.cs b/HexView.cs
deleted file mode 100644
index a993d40..0000000
--- a/HexView.cs
+++ /dev/null
@@ -1,362 +0,0 @@
-/* This file is part of libWiiSharp
- * Copyright (C) 2009 Leathl
- * Copyright (C) 2020 - 2022 TheShadowEevee, Github Contributors
- *
- * libWiiSharp is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * libWiiSharp is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.Globalization;
-using System.Windows.Forms;
-
-namespace libWiiSharp
-{
- ///
- /// A static class that provides functions to dump a byte array to view it like in a hex-editor.
- /// In combination with a DataGridView, it's even able to act like a hex-editor.
- /// Big files (25kB ++) will take quite a long time, so don't use this for big files.
- ///
- public static class HexView
- {
- private static string savedValue;
-
- #region Public Functions
- ///
- /// Displays the byte array like a hex editor in a RichTextBox.
- /// Big files (25kB ++) will take quite a long time, so don't use this for big files.
- ///
- ///
- ///
- public static void DumpToRichTextBox(byte[] data, RichTextBox richTextBox)
- {
- richTextBox.Clear();
- richTextBox.Font = new Font("Courier New", 9f);
- richTextBox.ReadOnly = true;
- richTextBox.Text = DumpAsString(data);
- }
-
- ///
- /// Displays the byte array like a hex editor in a TextBox.
- /// Big files (25kB ++) will take quite a long time, so don't use this for big files.
- ///
- ///
- ///
- public static void DumpToTextBox(byte[] data, TextBox textBox)
- {
- textBox.Multiline = true;
- textBox.Font = new Font("Courier New", 9f);
- textBox.ReadOnly = true;
- textBox.Text = DumpAsString(data).Replace("\n", "\r\n");
- }
-
- ///
- /// Displays the byte array like a hex editor as a string.
- /// Be sure to use "Courier New" as a font, so every char has the same width.
- /// Big files (25kB ++) will take quite a long time, so don't use this for big files.
- ///
- ///
- ///
- public static string DumpAsString(byte[] data)
- {
- return string.Join("\n", PrivDumpAsStringArray(data));
- }
-
- ///
- /// Link your DataGridView's CellEndEdit event with this function.
- /// The dump and byte values will be synchronized.
- /// Don't forget to also link the CellBeginEdit event.
- ///
- ///
- ///
- public static void DataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
- {
- try
- {
- DataGridView dataGridView = sender as DataGridView;
- if (dataGridView.Columns[e.ColumnIndex].HeaderText.ToLower() == "dump")
- {
- string str = (string)dataGridView.Rows[e.RowIndex].Cells[17].Value;
- if (!(str != savedValue))
- {
- return;
- }
-
- if (str.Length != 16)
- {
- throw new Exception();
- }
-
- for (int index = 0; index < 16; ++index)
- {
- if (PrivToAscii(byte.Parse((string)dataGridView.Rows[e.RowIndex].Cells[index + 1].Value, NumberStyles.HexNumber)) != str[index])
- {
- dataGridView.Rows[e.RowIndex].Cells[index + 1].Value = PrivFromAscii(str[index]).ToString("x2");
- }
- }
- }
- else
- {
- if (((string)dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value).Length == 1)
- {
- dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "0" + dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value?.ToString();
- }
-
- int startIndex = int.Parse(dataGridView.Columns[e.ColumnIndex].HeaderText, NumberStyles.HexNumber);
- string str = ((string)dataGridView.Rows[e.RowIndex].Cells[17].Value).Remove(startIndex, 1).Insert(startIndex, PrivToAscii(byte.Parse((string)dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value, NumberStyles.HexNumber)).ToString());
- dataGridView.Rows[e.RowIndex].Cells[17].Value = str;
- if (((string)dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value).Length <= 2)
- {
- return;
- }
-
- dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = ((string)dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value).Remove(0, ((string)dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value).Length - 2);
- }
- }
- catch
- {
- ((DataGridView)sender).Rows[e.RowIndex].Cells[e.ColumnIndex].Value = savedValue;
- }
- }
-
- ///
- /// Link your DataGridView's CellBeginEdit event with this function.
- /// The dump and byte values will be synchronized.
- /// Don't forget to also link the CellEndEdit event.
- ///
- ///
- ///
- public static void DataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
- {
- savedValue = (string)((DataGridView)sender).Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
- }
- #endregion
-
- #region Private Functions
- ///
- /// Displays the byte array like a hex editor as a string array.
- /// Be sure to use "Courier New" as a font, so every char has the same width.
- /// Big files (25kB ++) will take quite a long time, so don't use this for big files.
- ///
- ///
- ///
- private static string[] PrivDumpAsStringArray(byte[] data)
- {
- List stringList = new List();
- int num;
- char ascii;
- for (num = 0; (data.Length - num) / 16.0 >= 1.0; num += 16)
- {
- string str1 = string.Empty + num.ToString("x8") + " ";
- string str2 = string.Empty;
- for (int index = 0; index < 16; ++index)
- {
- str1 = str1 + data[num + index].ToString("x2") + " ";
- string str3 = str2;
- ascii = PrivToAscii(data[num + index]);
- string str4 = ascii.ToString();
- str2 = str3 + str4;
- }
- string str5 = str1 + " " + str2;
- stringList.Add(str5);
- }
- if (data.Length > num)
- {
- string str1 = string.Empty + num.ToString("x8") + " ";
- string str2 = string.Empty;
- for (int index = 0; index < 16; ++index)
- {
- if (index < data.Length - num)
- {
- str1 = str1 + data[num + index].ToString("x2") + " ";
- string str3 = str2;
- ascii = PrivToAscii(data[num + index]);
- string str4 = ascii.ToString();
- str2 = str3 + str4;
- }
- else
- {
- str1 += " ";
- }
- }
- string str5 = str1 + " " + str2;
- stringList.Add(str5);
- }
- return stringList.ToArray();
- }
-
- ///
- /// Dumps a DataGridView back to a byte array.
- /// The DataGridView must have the right format.
- /// Big files (25kB ++) will take quite a long time, so don't use this for big files.
- ///
- ///
- ///
- private static byte[] PrivDumpFromDataGridView(DataGridView dataGridView)
- {
- try
- {
- List byteList = new List();
- for (int index1 = 0; !string.IsNullOrEmpty((string)dataGridView.Rows[index1].Cells[1].Value); ++index1)
- {
- for (int index2 = 0; index2 < 16; ++index2)
- {
- if (!string.IsNullOrEmpty((string)dataGridView.Rows[index1].Cells[index2 + 1].Value))
- byteList.Add(byte.Parse((string)dataGridView.Rows[index1].Cells[index2 + 1].Value, NumberStyles.HexNumber));
- }
- if (index1 == dataGridView.Rows.Count - 1)
- break;
- }
- return byteList.ToArray();
- }
- catch
- {
- throw new Exception("An error occured. The DataGridView might have the wrong format!");
- }
- }
-
- ///
- /// Displays the byte array like a hex editor in a DataGridView.
- /// Columns will be created, estimated width is ~685 px.
- /// Big files (25kB ++) will take quite a long time, so don't use this for big files.
- ///
- ///
- ///
- private static void PrivDumpToDataGridView(byte[] data, DataGridView dataGridView)
- {
- dataGridView.Columns.Clear();
- dataGridView.Rows.Clear();
- dataGridView.Font = new Font("Courier New", 9f);
- dataGridView.Columns.Add(new DataGridViewColumn()
- {
- HeaderText = "Offset",
- Width = 80,
- CellTemplate = new DataGridViewTextBoxCell()
- });
- for (int index = 0; index < 16; ++index)
- dataGridView.Columns.Add(new DataGridViewColumn()
- {
- HeaderText = index.ToString("x1"),
- Width = 30,
- CellTemplate = new DataGridViewTextBoxCell()
- });
- dataGridView.Columns.Add(new DataGridViewColumn()
- {
- HeaderText = "Dump",
- Width = 125,
- CellTemplate = new DataGridViewTextBoxCell()
- });
- int num;
- for (num = 0; (data.Length - num) / 16.0 >= 1.0; num += 16)
- {
- DataGridViewRow dataGridViewRow = new DataGridViewRow();
- int index1 = dataGridViewRow.Cells.Add(new DataGridViewTextBoxCell());
- dataGridViewRow.Cells[index1].Value = num.ToString("x8");
- dataGridViewRow.Cells[index1].ReadOnly = true;
- string empty = string.Empty;
- for (int index2 = 0; index2 < 16; ++index2)
- {
- int index3 = dataGridViewRow.Cells.Add(new DataGridViewTextBoxCell());
- dataGridViewRow.Cells[index3].Value = data[num + index2].ToString("x2");
- empty += PrivToAscii(data[num + index2]).ToString();
- }
- int index4 = dataGridViewRow.Cells.Add(new DataGridViewTextBoxCell());
- dataGridViewRow.Cells[index4].Value = empty;
- dataGridView.Rows.Add(dataGridViewRow);
- }
- if (data.Length <= num)
- return;
- DataGridViewRow dataGridViewRow1 = new DataGridViewRow();
- int index5 = dataGridViewRow1.Cells.Add(new DataGridViewTextBoxCell());
- dataGridViewRow1.Cells[index5].Value = num.ToString("x8");
- dataGridViewRow1.Cells[index5].ReadOnly = true;
- string empty1 = string.Empty;
- for (int index1 = 0; index1 < 16; ++index1)
- {
- if (index1 < data.Length - num)
- {
- int index2 = dataGridViewRow1.Cells.Add(new DataGridViewTextBoxCell());
- dataGridViewRow1.Cells[index2].Value = data[num + index1].ToString("x2");
- empty1 += PrivToAscii(data[num + index1]).ToString();
- }
- else
- dataGridViewRow1.Cells.Add(new DataGridViewTextBoxCell());
- }
- int index6 = dataGridViewRow1.Cells.Add(new DataGridViewTextBoxCell());
- dataGridViewRow1.Cells[index6].Value = empty1;
- dataGridView.Rows.Add(dataGridViewRow1);
- }
-
- ///
- /// Displays the byte array like a hex editor in a ListView.
- /// Columns will be created, estimated width is ~685 px.
- /// Big files (25kB ++) will take quite a long time, so don't use this for big files.
- ///
- ///
- ///
- private static void PrivDumpToListView(byte[] data, ListView listView)
- {
- listView.Columns.Clear();
- listView.Items.Clear();
- listView.View = View.Details;
- listView.Font = new Font("Courier New", 9f);
- listView.Columns.Add("Offset", "Offset", 80, HorizontalAlignment.Left, string.Empty);
- for (int index = 0; index < 16; ++index)
- listView.Columns.Add(index.ToString("x1"), index.ToString("x1"), 30, HorizontalAlignment.Left, string.Empty);
- listView.Columns.Add("Dump", "Dump", 125, HorizontalAlignment.Left, string.Empty);
- int num;
- for (num = 0; (data.Length - num) / 16.0 >= 1.0; num += 16)
- {
- ListViewItem listViewItem = new ListViewItem(num.ToString("x8"));
- string empty = string.Empty;
- for (int index = 0; index < 16; ++index)
- {
- listViewItem.SubItems.Add(data[num + index].ToString("x2"));
- empty += PrivToAscii(data[num + index]).ToString();
- }
- listViewItem.SubItems.Add(empty);
- listView.Items.Add(listViewItem);
- }
- if (data.Length <= num)
- return;
- ListViewItem listViewItem1 = new ListViewItem(num.ToString("x8"));
- string empty1 = string.Empty;
- for (int index = 0; index < 16; ++index)
- {
- if (index < data.Length - num)
- {
- listViewItem1.SubItems.Add(data[num + index].ToString("x2"));
- empty1 += PrivToAscii(data[num + index]).ToString();
- }
- else
- listViewItem1.SubItems.Add(string.Empty);
- }
- listViewItem1.SubItems.Add(empty1);
- listView.Items.Add(listViewItem1);
- }
-
-
- private static char PrivToAscii(byte value)
- {
- return value >= 32 && value <= 126 ? (char)value : '.';
- }
-
- private static byte PrivFromAscii(char value)
- {
- return (byte)value;
- }
- #endregion
- }
-}
\ No newline at end of file
diff --git a/libWiiSharp.csproj b/libWiiSharp.csproj
index a825793..8f77380 100644
--- a/libWiiSharp.csproj
+++ b/libWiiSharp.csproj
@@ -5,8 +5,6 @@
Library
0.6.0.0
false
- true
- true
annotations