From 4b97311594838d66c87571d37b2b815b03221711 Mon Sep 17 00:00:00 2001 From: SuperHackio Date: Sun, 22 Nov 2020 20:40:56 -0800 Subject: [PATCH] Added YAY0 Support for the Luigis Mansion modders --- WiiExplorer.sln | 6 + WiiExplorer/App.config | 3 + WiiExplorer/MainForm.Designer.cs | 37 ++++--- WiiExplorer/MainForm.cs | 58 +++++++--- WiiExplorer/MainForm.resx | 115 ++++++++++---------- WiiExplorer/Program.cs | 8 +- WiiExplorer/Properties/AssemblyInfo.cs | 4 +- WiiExplorer/Properties/Settings.Designer.cs | 12 ++ WiiExplorer/Properties/Settings.settings | 3 + WiiExplorer/WiiExplorer.csproj | 4 + 10 files changed, 154 insertions(+), 96 deletions(-) diff --git a/WiiExplorer.sln b/WiiExplorer.sln index 447bb88..019729e 100644 --- a/WiiExplorer.sln +++ b/WiiExplorer.sln @@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hack.io.YAZ0", "..\Hack.io\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hack.io", "..\Hack.io\Hack.io\Hack.io.csproj", "{389F751D-DB2A-4746-B3BC-88E106C361CE}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hack.io.YAY0", "..\Hack.io\Hack.io.YAY0\Hack.io.YAY0.csproj", "{2576022C-4A09-4A25-AFB8-9F7DF919E02C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -33,6 +35,10 @@ Global {389F751D-DB2A-4746-B3BC-88E106C361CE}.Debug|Any CPU.Build.0 = Debug|Any CPU {389F751D-DB2A-4746-B3BC-88E106C361CE}.Release|Any CPU.ActiveCfg = Release|Any CPU {389F751D-DB2A-4746-B3BC-88E106C361CE}.Release|Any CPU.Build.0 = Release|Any CPU + {2576022C-4A09-4A25-AFB8-9F7DF919E02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2576022C-4A09-4A25-AFB8-9F7DF919E02C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2576022C-4A09-4A25-AFB8-9F7DF919E02C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2576022C-4A09-4A25-AFB8-9F7DF919E02C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/WiiExplorer/App.config b/WiiExplorer/App.config index b450067..09ad7b1 100644 --- a/WiiExplorer/App.config +++ b/WiiExplorer/App.config @@ -34,6 +34,9 @@ 0.0058136878654970756 + + 0 + True diff --git a/WiiExplorer/MainForm.Designer.cs b/WiiExplorer/MainForm.Designer.cs index 9c64fb2..fe28491 100644 --- a/WiiExplorer/MainForm.Designer.cs +++ b/WiiExplorer/MainForm.Designer.cs @@ -54,7 +54,6 @@ private void InitializeComponent() this.MainToolStripProgressBar = new System.Windows.Forms.ToolStripProgressBar(); this.MainToolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.RootPanel = new System.Windows.Forms.Panel(); - this.RootNameTextBox = new WiiExplorer.ColourTextBox(); this.KeepIDsSyncedCheckBox = new System.Windows.Forms.CheckBox(); this.RootNameLabel = new System.Windows.Forms.Label(); this.ArchiveTreeView = new System.Windows.Forms.TreeView(); @@ -67,7 +66,8 @@ private void InitializeComponent() this.ContextExportSelectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ContextExportAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ContextReplaceSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.Yaz0BackgroundWorker = new System.ComponentModel.BackgroundWorker(); + this.EncodingBackgroundWorker = new System.ComponentModel.BackgroundWorker(); + this.RootNameTextBox = new WiiExplorer.ColourTextBox(); this.MainFormMenuStrip.SuspendLayout(); this.MainFormStatusStrip.SuspendLayout(); this.RootPanel.SuspendLayout(); @@ -241,11 +241,12 @@ private void InitializeComponent() this.Yaz0ToolStripComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.Yaz0ToolStripComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.Yaz0ToolStripComboBox.Items.AddRange(new object[] { - "Yaz0 Off", + "Off", "Yaz0 Strong", - "Yaz0 Fast"}); + "Yaz0 Fast", + "Yay0 Strong"}); this.Yaz0ToolStripComboBox.Name = "Yaz0ToolStripComboBox"; - this.Yaz0ToolStripComboBox.Size = new System.Drawing.Size(85, 23); + this.Yaz0ToolStripComboBox.Size = new System.Drawing.Size(88, 23); this.Yaz0ToolStripComboBox.ToolTipText = resources.GetString("Yaz0ToolStripComboBox.ToolTipText"); this.Yaz0ToolStripComboBox.SelectedIndexChanged += new System.EventHandler(this.Yaz0ToolStripComboBox_SelectedIndexChanged); // @@ -308,16 +309,6 @@ private void InitializeComponent() this.RootPanel.Size = new System.Drawing.Size(464, 20); this.RootPanel.TabIndex = 3; // - // RootNameTextBox - // - this.RootNameTextBox.Dock = System.Windows.Forms.DockStyle.Fill; - this.RootNameTextBox.Enabled = false; - this.RootNameTextBox.Location = new System.Drawing.Point(64, 0); - this.RootNameTextBox.Name = "RootNameTextBox"; - this.RootNameTextBox.Size = new System.Drawing.Size(267, 20); - this.RootNameTextBox.TabIndex = 0; - this.RootNameTextBox.TextChanged += new System.EventHandler(this.RootNameTextBox_TextChanged); - // // KeepIDsSyncedCheckBox // this.KeepIDsSyncedCheckBox.AutoSize = true; @@ -448,9 +439,19 @@ private void InitializeComponent() this.ContextReplaceSelectedToolStripMenuItem.Text = "Replace Selected"; this.ContextReplaceSelectedToolStripMenuItem.Click += new System.EventHandler(this.ReplaceSelectedToolStripMenuItem_Click); // - // Yaz0BackgroundWorker + // EncodingBackgroundWorker + // + this.EncodingBackgroundWorker.DoWork += new System.ComponentModel.DoWorkEventHandler(this.EncodingBackgroundWorker_DoWork); + // + // RootNameTextBox // - this.Yaz0BackgroundWorker.DoWork += new System.ComponentModel.DoWorkEventHandler(this.Yaz0BackgroundWorker_DoWork); + this.RootNameTextBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.RootNameTextBox.Enabled = false; + this.RootNameTextBox.Location = new System.Drawing.Point(64, 0); + this.RootNameTextBox.Name = "RootNameTextBox"; + this.RootNameTextBox.Size = new System.Drawing.Size(267, 20); + this.RootNameTextBox.TabIndex = 0; + this.RootNameTextBox.TextChanged += new System.EventHandler(this.RootNameTextBox_TextChanged); // // MainForm // @@ -519,7 +520,7 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem ContextAddFolderToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem ContextImportFolderToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem ContextExportAllToolStripMenuItem; - private System.ComponentModel.BackgroundWorker Yaz0BackgroundWorker; + private System.ComponentModel.BackgroundWorker EncodingBackgroundWorker; private System.Windows.Forms.ToolStripMenuItem ItemPropertiesToolStripMenuItem; private System.Windows.Forms.CheckBox KeepIDsSyncedCheckBox; private System.Windows.Forms.ToolStripMenuItem SwitchThemeToolStripMenuItem; diff --git a/WiiExplorer/MainForm.cs b/WiiExplorer/MainForm.cs index bd1c207..4f1313a 100644 --- a/WiiExplorer/MainForm.cs +++ b/WiiExplorer/MainForm.cs @@ -10,13 +10,14 @@ using System.Diagnostics; using WiiExplorer.Properties; using System.Reflection; +using Hack.io.YAY0; namespace WiiExplorer { public partial class MainForm : Form { - OpenFileDialog ofd = new OpenFileDialog() { Filter = "All Supported Files|*.arc;*.szs|Revolution Archives|*.arc|YAZ0 Identified Revolution Archives|*.szs|All Files|*.*" }; - SaveFileDialog sfd = new SaveFileDialog() { Filter = "All Supported Files|*.arc;*.szs|Revolution Archives|*.arc|YAZ0 Identified Revolution Archives|*.szs|All Files|*.*" }; + OpenFileDialog ofd = new OpenFileDialog() { Filter = "All Supported Files|*.arc;*.szs;*.szp|Revolution Archives|*.arc|YAZ0 Identified Revolution Archives|*.szs|YAY0 Identified Revolution Archives|*.szp|All Files|*.*" }; + SaveFileDialog sfd = new SaveFileDialog() { Filter = "All Supported Files|*.arc;*.szs;*.szp|Revolution Archives|*.arc|YAZ0 Identified Revolution Archives|*.szs|YAY0 Identified Revolution Archives|*.szp|All Files|*.*" }; OpenFileDialog Fileofd = new OpenFileDialog() { Multiselect = true }; SaveFileDialog Exportsfd = new SaveFileDialog(); RARC Archive; @@ -30,7 +31,7 @@ public MainForm(string Openwith) { InitializeComponent(); CenterToScreen(); - Yaz0ToolStripComboBox.SelectedIndex = Program.Yaz0Mode; + Yaz0ToolStripComboBox.SelectedIndex = Program.EncodingMode; Text = $"WiiExplorer {Application.ProductVersion}"; OpenWith = Openwith; @@ -67,9 +68,15 @@ private void MainForm_KeyDown(object sender, KeyEventArgs e) } } - private void MainForm_FormClosing(object sender, FormClosingEventArgs e) => e.Cancel = Yaz0BackgroundWorker.IsBusy || (e.CloseReason == CloseReason.UserClosing & Edited) && MessageBox.Show("You have unsaved changes.\nAre you sure you want to quit?", "Unsaved Changes", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No; + private void MainForm_FormClosing(object sender, FormClosingEventArgs e) => e.Cancel = EncodingBackgroundWorker.IsBusy || (e.CloseReason == CloseReason.UserClosing & Edited) && MessageBox.Show("You have unsaved changes.\nAre you sure you want to quit?", "Unsaved Changes", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No; - private void Yaz0BackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) => YAZ0.Compress((string)e.Argument, Program.Yaz0Mode == 2); + private void EncodingBackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) + { + if (Program.EncodingMode == 3) + YAY0.Compress((string)e.Argument); + else + YAZ0.Compress((string)e.Argument, Program.EncodingMode == 2); + } private void SetControlsEnabled(bool toggle = true, bool affectall = false) { @@ -460,7 +467,7 @@ private void ItemPropertiesToolStripMenuItem_Click(object sender, EventArgs e) } } - private void Yaz0ToolStripComboBox_SelectedIndexChanged(object sender, EventArgs e) => Program.Yaz0Mode = (byte)Yaz0ToolStripComboBox.SelectedIndex; + private void Yaz0ToolStripComboBox_SelectedIndexChanged(object sender, EventArgs e) => Program.EncodingMode = (byte)Yaz0ToolStripComboBox.SelectedIndex; #region MenuStrip Managers private class MyRenderer : ToolStripProfessionalRenderer @@ -1062,7 +1069,9 @@ private void OpenArchive(string Filename) { ofd.FileName = Filename; MainToolStripProgressBar.Value = 0; - Archive = YAZ0.Check(Filename) ? new RARC(YAZ0.DecompressToMemoryStream(Filename), Filename) : new RARC(Filename); + bool IsYaz0 = YAZ0.Check(Filename); + bool IsYay0 = YAY0.Check(Filename); + Archive = IsYaz0 ? new RARC(YAZ0.DecompressToMemoryStream(Filename), Filename) : (IsYay0 ? new RARC(YAY0.DecompressToMemoryStream(Filename), Filename) : new RARC(Filename)); MainToolStripProgressBar.Value = 20; ArchiveTreeView.Nodes.Clear(); ArchiveTreeView.Nodes.AddRange(Archive.ToTreeNode(0, ArchiveImageList)); @@ -1076,41 +1085,60 @@ private void OpenArchive(string Filename) Text = $"WiiExplorer {Application.ProductVersion} - {new FileInfo(Filename).Name}"; Settings.Default.PreviousOpenArchivePath = new FileInfo(Filename).DirectoryName; Settings.Default.Save(); + if (IsYay0 && Program.EncodingMode != 0x03) + Program.EncodingMode = 0x03; + else if (!IsYaz0 && !IsYay0 && Program.EncodingMode != 0x00) + Program.EncodingMode = 0x00; + else if (IsYaz0 && Program.EncodingMode != 0x02) + Program.EncodingMode = 0x01; + Yaz0ToolStripComboBox.SelectedIndex = Program.EncodingMode; } private void SaveArchive(string Filename) { + FileInfo fi = new FileInfo(Filename); + byte prevencoding = Program.EncodingMode; + if (fi.Extension.Equals(".szp") && Program.EncodingMode != 0x03 && MessageBox.Show("The chosen encoding type doesn't match the file extension.\nSZP files are supposed to be YAY0 Encoded, would you like to switch to YAY0 Strong?", "Encoding Mismatch", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) + Program.EncodingMode = 0x03; + else if (fi.Extension.Equals(".szs") && Program.EncodingMode != 0x01 && Program.EncodingMode != 0x02 && MessageBox.Show("The chosen encoding type doesn't match the file extension.\nSZS files are supposed to be YAZ0 Encoded, would you like to switch to YAZ0 Strong?", "Encoding Mismatch", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) + Program.EncodingMode = 0x01; + + Yaz0ToolStripComboBox.SelectedIndex = Program.EncodingMode; MainToolStripProgressBar.Value = 0; Archive.FromTreeNode(ArchiveTreeView); MainToolStripProgressBar.Value = 70; Archive.Save(Filename); long UncompressedFilesize = File.ReadAllBytes(Filename).Length; - double ETA = UncompressedFilesize * (Program.Yaz0Mode == 0x02 ? Settings.Default.ElapsedTimeFast : Settings.Default.ElapsedTimeStrong); + double ETA = UncompressedFilesize * (Program.EncodingMode == 0x02 ? Settings.Default.ElapsedTimeFast : (Program.EncodingMode == 0x03 ? Settings.Default.ElapsedTimeYAY0 : Settings.Default.ElapsedTimeStrong)); Stopwatch timer = new Stopwatch(); timer.Start(); - if (Program.Yaz0Mode != 0) - Yaz0BackgroundWorker.RunWorkerAsync(Filename); + if (Program.EncodingMode != 0x00) + EncodingBackgroundWorker.RunWorkerAsync(Filename); SetControlsEnabled(false, true); ItemPropertiesToolStripMenuItem.Enabled = false; - while (Yaz0BackgroundWorker.IsBusy) + while (EncodingBackgroundWorker.IsBusy) { - MainToolStripStatusLabel.Text = $"{(Program.Yaz0Mode == 2 ? "Fast ":"")}Yaz0 Encoding, Please Wait. ({timer.Elapsed.ToString("mm\\:ss")} Elapsed, {TimeSpan.FromMilliseconds(ETA).ToString("mm\\:ss")} Estimated)"; + MainToolStripStatusLabel.Text = $"{(Program.EncodingMode == 2 ? "Fast ":"")}{(Program.EncodingMode == 3 ? "Yay0":"Yaz0")} Encoding, Please Wait. ({timer.Elapsed.ToString("mm\\:ss")} Elapsed, {TimeSpan.FromMilliseconds(ETA).ToString("mm\\:ss")} Estimated)"; Application.DoEvents(); } timer.Stop(); - if (Program.Yaz0Mode == 0x01) + if (Program.EncodingMode == 0x01) Settings.Default.ElapsedTimeStrong = (double)timer.ElapsedMilliseconds / (double)UncompressedFilesize; - else if (Program.Yaz0Mode == 0x02) + else if (Program.EncodingMode == 0x02) Settings.Default.ElapsedTimeFast = (double)timer.ElapsedMilliseconds / (double)UncompressedFilesize; + else if (Program.EncodingMode == 0x03) + Settings.Default.ElapsedTimeYAY0 = (double)timer.ElapsedMilliseconds / (double)UncompressedFilesize; Edited = false; MainToolStripProgressBar.Value = 100; - MainToolStripStatusLabel.Text = $"Archive saved successfully!{(Program.Yaz0Mode != 0 ? $" ({timer.Elapsed.ToString("mm\\:ss")} Elapsed, {(TimeSpan.FromMilliseconds(ETA).ToString("mm\\:ss").Equals(timer.Elapsed.ToString("mm\\:ss")) ? "Right on time!" : $"{TimeSpan.FromMilliseconds(ETA - timer.ElapsedMilliseconds).ToString("mm\\:ss")} {(timer.ElapsedMilliseconds < ETA ? $"Ahead." : "Behind.")}")})" : "")}"; + MainToolStripStatusLabel.Text = $"Archive saved successfully!{(Program.EncodingMode != 0 ? $" ({timer.Elapsed.ToString("mm\\:ss")} Elapsed, {(TimeSpan.FromMilliseconds(ETA).ToString("mm\\:ss").Equals(timer.Elapsed.ToString("mm\\:ss")) ? "Right on time!" : $"{TimeSpan.FromMilliseconds(ETA - timer.ElapsedMilliseconds).ToString("mm\\:ss")} {(timer.ElapsedMilliseconds < ETA ? $"Ahead." : "Behind.")}")})" : "")}"; SetControlsEnabled(affectall:true); Text = $"WiiExplorer {Application.ProductVersion} - {new FileInfo(Filename).Name}"; Settings.Default.PreviousSaveArchivePath = new FileInfo(Filename).DirectoryName; Settings.Default.Save(); + Program.EncodingMode = prevencoding; + Yaz0ToolStripComboBox.SelectedIndex = Program.EncodingMode; } private void AddItemToRARC(string[] FileNames) diff --git a/WiiExplorer/MainForm.resx b/WiiExplorer/MainForm.resx index f2eaa8e..d8e80fb 100644 --- a/WiiExplorer/MainForm.resx +++ b/WiiExplorer/MainForm.resx @@ -118,26 +118,27 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 17, 17 + 225, 17 - Yaz0 Toggle + Compression Settings If set to Yaz0 Strong, the saved archive will be Yaz0 Encoded. This means smaller filesizes. If set to Yaz0 Fast, the saved archive will be Yaz0 Encoded quickly at the cost of a larger filesize +If set to Yay0, the saved archive will be Yay0 Encoded. Yaz0 Strong is Default - 347, 17 + 555, 17 AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABS - DgAAAk1TRnQBSQFMAgEBAwEAARABAgEQAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + DgAAAk1TRnQBSQFMAgEBAwEAATgBAgE4AQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABEAMAAQEBAAEgBgABEJoAAwwEEAEWAxABFgMQARYDEAEWAxABFgMQARYDEAEWAxABFgMQARYDEAEW AxABFgMEAQVLAAEBAwYBCAMKAQ0DCgENAwoBDQMKAQ0DCgENAwoBDQMKAQ0DCgENAwoBDQMKAQ0DBwEK AwMBBAsAAQEDBgEIAwoBDQMKAQ0DCgENAwoBDQMKAQ0DCgENAwoBDQMKAQ0DBwEKAwMBBBQAA18B8wKu @@ -145,70 +146,70 @@ Yaz0 Strong is Default Aa0B/wMQARZEAAMEAQUDJAE2A0QBeQNKAYsDSgGLA0oBiwNKAYsDSgGLA0oBiwNKAYsDSgGLA0oBiwNK AYsDRwGCAzMBUgMLAQ8DBAEFAyQBNgNEAXkDSgGLA0oBiwNKAYsDSgGLA0oBiwNKAYsDSgGLA0oBiwNF AX8DKQE/AwMBBBAAAq4BqwX/A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gX/AxABFkQA - Ax0BKgEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/ - AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/A1IBqQM1AVgDHQEq - AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8BAAEt - AbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wNLAY4DFAEbAwABAQwAAq0BqwH/A/wB/wP7Af8D+wH/ - A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sF/wMQARZFAAEtAbUB/wEAAZ0C/wEAAS0BtQH/ARwBtQL/ - ARsBtQL/ARkBtAL/ARYBswL/ARIBsQL/AQ4BrwL/AQkBrQL/AQUBqwL/AQUBqwL/AQABuwHlAf8BBQGr - Av8BAAEtAbUB/wNIAYgBAAEtAbUB/wEAAS0BtQH/AQABnAL/ASgBugL/ARcBswL/ARUBsgL/ARMBsQL/ - AQ8BsAL/AQ0BrwL/AQkBrQL/AQUBqwL/AQABLQG1Af8DVAGvAzYBWQMbASYMAAKtAasB/wH6AvgB/wH5 - AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgF/wMQARZFAAEt - AbUB/wEAAaEC/wEAAS0BtQH/AS8BvgL/AS4BvgL/AS0BvQL/ASkBuwL/ASMBuQL/AR0BtgL/ARoBtAL/ - ARUBsgL/AREBsAL/AQABvQHlAf8BEQGwAv8BAAEtAbUB/wNLAZABAAEtAbUB/wEAAZoC/wEAAS0BtQH/ - AQABLQG1Af8BKAG6Av8BJgG5Av8BJAG4Av8BHwG2Av8BGwG0Av8BFwGzAv8BEwGxAv8BAAG+AeUB/wEA - AS0BtQH/A0wBkQMUARsMAAKtAasB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2 - Bf8DEAEWRQABLQG1Af8BAAGpAv8BAAEtAbUB/wGHAcgC/wGGAccC/wGDAcYC/wE8AcMC/wE3AcEC/wEw - Ab4C/wEqAbsC/wElAbkC/wEgAbcC/wEAAcAB5QH/AR0BtQL/AQABLQG1Af8DSwGQAQABLQG1Af8BAAGn - Av8BAAGdAv8BAAEtAbUB/wE8AcMC/wE3AcAC/wE1AcAC/wExAb4C/wEqAbsC/wEoAboC/wEkAbgC/wEA - AcIB5QH/AQABLQG1Af8DVAGvAzUBWAMDAQQIAAKtAasB/wL0AfMB/wL0AfMB/wL0AfMB/wL0AfMB/wL0 - AfMB/wL0AfMB/wL0AfMB/wL0AfMB/wL0AfMB/wL0AfMF/wMQARZFAAEtAbUB/wEEAbAC/wEAAS0BtQH/ - AZoB0QL/AZgBzwL/AZYBzwL/AZABywL/AYsBygL/AYQBxgL/ATsBwwL/ATQBvwL/AS8BvgL/AQABwwHl - Af8BKgG7Av8BAAEtAbUB/wNLAZABAAEtAbUB/wENAa8C/wENAa8C/wEAAZoC/wEAAS0BtQH/AY4BygL/ - AYkByAL/AYQBxQL/ATwBwwL/ATcBwAL/ATMBvwL/AQABwwHlAf8BKgG7Av8BAAEtAbUB/wNMAZEDEwEa + Ax0BKgEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/ + AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/A1IBqQM1AVgDHQEq + AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/AQABKAG1Af8BAAEo + AbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wNLAY4DFAEbAwABAQwAAq0BqwH/A/wB/wP7Af8D+wH/ + A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sF/wMQARZFAAEoAbUB/wEAAZ0C/wEAASgBtQH/ARcBtQL/ + ARYBtQL/ARQBtAL/AREBswL/AQ0BsQL/AQkBrwL/AQQBrQL/AQABqwL/AQABqwL/AQABuwHlAf8BAAGr + Av8BAAEoAbUB/wNIAYgBAAEoAbUB/wEAASgBtQH/AQABnAL/ASMBugL/ARIBswL/ARABsgL/AQ4BsQL/ + AQoBsAL/AQgBrwL/AQQBrQL/AQABqwL/AQABKAG1Af8DVAGvAzYBWQMbASYMAAKtAasB/wH6AvgB/wH5 + AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgB/wH5AvgF/wMQARZFAAEo + AbUB/wEAAaEC/wEAASgBtQH/ASoBvgL/ASkBvgL/ASgBvQL/ASQBuwL/AR4BuQL/ARgBtgL/ARUBtAL/ + ARABsgL/AQwBsAL/AQABvQHlAf8BDAGwAv8BAAEoAbUB/wNLAZABAAEoAbUB/wEAAZoC/wEAASgBtQH/ + AQABKAG1Af8BIwG6Av8BIQG5Av8BHwG4Av8BGgG2Av8BFgG0Av8BEgGzAv8BDgGxAv8BAAG+AeUB/wEA + ASgBtQH/A0wBkQMUARsMAAKtAasB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2 + Bf8DEAEWRQABKAG1Af8BAAGpAv8BAAEoAbUB/wGHAcgC/wGGAccC/wGDAcYC/wE3AcMC/wEyAcEC/wEr + Ab4C/wElAbsC/wEgAbkC/wEbAbcC/wEAAcAB5QH/ARgBtQL/AQABKAG1Af8DSwGQAQABKAG1Af8BAAGn + Av8BAAGdAv8BAAEoAbUB/wE3AcMC/wEyAcAC/wEwAcAC/wEsAb4C/wElAbsC/wEjAboC/wEfAbgC/wEA + AcIB5QH/AQABKAG1Af8DVAGvAzUBWAMDAQQIAAKtAasB/wL0AfMB/wL0AfMB/wL0AfMB/wL0AfMB/wL0 + AfMB/wL0AfMB/wL0AfMB/wL0AfMB/wL0AfMB/wL0AfMF/wMQARZFAAEoAbUB/wEAAbAC/wEAASgBtQH/ + AZoB0QL/AZgBzwL/AZYBzwL/AZABywL/AYsBygL/AYQBxgL/ATYBwwL/AS8BvwL/ASoBvgL/AQABwwHl + Af8BJQG7Av8BAAEoAbUB/wNLAZABAAEoAbUB/wEIAa8C/wEIAa8C/wEAAZoC/wEAASgBtQH/AY4BygL/ + AYkByAL/AYQBxQL/ATcBwwL/ATIBwAL/AS4BvwL/AQABwwHlAf8BJQG7Av8BAAEoAbUB/wNMAZEDEwEa CAACrQGrAf8B8gLxAf8B8gLxAf8B8gLxAf8B8gLxAf8B8gLxAf8B8gLxAf8B8gLxAf8B8gLxAf8B8gLx - Af8B8gLxBf8DEAEWRQABLQG1Af8BGQG5Av8BAAEtAbUB/wGsAdgC/wGtAdkC/wGpAdcC/wGkAdUC/wGe - AdIC/wGVAc0C/wGQAcsC/wGKAckC/wGEAcYC/wEAAcYB5QH/ATwBwwL/AQABLQG1Af8DSwGPAQABLQG1 - Af8BIQG3Av8BIQG3Av8BAAGoAv8BAAEtAbUB/wGgAdEC/wGcAc8C/wGXAc0C/wGSAcwC/wGLAcgC/wGH - AccC/wEBAckB5QH/ATwBwwL/AQABLQG1Af8DVAGvAzUBWAgAAq0BqwH/Ae4B7wHuAf8C7wHuAf8C7wHu - Af8C7wHuAf8C7wHuAf8C7wHuAf8C7wHuAf8C7wHuAf8C7wHuAf8C7wHuBf8DEAEWRQABLQG1Af8BLwHC - Av8BAAEtAbUB/wG+AeEC/wG+AeEC/wG5Ad4C/wG1AdwC/wGvAdkC/wGpAdcC/wGiAdMC/wGaAc8C/wGX - Ac4C/wEHAcwB5QH/AY4BygL/AQABLQG1Af8DRAF8AQABLQG1Af8BNwHAAv8BNwHAAv8BNwHAAv8BAAGh - Av8BAAEtAbUB/wGtAdcC/wGoAdUC/wGjAdIC/wGeAdAC/wGZAc4C/wEKAcwB5QH/AZIBzAL/AZIBzAL/ - AQABLQG1Af8DQgF1CAACrQGrAf8B7ALrAf8B7QLsAf8B7QLsAf8B7QLsAf8B7QLsAf8B7QLsAf8B7QLs - Af8B7QLsAf8B7QLsAf8B7QLsBf8DEAEWRQABLQG1Af8BiAHMAv8BAAEtAbUt/wEAAS0BtQH/AyUBNwEA - AS0BtQH/AZABywL/AZABywL/AZABywL/AR8BtgL/AQABLQG1Af8B7AH1Hv8BAAEtAbUB/wMuAUcIAAKt + Af8B8gLxBf8DEAEWRQABKAG1Af8BFAG5Av8BAAEoAbUB/wGsAdgC/wGtAdkC/wGpAdcC/wGkAdUC/wGe + AdIC/wGVAc0C/wGQAcsC/wGKAckC/wGEAcYC/wEAAcYB5QH/ATcBwwL/AQABKAG1Af8DSwGPAQABKAG1 + Af8BHAG3Av8BHAG3Av8BAAGoAv8BAAEoAbUB/wGgAdEC/wGcAc8C/wGXAc0C/wGSAcwC/wGLAcgC/wGH + AccC/wEAAckB5QH/ATcBwwL/AQABKAG1Af8DVAGvAzUBWAgAAq0BqwH/Ae4B7wHuAf8C7wHuAf8C7wHu + Af8C7wHuAf8C7wHuAf8C7wHuAf8C7wHuAf8C7wHuAf8C7wHuAf8C7wHuBf8DEAEWRQABKAG1Af8BKgHC + Av8BAAEoAbUB/wG+AeEC/wG+AeEC/wG5Ad4C/wG1AdwC/wGvAdkC/wGpAdcC/wGiAdMC/wGaAc8C/wGX + Ac4C/wECAcwB5QH/AY4BygL/AQABKAG1Af8DRAF8AQABKAG1Af8BMgHAAv8BMgHAAv8BMgHAAv8BAAGh + Av8BAAEoAbUB/wGtAdcC/wGoAdUC/wGjAdIC/wGeAdAC/wGZAc4C/wEFAcwB5QH/AZIBzAL/AZIBzAL/ + AQABKAG1Af8DQgF1CAACrQGrAf8B7ALrAf8B7QLsAf8B7QLsAf8B7QLsAf8B7QLsAf8B7QLsAf8B7QLs + Af8B7QLsAf8B7QLsAf8B7QLsBf8DEAEWRQABKAG1Af8BiAHMAv8BAAEoAbUt/wEAASgBtQH/AyUBNwEA + ASgBtQH/AZABywL/AZABywL/AZABywL/ARoBtgL/AQABKAG1Af8B7AH1Hv8BAAEoAbUB/wMuAUcIAAKt AasB/wHqAekB6AH/AesB6gHpAf8B6wHqAekB/wHrAeoB6QH/AesB6gHpAf8B6wHqAekB/wHrAeoB6QH/ - AeoB6QHnAf8B6gHpAegB/wHpAegB5wX/AxABFkUAAS0BtQH/AZ8B1QL/ATQBwwL/AQABLQG1Af8BAAEt - AbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/ - AQABLQG1Af8BAAEtAbUB/wMqAUADBAEFAQABLQG1Af8BqAHVAv8BoAHRAv8BqAHVAv8BqAHVAv8BAwGr - Av8BAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEA - AS0BtQH/A0ABcQMHAQoIAAKtAasB/wLnAeYB/wLoAecB/wLoAecB/wLoAecB/wLoAecB/wLoAecB/wHm - AecB5QH/AssBygH/AqcBpQH/AqcBpAX/AwoBDUUAAS0BtQH/AbUB3wL/AbUB3wL/AbQB3gL/AbUB3gL/ - AbMB3QL/AbMB3Rb/AQABLQG1Af8DKgFAAwQBBQUAAS0BtQH/Ab4B3wL/Ab4B3wL/AbsB3QL/Ab4B3wL/ - AbsB3QL/AbsB3RL/AQABLQG1Af8DKwFCAwcBCgMAAQEMAAKuAasB/wHkAeMB4gH/AeYB5QHkAf8B5gHl - AeQB/wHmAeUB5AH/AeYB5QHkAf8B5gHlAeQB/wHkAeMB4gH/AqcBpQH/AfMC8gX/A1QBrkkAAS0BtQH/ - AccB5gL/AccB5gL/AccB5gL/AccB5gL/AccB5gb/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/AQABLQG1 - Af8BAAEtAbUB/wMdASoDBAEFAwIBAwUAAS0BtQH/Ac0B5gL/Ac0B5gL/Ac0B5gL/Ac0B5gL/Ac0B5gb/ - AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8DHQEqAwQBBRQAAq4BqwH/AeIB4QHgAf8B5AHj - AeIB/wHkAeMB4gH/AeQB4wHiAf8B5AHjAeIB/wHkAeMB4gH/AeIB4QHgAf8CpwGkBf8DVAGuTQABLQG1 - Ff8BAAEtAbUB/wMrAUIDBwEKAwMBBAMDAQQDAgEDAwABAQ0AAS0BtRX/AQABLQG1Af8DKwFCAwcBCgMD - AQQDAgEDAwABARgAAq8BrSH/A1QBrlAAAwEBAgEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEAAS0BtQH/ - AQABLQG1Af8DHQEqAwQBBQMCAQMcAAMBAQIBAAEtAbUB/wEAAS0BtQH/AQABLQG1Af8BAAEtAbUB/wEA - AS0BtQH/Ax0BKgMEAQWgAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAE/wHA + AeoB6QHnAf8B6gHpAegB/wHpAegB5wX/AxABFkUAASgBtQH/AZ8B1QL/AS8BwwL/AQABKAG1Af8BAAEo + AbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/ + AQABKAG1Af8BAAEoAbUB/wMqAUADBAEFAQABKAG1Af8BqAHVAv8BoAHRAv8BqAHVAv8BqAHVAv8BAAGr + Av8BAAEoAbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEA + ASgBtQH/A0ABcQMHAQoIAAKtAasB/wLnAeYB/wLoAecB/wLoAecB/wLoAecB/wLoAecB/wLoAecB/wHm + AecB5QH/AssBygH/AqcBpQH/AqcBpAX/AwoBDUUAASgBtQH/AbUB3wL/AbUB3wL/AbQB3gL/AbUB3gL/ + AbMB3QL/AbMB3Rb/AQABKAG1Af8DKgFAAwQBBQUAASgBtQH/Ab4B3wL/Ab4B3wL/AbsB3QL/Ab4B3wL/ + AbsB3QL/AbsB3RL/AQABKAG1Af8DKwFCAwcBCgMAAQEMAAKuAasB/wHkAeMB4gH/AeYB5QHkAf8B5gHl + AeQB/wHmAeUB5AH/AeYB5QHkAf8B5gHlAeQB/wHkAeMB4gH/AqcBpQH/AfMC8gX/A1QBrkkAASgBtQH/ + AccB5gL/AccB5gL/AccB5gL/AccB5gL/AccB5gb/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/AQABKAG1 + Af8BAAEoAbUB/wMdASoDBAEFAwIBAwUAASgBtQH/Ac0B5gL/Ac0B5gL/Ac0B5gL/Ac0B5gL/Ac0B5gb/ + AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/AQABKAG1Af8DHQEqAwQBBRQAAq4BqwH/AeIB4QHgAf8B5AHj + AeIB/wHkAeMB4gH/AeQB4wHiAf8B5AHjAeIB/wHkAeMB4gH/AeIB4QHgAf8CpwGkBf8DVAGuTQABKAG1 + Ff8BAAEoAbUB/wMrAUIDBwEKAwMBBAMDAQQDAgEDAwABAQ0AASgBtRX/AQABKAG1Af8DKwFCAwcBCgMD + AQQDAgEDAwABARgAAq8BrSH/A1QBrlAAAwEBAgEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEAASgBtQH/ + AQABKAG1Af8DHQEqAwQBBQMCAQMcAAMBAQIBAAEoAbUB/wEAASgBtQH/AQABKAG1Af8BAAEoAbUB/wEA + ASgBtQH/Ax0BKgMEAQWgAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAE/wHA AQECAAGAAQEBgAEHAcABAQUAAQMBwAEBBQABAQHAAQEFAAEBAcABAQUAAQEBwAEBBgABwAEBBgABwAEB BgABwAEBBgABwAEBBgABwAEBBgABwAEBAwABAQEAAQEBwAEDAwABAQEAAQcBwAEHAwABBwEAAQ8BwAEP AwABfwEAA/8CAAs= - 181, 17 + 389, 17 - 491, 17 + 699, 17 - - 682, 17 + + 17, 17 diff --git a/WiiExplorer/Program.cs b/WiiExplorer/Program.cs index f1a228a..1924b8e 100644 --- a/WiiExplorer/Program.cs +++ b/WiiExplorer/Program.cs @@ -32,13 +32,13 @@ static void Main(string[] OpenWith) Application.Run(new MainForm(OpenWith[0])); } - public static byte Yaz0Mode + public static byte EncodingMode { - get => Properties.Settings.Default.Yaz0Encode; + get => Settings.Default.Yaz0Encode; set { - Properties.Settings.Default.Yaz0Encode = value; - Properties.Settings.Default.Save(); + Settings.Default.Yaz0Encode = value; + Settings.Default.Save(); } } diff --git a/WiiExplorer/Properties/AssemblyInfo.cs b/WiiExplorer/Properties/AssemblyInfo.cs index 5496840..59190f0 100644 --- a/WiiExplorer/Properties/AssemblyInfo.cs +++ b/WiiExplorer/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.3.5.2")] -[assembly: AssemblyFileVersion("1.3.5.2")] +[assembly: AssemblyVersion("1.3.6.0")] +[assembly: AssemblyFileVersion("1.3.6.0")] diff --git a/WiiExplorer/Properties/Settings.Designer.cs b/WiiExplorer/Properties/Settings.Designer.cs index 3f6135a..6da51e4 100644 --- a/WiiExplorer/Properties/Settings.Designer.cs +++ b/WiiExplorer/Properties/Settings.Designer.cs @@ -119,6 +119,18 @@ public double ElapsedTimeFast { } } + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public double ElapsedTimeYAY0 { + get { + return ((double)(this["ElapsedTimeYAY0"])); + } + set { + this["ElapsedTimeYAY0"] = value; + } + } + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] diff --git a/WiiExplorer/Properties/Settings.settings b/WiiExplorer/Properties/Settings.settings index e08731a..2bd4f4d 100644 --- a/WiiExplorer/Properties/Settings.settings +++ b/WiiExplorer/Properties/Settings.settings @@ -26,6 +26,9 @@ 0.0058136878654970756 + + 0 + True diff --git a/WiiExplorer/WiiExplorer.csproj b/WiiExplorer/WiiExplorer.csproj index 22fee39..79159a2 100644 --- a/WiiExplorer/WiiExplorer.csproj +++ b/WiiExplorer/WiiExplorer.csproj @@ -139,6 +139,10 @@ {4f4162cc-70ff-4eb9-ab34-d5ff98490c34} Hack.io.RARC + + {2576022C-4A09-4A25-AFB8-9F7DF919E02C} + Hack.io.YAY0 + {bdda5ade-2d88-483d-854c-d295ed9f8089} Hack.io.YAZ0