From fb756e77f79d2fb38f1d8919e144f376d665da41 Mon Sep 17 00:00:00 2001 From: MayNL Date: Sun, 21 Jun 2026 14:55:04 -0400 Subject: [PATCH] Set PCK type checkbox now sets all child pcks -Removed Set PCK Endianness tools --- .../Controls/Editor/PckEditor.Designer.cs | 27 ------- PCK-Studio/Controls/Editor/PckEditor.cs | 81 +++++++++---------- PCK-Studio/Controls/Editor/PckEditor.resx | 74 +++++------------ 3 files changed, 57 insertions(+), 125 deletions(-) diff --git a/PCK-Studio/Controls/Editor/PckEditor.Designer.cs b/PCK-Studio/Controls/Editor/PckEditor.Designer.cs index e69f7b97..9fdc03d7 100644 --- a/PCK-Studio/Controls/Editor/PckEditor.Designer.cs +++ b/PCK-Studio/Controls/Editor/PckEditor.Designer.cs @@ -89,9 +89,6 @@ namespace PckStudio.Controls this.entityMaterialsFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.viewFileInfoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.generateMipMapTextureToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.setSubPCKEndiannessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.bigEndianXbox360PS3WiiUToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.littleEndianPS4PSVitaSwitchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.setModelContainerFormatToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.version1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.version2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -505,7 +502,6 @@ namespace PckStudio.Controls this.setFileTypeToolStripMenuItem, this.viewFileInfoToolStripMenuItem, this.generateMipMapTextureToolStripMenuItem1, - this.setSubPCKEndiannessToolStripMenuItem, this.setModelContainerFormatToolStripMenuItem, this.setSubPCKBOXVersionToolStripMenuItem, this.exportIconToolStripMenuItem}); @@ -614,26 +610,6 @@ namespace PckStudio.Controls resources.ApplyResources(this.generateMipMapTextureToolStripMenuItem1, "generateMipMapTextureToolStripMenuItem1"); this.generateMipMapTextureToolStripMenuItem1.Click += new System.EventHandler(this.generateMipMapTextureToolStripMenuItem_Click); // - // setSubPCKEndiannessToolStripMenuItem - // - this.setSubPCKEndiannessToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.bigEndianXbox360PS3WiiUToolStripMenuItem, - this.littleEndianPS4PSVitaSwitchToolStripMenuItem}); - this.setSubPCKEndiannessToolStripMenuItem.Name = "setSubPCKEndiannessToolStripMenuItem"; - resources.ApplyResources(this.setSubPCKEndiannessToolStripMenuItem, "setSubPCKEndiannessToolStripMenuItem"); - // - // bigEndianXbox360PS3WiiUToolStripMenuItem - // - this.bigEndianXbox360PS3WiiUToolStripMenuItem.Name = "bigEndianXbox360PS3WiiUToolStripMenuItem"; - resources.ApplyResources(this.bigEndianXbox360PS3WiiUToolStripMenuItem, "bigEndianXbox360PS3WiiUToolStripMenuItem"); - this.bigEndianXbox360PS3WiiUToolStripMenuItem.Click += new System.EventHandler(this.bigEndianToolStripMenuItem_Click); - // - // littleEndianPS4PSVitaSwitchToolStripMenuItem - // - this.littleEndianPS4PSVitaSwitchToolStripMenuItem.Name = "littleEndianPS4PSVitaSwitchToolStripMenuItem"; - resources.ApplyResources(this.littleEndianPS4PSVitaSwitchToolStripMenuItem, "littleEndianPS4PSVitaSwitchToolStripMenuItem"); - this.littleEndianPS4PSVitaSwitchToolStripMenuItem.Click += new System.EventHandler(this.littleEndianToolStripMenuItem_Click); - // // setModelContainerFormatToolStripMenuItem // this.setModelContainerFormatToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -862,9 +838,6 @@ namespace PckStudio.Controls private MetroFramework.Controls.MetroButton buttonEdit; private MetroFramework.Controls.MetroLabel metroLabel1; private MetroFramework.Controls.MetroCheckBox BigEndianCheckBox; - private System.Windows.Forms.ToolStripMenuItem setSubPCKEndiannessToolStripMenuItem; - private ToolStripMenuItem bigEndianXbox360PS3WiiUToolStripMenuItem; - private ToolStripMenuItem littleEndianPS4PSVitaSwitchToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem setModelContainerFormatToolStripMenuItem; private ToolStripMenuItem version1ToolStripMenuItem; private ToolStripMenuItem version2ToolStripMenuItem; diff --git a/PCK-Studio/Controls/Editor/PckEditor.cs b/PCK-Studio/Controls/Editor/PckEditor.cs index 398c163f..da30dc76 100644 --- a/PCK-Studio/Controls/Editor/PckEditor.cs +++ b/PCK-Studio/Controls/Editor/PckEditor.cs @@ -14,7 +14,6 @@ using OMI.Workers.Language; using OMI.Workers.Material; using OMI.Workers.Model; using OMI.Workers.Pck; -using OpenTK; using PckStudio.Core; using PckStudio.Core.Deserializer; using PckStudio.Core.Extensions; @@ -35,7 +34,6 @@ using PckStudio.ModelSupport; using PckStudio.Popups; using PckStudio.Properties; using PckStudio.Rendering; -using PckStudio.Rendering.Texture; using System; using System.Collections.Generic; using System.Diagnostics; @@ -159,6 +157,8 @@ namespace PckStudio.Controls [PckAssetType.BehavioursFile] = HandleBehavioursFile, [PckAssetType.MaterialFile] = HandleMaterialFile, }; + + BigEndianCheckBox.CheckedChanged += bigEndianCheckbox_CheckChanged; } private void TreeViewMain_DrawNode(object sender, DrawTreeNodeEventArgs e) @@ -2375,41 +2375,6 @@ namespace PckStudio.Controls private void setBoxVersion3ToolStripMenuItem_Click(object sender, EventArgs e) => SetPckXMLVersion(3); - private void SetPckEndianness(OMI.ByteOrder endianness) - { - try - { - if (treeViewMain.SelectedNode.Tag is PckAsset asset && (asset.Type is PckAssetType.AudioFile || asset.Type is PckAssetType.SkinDataFile || asset.Type is PckAssetType.TexturePackInfoFile)) - { - IDataFormatReader reader = asset.Type is PckAssetType.AudioFile - ? new PckAudioFileReader(endianness == OMI.ByteOrder.BigEndian ? OMI.ByteOrder.LittleEndian : OMI.ByteOrder.BigEndian) - : new PckFileReader(endianness == OMI.ByteOrder.BigEndian ? OMI.ByteOrder.LittleEndian : OMI.ByteOrder.BigEndian); - object pck = reader.FromStream(new MemoryStream(asset.Data)); - - IDataFormatWriter writer = asset.Type is PckAssetType.AudioFile - ? new PckAudioFileWriter((PckAudioFile)pck, endianness) - : new PckFileWriter((PckFile)pck, endianness); - asset.SetData(writer); - _wasModified = true; - MessageBox.Show($"\"{asset.Filename}\" successfully converted to {(endianness == OMI.ByteOrder.LittleEndian ? "little" : "big")} endian.", "Converted PCK file"); - } - } - catch (OverflowException) - { - MessageBox.Show(this, $"File was not a valid {(endianness != OMI.ByteOrder.LittleEndian ? "little" : "big")} endian PCK File.", "Not a valid PCK file"); - return; - } - catch (Exception ex) - { - MessageBox.Show(this, ex.Message, "Not a valid PCK file"); - return; - } - } - - private void littleEndianToolStripMenuItem_Click(object sender, EventArgs e) => SetPckEndianness(OMI.ByteOrder.LittleEndian); - - private void bigEndianToolStripMenuItem_Click(object sender, EventArgs e) => SetPckEndianness(OMI.ByteOrder.BigEndian); - private void SetModelVersion(int version) { if (treeViewMain.SelectedNode.Tag is PckAsset asset && asset.Type is PckAssetType.ModelsFile) @@ -2595,11 +2560,46 @@ namespace PckStudio.Controls } } + private void bigEndianCheckbox_CheckChanged(object sender, EventArgs e) + { + OMI.ByteOrder endianness = BigEndianCheckBox.Checked ? OMI.ByteOrder.BigEndian : OMI.ByteOrder.LittleEndian; + + foreach (PckAsset asset in EditorValue.File.GetAssets()) + { + try + { + if (asset.Type is PckAssetType.AudioFile || asset.Type is PckAssetType.SkinDataFile || asset.Type is PckAssetType.TexturePackInfoFile) + { + IDataFormatReader reader = asset.Type is PckAssetType.AudioFile + ? new PckAudioFileReader(endianness == OMI.ByteOrder.BigEndian ? OMI.ByteOrder.LittleEndian : OMI.ByteOrder.BigEndian) + : new PckFileReader(endianness == OMI.ByteOrder.BigEndian ? OMI.ByteOrder.LittleEndian : OMI.ByteOrder.BigEndian); + object pck = reader.FromStream(new MemoryStream(asset.Data)); + + IDataFormatWriter writer = asset.Type is PckAssetType.AudioFile + ? new PckAudioFileWriter((PckAudioFile)pck, endianness) + : new PckFileWriter((PckFile)pck, endianness); + asset.SetData(writer); + _wasModified = true; + MessageBox.Show($"\"{asset.Filename}\" successfully converted to {(endianness == OMI.ByteOrder.LittleEndian ? "little" : "big")} endian.", "Converted PCK file"); + } + } + catch (OverflowException) + { + MessageBox.Show(this, $"\"{asset.Filename}\" was not a valid {(endianness != OMI.ByteOrder.LittleEndian ? "little" : "big")} endian PCK File.", "Failed to convert PCK file"); + continue; + } + catch (Exception ex) + { + MessageBox.Show(this, $"\"{asset.Filename}\" was not a valid PCK File.", "Failed to convert PCK file"); + continue; + } + } + } + private void contextMenuPCKEntries_Opening(object sender, System.ComponentModel.CancelEventArgs e) { generateMipMapTextureToolStripMenuItem1.Visible = false; setModelContainerFormatToolStripMenuItem.Visible = false; - setSubPCKEndiannessToolStripMenuItem.Visible = false; setSubPCKBOXVersionToolStripMenuItem.Visible = false; exportToolStripMenuItem.Visible = false; toolStripSeparator5.Visible = false; @@ -2638,11 +2638,6 @@ namespace PckStudio.Controls break; case PckAssetType.SkinDataFile: setSubPCKBOXVersionToolStripMenuItem.Visible = true; - setSubPCKEndiannessToolStripMenuItem.Visible = true; - break; - case PckAssetType.TexturePackInfoFile: - case PckAssetType.AudioFile: - setSubPCKEndiannessToolStripMenuItem.Visible = true; break; } } diff --git a/PCK-Studio/Controls/Editor/PckEditor.resx b/PCK-Studio/Controls/Editor/PckEditor.resx index dd926b3a..3bf2f640 100644 --- a/PCK-Studio/Controls/Editor/PckEditor.resx +++ b/PCK-Studio/Controls/Editor/PckEditor.resx @@ -912,7 +912,7 @@ True - 76, 66 + 76, 63 0, 0 @@ -957,7 +957,7 @@ False - 215, 36 + 215, 33 146, 20 @@ -1002,7 +1002,7 @@ False - 215, 68 + 215, 65 146, 20 @@ -1026,7 +1026,7 @@ Bottom, Right - 215, 94 + 215, 91 146, 33 @@ -1059,7 +1059,7 @@ True - 138, -41 + 138, -44 0, 0 @@ -1348,7 +1348,7 @@ - 147, 22 + 180, 22 Create @@ -1413,7 +1413,7 @@ - 147, 22 + 180, 22 Import @@ -1425,13 +1425,13 @@ Export as 3DS Texture - 147, 22 + 180, 22 Export - 144, 6 + 177, 6 222, 22 @@ -1523,24 +1523,6 @@ Generate MipMap Texture - - 180, 22 - - - Big - - - 180, 22 - - - Little - - - 223, 22 - - - Set Endianness - 180, 22 @@ -1596,13 +1578,13 @@ Set BOX Version - 180, 22 + 123, 22 Full Body - 180, 22 + 123, 22 Cropped @@ -1614,7 +1596,7 @@ Export Icon - 147, 22 + 180, 22 File Functions @@ -1629,16 +1611,16 @@ - 147, 22 + 180, 22 Extract - 144, 6 + 177, 6 - 147, 22 + 180, 22 Clone @@ -1651,7 +1633,7 @@ - 147, 22 + 180, 22 Rename @@ -1667,19 +1649,19 @@ - 147, 22 + 180, 22 Replace - 147, 22 + 180, 22 Delete - 148, 214 + 181, 236 contextMenuPCKEntries @@ -2061,24 +2043,6 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - setSubPCKEndiannessToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - bigEndianXbox360PS3WiiUToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - littleEndianPS4PSVitaSwitchToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - setModelContainerFormatToolStripMenuItem