Added Move Up/Down content menu buttons for Skins

This commit is contained in:
MayNL
2026-07-02 23:20:14 -04:00
parent 30671812c5
commit 61d29d9491
3 changed files with 121 additions and 20 deletions
+31 -5
View File
@@ -70,6 +70,8 @@ namespace PckStudio.Controls
this.importFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.importFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.as3DSTextureFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.as3DSTextureFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.moveUpStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.miscFunctionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.miscFunctionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.setFileTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.setFileTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -99,6 +101,7 @@ namespace PckStudio.Controls
this.exportIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exportIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fullBodyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fullBodyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.croppedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.croppedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertToFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extractToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.extractToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -109,7 +112,7 @@ namespace PckStudio.Controls
this.addMultipleEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addMultipleEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.BigEndianCheckBox = new MetroFramework.Controls.MetroCheckBox(); this.BigEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
this.previewPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox(); this.previewPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
this.convertToFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.moveDownStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
logoPictureBox = new System.Windows.Forms.PictureBox(); logoPictureBox = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(logoPictureBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(logoPictureBox)).BeginInit();
this.ParametersTabControl.SuspendLayout(); this.ParametersTabControl.SuspendLayout();
@@ -362,6 +365,9 @@ namespace PckStudio.Controls
this.createToolStripMenuItem, this.createToolStripMenuItem,
this.importToolStripMenuItem, this.importToolStripMenuItem,
this.exportToolStripMenuItem, this.exportToolStripMenuItem,
this.toolStripSeparator1,
this.moveUpStripMenuItem,
this.moveDownStripMenuItem,
this.toolStripSeparator5, this.toolStripSeparator5,
this.miscFunctionsToolStripMenuItem, this.miscFunctionsToolStripMenuItem,
this.extractToolStripMenuItem, this.extractToolStripMenuItem,
@@ -474,6 +480,17 @@ namespace PckStudio.Controls
resources.ApplyResources(this.as3DSTextureFileToolStripMenuItem, "as3DSTextureFileToolStripMenuItem"); resources.ApplyResources(this.as3DSTextureFileToolStripMenuItem, "as3DSTextureFileToolStripMenuItem");
this.as3DSTextureFileToolStripMenuItem.Click += new System.EventHandler(this.as3DSTextureFileToolStripMenuItem_Click); this.as3DSTextureFileToolStripMenuItem.Click += new System.EventHandler(this.as3DSTextureFileToolStripMenuItem_Click);
// //
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
//
// moveUpStripMenuItem
//
this.moveUpStripMenuItem.Name = "moveUpStripMenuItem";
resources.ApplyResources(this.moveUpStripMenuItem, "moveUpStripMenuItem");
this.moveUpStripMenuItem.Click += new System.EventHandler(this.moveUpStripMenuItem_Click);
//
// toolStripSeparator5 // toolStripSeparator5
// //
this.toolStripSeparator5.Name = "toolStripSeparator5"; this.toolStripSeparator5.Name = "toolStripSeparator5";
@@ -676,6 +693,12 @@ namespace PckStudio.Controls
resources.ApplyResources(this.croppedToolStripMenuItem, "croppedToolStripMenuItem"); resources.ApplyResources(this.croppedToolStripMenuItem, "croppedToolStripMenuItem");
this.croppedToolStripMenuItem.Click += new System.EventHandler(this.croppedToolStripMenuItem_Click); this.croppedToolStripMenuItem.Click += new System.EventHandler(this.croppedToolStripMenuItem_Click);
// //
// convertToFolderToolStripMenuItem
//
this.convertToFolderToolStripMenuItem.Name = "convertToFolderToolStripMenuItem";
resources.ApplyResources(this.convertToFolderToolStripMenuItem, "convertToFolderToolStripMenuItem");
this.convertToFolderToolStripMenuItem.Click += new System.EventHandler(this.convertToFolderToolStripMenuItem_Click);
//
// extractToolStripMenuItem // extractToolStripMenuItem
// //
resources.ApplyResources(this.extractToolStripMenuItem, "extractToolStripMenuItem"); resources.ApplyResources(this.extractToolStripMenuItem, "extractToolStripMenuItem");
@@ -742,11 +765,11 @@ namespace PckStudio.Controls
this.previewPictureBox.Name = "previewPictureBox"; this.previewPictureBox.Name = "previewPictureBox";
this.previewPictureBox.TabStop = false; this.previewPictureBox.TabStop = false;
// //
// convertToFolderToolStripMenuItem // moveDownStripMenuItem
// //
this.convertToFolderToolStripMenuItem.Name = "convertToFolderToolStripMenuItem"; this.moveDownStripMenuItem.Name = "moveDownStripMenuItem";
resources.ApplyResources(this.convertToFolderToolStripMenuItem, "convertToFolderToolStripMenuItem"); resources.ApplyResources(this.moveDownStripMenuItem, "moveDownStripMenuItem");
this.convertToFolderToolStripMenuItem.Click += new System.EventHandler(this.convertToFolderToolStripMenuItem_Click); this.moveDownStripMenuItem.Click += new System.EventHandler(this.moveDownStripMenuItem_Click);
// //
// PckEditor // PckEditor
// //
@@ -855,5 +878,8 @@ namespace PckStudio.Controls
private ToolStripMenuItem croppedToolStripMenuItem; private ToolStripMenuItem croppedToolStripMenuItem;
private ToolStripMenuItem addOFFSETParameterToolStripMenuItem; private ToolStripMenuItem addOFFSETParameterToolStripMenuItem;
private ToolStripMenuItem convertToFolderToolStripMenuItem; private ToolStripMenuItem convertToFolderToolStripMenuItem;
private ToolStripSeparator toolStripSeparator1;
private ToolStripMenuItem moveUpStripMenuItem;
private ToolStripMenuItem moveDownStripMenuItem;
} }
} }
+48 -6
View File
@@ -1191,6 +1191,15 @@ namespace PckStudio.Controls
treeViewMain.SelectedNode = selectedNodes[0]; treeViewMain.SelectedNode = selectedNodes[0];
} }
private void MovePckAsset(PckAsset movingAsset, PckAsset targetAsset)
{
// I overthought this for so long, I guess this works lol - May
int targetIndex = EditorValue.File.IndexOfAsset(targetAsset);
EditorValue.File.RemoveAsset(movingAsset);
EditorValue.File.InsertAsset(targetIndex, movingAsset);
}
private void treeViewMain_DragDrop(object sender, DragEventArgs e) private void treeViewMain_DragDrop(object sender, DragEventArgs e)
{ {
// Retrieve the client coordinates of the drop location. // Retrieve the client coordinates of the drop location.
@@ -1280,12 +1289,7 @@ namespace PckStudio.Controls
if (draggedNodeIsSkinAsset && targetNodeIsSkinAsset) if (draggedNodeIsSkinAsset && targetNodeIsSkinAsset)
{ {
// I overthought this for so long, I guess this works lol - May MovePckAsset(draggedAsset, targetAsset);
int draggedIndex = EditorValue.File.IndexOfAsset(draggedAsset);
int targetIndex = EditorValue.File.IndexOfAsset(targetAsset);
EditorValue.File.RemoveAsset(draggedAsset);
EditorValue.File.InsertAsset(targetIndex, draggedAsset);
selectedNodePath = draggedAsset.Filename; selectedNodePath = draggedAsset.Filename;
} }
if (draggedNodeIsFile && if (draggedNodeIsFile &&
@@ -2604,6 +2608,8 @@ namespace PckStudio.Controls
toolStripSeparator6.Visible = false; toolStripSeparator6.Visible = false;
exportIconToolStripMenuItem.Visible = false; exportIconToolStripMenuItem.Visible = false;
convertToFolderToolStripMenuItem.Visible = false; convertToFolderToolStripMenuItem.Visible = false;
moveDownStripMenuItem.Visible = false;
moveUpStripMenuItem.Visible = false;
if (treeViewMain?.SelectedNode.TryGetTagData(out PckAsset asset) ?? false) if (treeViewMain?.SelectedNode.TryGetTagData(out PckAsset asset) ?? false)
{ {
@@ -2619,10 +2625,16 @@ namespace PckStudio.Controls
case PckAssetType.SkinFile: case PckAssetType.SkinFile:
exportToolStripMenuItem.Visible = true; exportToolStripMenuItem.Visible = true;
moveDownStripMenuItem.Visible = true; // allow for skin sorting
moveUpStripMenuItem.Visible = true;
exportIconToolStripMenuItem.Visible = Settings.Default.UseCustomSkinIcons; // only enable if setting is true, no point in exporting custom icons otherwise exportIconToolStripMenuItem.Visible = Settings.Default.UseCustomSkinIcons; // only enable if setting is true, no point in exporting custom icons otherwise
break; break;
case PckAssetType.CapeFile: case PckAssetType.CapeFile:
exportIconToolStripMenuItem.Visible = Settings.Default.UseCustomCapeIcons; exportIconToolStripMenuItem.Visible = Settings.Default.UseCustomCapeIcons;
moveDownStripMenuItem.Visible = true; // allow for cape sorting
moveUpStripMenuItem.Visible = true;
break; break;
case PckAssetType.TextureFile: case PckAssetType.TextureFile:
generateMipMapTextureToolStripMenuItem1.Visible = true; generateMipMapTextureToolStripMenuItem1.Visible = true;
@@ -2714,5 +2726,35 @@ namespace PckStudio.Controls
} }
} }
} }
private void moveUpStripMenuItem_Click(object sender, EventArgs e)
{
if (treeViewMain.SelectedNode is TreeNode selectedNode && selectedNode.Tag is PckAsset selectedAsset)
{
int index = EditorValue.File.IndexOfAsset(selectedAsset);
if (index == 0 || selectedNode.Index == 0)
return;
MovePckAsset(selectedAsset, EditorValue.File.GetAssets().ElementAt(index - 1));
_wasModified = true;
BuildMainTreeView();
SelectNodeByPath(selectedAsset.Filename);
}
}
private void moveDownStripMenuItem_Click(object sender, EventArgs e)
{
if (treeViewMain.SelectedNode is TreeNode selectedNode && selectedNode.Tag is PckAsset selectedAsset)
{
int index = EditorValue.File.IndexOfAsset(selectedAsset);
if (index == EditorValue.File.AssetCount || selectedNode == selectedNode.Parent.LastNode)
return;
MovePckAsset(selectedAsset, EditorValue.File.GetAssets().ElementAt(EditorValue.File.IndexOfAsset(selectedAsset) + 1));
_wasModified = true;
BuildMainTreeView();
SelectNodeByPath(selectedAsset.Filename);
}
}
} }
} }
+42 -9
View File
@@ -912,7 +912,7 @@
<value>True</value> <value>True</value>
</data> </data>
<data name="metroLabel2.Location" type="System.Drawing.Point, System.Drawing"> <data name="metroLabel2.Location" type="System.Drawing.Point, System.Drawing">
<value>76, 42</value> <value>76, 36</value>
</data> </data>
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value> <value>0, 0</value>
@@ -957,7 +957,7 @@
<value>False</value> <value>False</value>
</data> </data>
<data name="ParameterTypeTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="ParameterTypeTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 12</value> <value>215, 6</value>
</data> </data>
<data name="ParameterTypeTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="ParameterTypeTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 20</value> <value>146, 20</value>
@@ -1002,7 +1002,7 @@
<value>False</value> <value>False</value>
</data> </data>
<data name="parameterValueTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="parameterValueTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 44</value> <value>215, 38</value>
</data> </data>
<data name="parameterValueTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="parameterValueTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 20</value> <value>146, 20</value>
@@ -1026,7 +1026,7 @@
<value>Bottom, Right</value> <value>Bottom, Right</value>
</data> </data>
<data name="buttonEdit.Location" type="System.Drawing.Point, System.Drawing"> <data name="buttonEdit.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 70</value> <value>215, 64</value>
</data> </data>
<data name="buttonEdit.Size" type="System.Drawing.Size, System.Drawing"> <data name="buttonEdit.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 33</value> <value>146, 33</value>
@@ -1059,7 +1059,7 @@
<value>True</value> <value>True</value>
</data> </data>
<data name="metroLabel1.Location" type="System.Drawing.Point, System.Drawing"> <data name="metroLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>138, -65</value> <value>138, -71</value>
</data> </data>
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value> <value>0, 0</value>
@@ -1407,6 +1407,21 @@
<data name="exportToolStripMenuItem.Text" xml:space="preserve"> <data name="exportToolStripMenuItem.Text" xml:space="preserve">
<value>Export</value> <value>Export</value>
</data> </data>
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value>
</data>
<data name="moveUpStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="moveUpStripMenuItem.Text" xml:space="preserve">
<value>Move Up</value>
</data>
<data name="moveDownStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="moveDownStripMenuItem.Text" xml:space="preserve">
<value>Move Down</value>
</data>
<data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value> <value>177, 6</value>
</data> </data>
@@ -1644,7 +1659,7 @@
<value>Delete</value> <value>Delete</value>
</data> </data>
<data name="contextMenuPCKEntries.Size" type="System.Drawing.Size, System.Drawing"> <data name="contextMenuPCKEntries.Size" type="System.Drawing.Size, System.Drawing">
<value>181, 236</value> <value>181, 286</value>
</data> </data>
<data name="&gt;&gt;contextMenuPCKEntries.Name" xml:space="preserve"> <data name="&gt;&gt;contextMenuPCKEntries.Name" xml:space="preserve">
<value>contextMenuPCKEntries</value> <value>contextMenuPCKEntries</value>
@@ -1912,6 +1927,18 @@
<data name="&gt;&gt;as3DSTextureFileToolStripMenuItem.Type" xml:space="preserve"> <data name="&gt;&gt;as3DSTextureFileToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;toolStripSeparator1.Name" xml:space="preserve">
<value>toolStripSeparator1</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;moveUpStripMenuItem.Name" xml:space="preserve">
<value>moveUpStripMenuItem</value>
</data>
<data name="&gt;&gt;moveUpStripMenuItem.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;toolStripSeparator5.Name" xml:space="preserve"> <data name="&gt;&gt;toolStripSeparator5.Name" xml:space="preserve">
<value>toolStripSeparator5</value> <value>toolStripSeparator5</value>
</data> </data>
@@ -2086,6 +2113,12 @@
<data name="&gt;&gt;croppedToolStripMenuItem.Type" xml:space="preserve"> <data name="&gt;&gt;croppedToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;convertToFolderToolStripMenuItem.Name" xml:space="preserve">
<value>convertToFolderToolStripMenuItem</value>
</data>
<data name="&gt;&gt;convertToFolderToolStripMenuItem.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;extractToolStripMenuItem.Name" xml:space="preserve"> <data name="&gt;&gt;extractToolStripMenuItem.Name" xml:space="preserve">
<value>extractToolStripMenuItem</value> <value>extractToolStripMenuItem</value>
</data> </data>
@@ -2134,10 +2167,10 @@
<data name="&gt;&gt;addMultipleEntriesToolStripMenuItem.Type" xml:space="preserve"> <data name="&gt;&gt;addMultipleEntriesToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;convertToFolderToolStripMenuItem.Name" xml:space="preserve"> <data name="&gt;&gt;moveDownStripMenuItem.Name" xml:space="preserve">
<value>convertToFolderToolStripMenuItem</value> <value>moveDownStripMenuItem</value>
</data> </data>
<data name="&gt;&gt;convertToFolderToolStripMenuItem.Type" xml:space="preserve"> <data name="&gt;&gt;moveDownStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">