diff --git a/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.Designer.cs b/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.Designer.cs index 17a82d7d..aee60d4e 100644 --- a/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.Designer.cs +++ b/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.Designer.cs @@ -32,9 +32,9 @@ private void InitializeComponent() this.labelAssetName = new System.Windows.Forms.Label(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.button2 = new System.Windows.Forms.Button(); + this.richTextBox1 = new System.Windows.Forms.RichTextBox(); this.button1 = new System.Windows.Forms.Button(); this.checkBoxSendToSNDI = new System.Windows.Forms.CheckBox(); - this.richTextBox1 = new System.Windows.Forms.RichTextBox(); this.tableLayoutPanel1.SuspendLayout(); this.SuspendLayout(); // @@ -62,30 +62,40 @@ private void InitializeComponent() this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 5; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(293, 267); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(293, 283); this.tableLayoutPanel1.TabIndex = 7; // // button2 // this.button2.Dock = System.Windows.Forms.DockStyle.Fill; - this.button2.Location = new System.Drawing.Point(3, 240); + this.button2.Location = new System.Drawing.Point(3, 258); this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(287, 24); + this.button2.Size = new System.Drawing.Size(287, 22); this.button2.TabIndex = 10; this.button2.Text = "Export Sound Data"; this.button2.UseVisualStyleBackColor = true; this.button2.Click += new System.EventHandler(this.button2_Click); // + // richTextBox1 + // + this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.richTextBox1.Location = new System.Drawing.Point(3, 73); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.ReadOnly = true; + this.richTextBox1.Size = new System.Drawing.Size(287, 179); + this.richTextBox1.TabIndex = 9; + this.richTextBox1.Text = resources.GetString("richTextBox1.Text"); + // // button1 // this.button1.Dock = System.Windows.Forms.DockStyle.Fill; - this.button1.Location = new System.Drawing.Point(3, 46); + this.button1.Location = new System.Drawing.Point(3, 45); this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(287, 23); + this.button1.Size = new System.Drawing.Size(287, 22); this.button1.TabIndex = 7; this.button1.Text = "Import Sound Data"; this.button1.UseVisualStyleBackColor = true; @@ -96,26 +106,16 @@ private void InitializeComponent() this.checkBoxSendToSNDI.AutoSize = true; this.checkBoxSendToSNDI.Location = new System.Drawing.Point(3, 23); this.checkBoxSendToSNDI.Name = "checkBoxSendToSNDI"; - this.checkBoxSendToSNDI.Size = new System.Drawing.Size(178, 17); + this.checkBoxSendToSNDI.Size = new System.Drawing.Size(178, 16); this.checkBoxSendToSNDI.TabIndex = 8; this.checkBoxSendToSNDI.Text = "Trim header and send it to SNDI"; this.checkBoxSendToSNDI.UseVisualStyleBackColor = true; // - // richTextBox1 - // - this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.richTextBox1.Location = new System.Drawing.Point(3, 75); - this.richTextBox1.Name = "richTextBox1"; - this.richTextBox1.ReadOnly = true; - this.richTextBox1.Size = new System.Drawing.Size(287, 159); - this.richTextBox1.TabIndex = 9; - this.richTextBox1.Text = resources.GetString("richTextBox1.Text"); - // // InternalSoundEditor // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(293, 267); + this.ClientSize = new System.Drawing.Size(293, 283); this.Controls.Add(this.tableLayoutPanel1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false; diff --git a/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.cs b/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.cs index e6860e6f..4b5e5ec4 100644 --- a/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.cs +++ b/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.cs @@ -65,7 +65,11 @@ private void button2_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog() { - FileName = asset.AHDR.ADBG.assetName, + FileName = asset.AHDR.ADBG.assetName + ( + (HipHopFile.Functions.currentPlatform == HipHopFile.Platform.GameCube) ? ".DSP" : + (HipHopFile.Functions.currentPlatform == HipHopFile.Platform.Xbox) ? ".WAV" : + (HipHopFile.Functions.currentPlatform == HipHopFile.Platform.PS2) ? ".VAG" : + ""), Filter = "All files|*" }; diff --git a/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.resx b/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.resx index 09a130c7..0f50c9b4 100644 --- a/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.resx +++ b/IndustrialPark/ArchiveEditor/AssetEditor/InternalSoundEditor.resx @@ -118,8 +118,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - The sound data is a GameCube DSP audio file stripped of its 0x60 byte header: all of a level's sound headers (SND and SNDS) are kept separate in the single SNDI asset in the HOP file. -The Import Sound Data button allows you to choose a DSP to import. If you check the checkbox, I will trim the header and send it to the SNDI asset myself. If you leave it unchecked, I will only import the raw data, won't perform any operation on it and won't touch the SNDI. -The Export Sound Data button will take the header from the SNDI asset and put it in the file before exporting it. + All of a file's sound headers are kept separate in the single SNDI asset in the HOP file. The SND and SNDS assets only contain a part of the data. +The Import Sound Data button allows you to choose a sound file to import (GameCube DSP, XBOX WAV, PS2 VAG). If you check the checkbox, I will trim the header and send it to the SNDI asset myself. If you leave it unchecked, I will only import the raw data, won't perform any operation on it and won't touch the SNDI. +The Export Sound Data button will take the header from the SNDI asset and put it in the file before exporting it. +This is supported in all games and platforms except GameCube versions of TSSM, Incredibles and ROTU. \ No newline at end of file