Set PCK type checkbox now sets all child pcks

-Removed Set PCK Endianness tools
This commit is contained in:
MayNL
2026-06-21 14:55:04 -04:00
parent ba46354bd6
commit fb756e77f7
3 changed files with 57 additions and 125 deletions
-27
View File
@@ -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;
+38 -43
View File
@@ -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;
}
}
+19 -55
View File
@@ -912,7 +912,7 @@
<value>True</value>
</data>
<data name="metroLabel2.Location" type="System.Drawing.Point, System.Drawing">
<value>76, 66</value>
<value>76, 63</value>
</data>
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
@@ -957,7 +957,7 @@
<value>False</value>
</data>
<data name="ParameterTypeTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 36</value>
<value>215, 33</value>
</data>
<data name="ParameterTypeTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 20</value>
@@ -1002,7 +1002,7 @@
<value>False</value>
</data>
<data name="parameterValueTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 68</value>
<value>215, 65</value>
</data>
<data name="parameterValueTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 20</value>
@@ -1026,7 +1026,7 @@
<value>Bottom, Right</value>
</data>
<data name="buttonEdit.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 94</value>
<value>215, 91</value>
</data>
<data name="buttonEdit.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 33</value>
@@ -1059,7 +1059,7 @@
<value>True</value>
</data>
<data name="metroLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>138, -41</value>
<value>138, -44</value>
</data>
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
@@ -1348,7 +1348,7 @@
</value>
</data>
<data name="createToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="createToolStripMenuItem.Text" xml:space="preserve">
<value>Create</value>
@@ -1413,7 +1413,7 @@
</value>
</data>
<data name="importSkinsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="importSkinsToolStripMenuItem.Text" xml:space="preserve">
<value>Import</value>
@@ -1425,13 +1425,13 @@
<value>Export as 3DS Texture</value>
</data>
<data name="exportToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="exportToolStripMenuItem.Text" xml:space="preserve">
<value>Export</value>
</data>
<data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 6</value>
<value>177, 6</value>
</data>
<data name="skinToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>222, 22</value>
@@ -1523,24 +1523,6 @@
<data name="generateMipMapTextureToolStripMenuItem1.Text" xml:space="preserve">
<value>Generate MipMap Texture</value>
</data>
<data name="bigEndianXbox360PS3WiiUToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="bigEndianXbox360PS3WiiUToolStripMenuItem.Text" xml:space="preserve">
<value>Big</value>
</data>
<data name="littleEndianPS4PSVitaSwitchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="littleEndianPS4PSVitaSwitchToolStripMenuItem.Text" xml:space="preserve">
<value>Little</value>
</data>
<data name="setSubPCKEndiannessToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>223, 22</value>
</data>
<data name="setSubPCKEndiannessToolStripMenuItem.Text" xml:space="preserve">
<value>Set Endianness</value>
</data>
<data name="version1ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
@@ -1596,13 +1578,13 @@
<value>Set BOX Version</value>
</data>
<data name="fullBodyToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>123, 22</value>
</data>
<data name="fullBodyToolStripMenuItem.Text" xml:space="preserve">
<value>Full Body</value>
</data>
<data name="croppedToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>123, 22</value>
</data>
<data name="croppedToolStripMenuItem.Text" xml:space="preserve">
<value>Cropped</value>
@@ -1614,7 +1596,7 @@
<value>Export Icon</value>
</data>
<data name="miscFunctionsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="miscFunctionsToolStripMenuItem.Text" xml:space="preserve">
<value>File Functions</value>
@@ -1629,16 +1611,16 @@
</value>
</data>
<data name="extractToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="extractToolStripMenuItem.Text" xml:space="preserve">
<value>Extract</value>
</data>
<data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 6</value>
<value>177, 6</value>
</data>
<data name="cloneFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="cloneFileToolStripMenuItem.Text" xml:space="preserve">
<value>Clone</value>
@@ -1651,7 +1633,7 @@
</value>
</data>
<data name="renameFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="renameFileToolStripMenuItem.Text" xml:space="preserve">
<value>Rename</value>
@@ -1667,19 +1649,19 @@
</value>
</data>
<data name="replaceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="replaceToolStripMenuItem.Text" xml:space="preserve">
<value>Replace</value>
</data>
<data name="deleteFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="deleteFileToolStripMenuItem.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="contextMenuPCKEntries.Size" type="System.Drawing.Size, System.Drawing">
<value>148, 214</value>
<value>181, 236</value>
</data>
<data name="&gt;&gt;contextMenuPCKEntries.Name" xml:space="preserve">
<value>contextMenuPCKEntries</value>
@@ -2061,24 +2043,6 @@
<data name="&gt;&gt;generateMipMapTextureToolStripMenuItem1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;setSubPCKEndiannessToolStripMenuItem.Name" xml:space="preserve">
<value>setSubPCKEndiannessToolStripMenuItem</value>
</data>
<data name="&gt;&gt;setSubPCKEndiannessToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;bigEndianXbox360PS3WiiUToolStripMenuItem.Name" xml:space="preserve">
<value>bigEndianXbox360PS3WiiUToolStripMenuItem</value>
</data>
<data name="&gt;&gt;bigEndianXbox360PS3WiiUToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;littleEndianPS4PSVitaSwitchToolStripMenuItem.Name" xml:space="preserve">
<value>littleEndianPS4PSVitaSwitchToolStripMenuItem</value>
</data>
<data name="&gt;&gt;littleEndianPS4PSVitaSwitchToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;setModelContainerFormatToolStripMenuItem.Name" xml:space="preserve">
<value>setModelContainerFormatToolStripMenuItem</value>
</data>