diff --git a/PCK-Studio/Controls/Editor/PckEditor.Designer.cs b/PCK-Studio/Controls/Editor/PckEditor.Designer.cs
index b60b55bd..3a182c2c 100644
--- a/PCK-Studio/Controls/Editor/PckEditor.Designer.cs
+++ b/PCK-Studio/Controls/Editor/PckEditor.Designer.cs
@@ -70,6 +70,8 @@ namespace PckStudio.Controls
this.importFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exportToolStripMenuItem = 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.miscFunctionsToolStripMenuItem = 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.fullBodyToolStripMenuItem = 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.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -109,7 +112,7 @@ namespace PckStudio.Controls
this.addMultipleEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.BigEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
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();
((System.ComponentModel.ISupportInitialize)(logoPictureBox)).BeginInit();
this.ParametersTabControl.SuspendLayout();
@@ -362,6 +365,9 @@ namespace PckStudio.Controls
this.createToolStripMenuItem,
this.importToolStripMenuItem,
this.exportToolStripMenuItem,
+ this.toolStripSeparator1,
+ this.moveUpStripMenuItem,
+ this.moveDownStripMenuItem,
this.toolStripSeparator5,
this.miscFunctionsToolStripMenuItem,
this.extractToolStripMenuItem,
@@ -474,6 +480,17 @@ namespace PckStudio.Controls
resources.ApplyResources(this.as3DSTextureFileToolStripMenuItem, "as3DSTextureFileToolStripMenuItem");
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
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
@@ -676,6 +693,12 @@ namespace PckStudio.Controls
resources.ApplyResources(this.croppedToolStripMenuItem, "croppedToolStripMenuItem");
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
//
resources.ApplyResources(this.extractToolStripMenuItem, "extractToolStripMenuItem");
@@ -742,11 +765,11 @@ namespace PckStudio.Controls
this.previewPictureBox.Name = "previewPictureBox";
this.previewPictureBox.TabStop = false;
//
- // convertToFolderToolStripMenuItem
+ // moveDownStripMenuItem
//
- this.convertToFolderToolStripMenuItem.Name = "convertToFolderToolStripMenuItem";
- resources.ApplyResources(this.convertToFolderToolStripMenuItem, "convertToFolderToolStripMenuItem");
- this.convertToFolderToolStripMenuItem.Click += new System.EventHandler(this.convertToFolderToolStripMenuItem_Click);
+ this.moveDownStripMenuItem.Name = "moveDownStripMenuItem";
+ resources.ApplyResources(this.moveDownStripMenuItem, "moveDownStripMenuItem");
+ this.moveDownStripMenuItem.Click += new System.EventHandler(this.moveDownStripMenuItem_Click);
//
// PckEditor
//
@@ -855,5 +878,8 @@ namespace PckStudio.Controls
private ToolStripMenuItem croppedToolStripMenuItem;
private ToolStripMenuItem addOFFSETParameterToolStripMenuItem;
private ToolStripMenuItem convertToFolderToolStripMenuItem;
+ private ToolStripSeparator toolStripSeparator1;
+ private ToolStripMenuItem moveUpStripMenuItem;
+ private ToolStripMenuItem moveDownStripMenuItem;
}
}
\ No newline at end of file
diff --git a/PCK-Studio/Controls/Editor/PckEditor.cs b/PCK-Studio/Controls/Editor/PckEditor.cs
index 35ea98ff..0e6fa509 100644
--- a/PCK-Studio/Controls/Editor/PckEditor.cs
+++ b/PCK-Studio/Controls/Editor/PckEditor.cs
@@ -1191,6 +1191,15 @@ namespace PckStudio.Controls
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)
{
// Retrieve the client coordinates of the drop location.
@@ -1280,12 +1289,7 @@ namespace PckStudio.Controls
if (draggedNodeIsSkinAsset && targetNodeIsSkinAsset)
{
- // I overthought this for so long, I guess this works lol - May
- int draggedIndex = EditorValue.File.IndexOfAsset(draggedAsset);
- int targetIndex = EditorValue.File.IndexOfAsset(targetAsset);
-
- EditorValue.File.RemoveAsset(draggedAsset);
- EditorValue.File.InsertAsset(targetIndex, draggedAsset);
+ MovePckAsset(draggedAsset, targetAsset);
selectedNodePath = draggedAsset.Filename;
}
if (draggedNodeIsFile &&
@@ -2604,6 +2608,8 @@ namespace PckStudio.Controls
toolStripSeparator6.Visible = false;
exportIconToolStripMenuItem.Visible = false;
convertToFolderToolStripMenuItem.Visible = false;
+ moveDownStripMenuItem.Visible = false;
+ moveUpStripMenuItem.Visible = false;
if (treeViewMain?.SelectedNode.TryGetTagData(out PckAsset asset) ?? false)
{
@@ -2619,10 +2625,16 @@ namespace PckStudio.Controls
case PckAssetType.SkinFile:
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
break;
case PckAssetType.CapeFile:
exportIconToolStripMenuItem.Visible = Settings.Default.UseCustomCapeIcons;
+
+ moveDownStripMenuItem.Visible = true; // allow for cape sorting
+ moveUpStripMenuItem.Visible = true;
break;
case PckAssetType.TextureFile:
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);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/PCK-Studio/Controls/Editor/PckEditor.resx b/PCK-Studio/Controls/Editor/PckEditor.resx
index 8c9b6f4b..952b935d 100644
--- a/PCK-Studio/Controls/Editor/PckEditor.resx
+++ b/PCK-Studio/Controls/Editor/PckEditor.resx
@@ -912,7 +912,7 @@
True
- 76, 42
+ 76, 36
0, 0
@@ -957,7 +957,7 @@
False
- 215, 12
+ 215, 6
146, 20
@@ -1002,7 +1002,7 @@
False
- 215, 44
+ 215, 38
146, 20
@@ -1026,7 +1026,7 @@
Bottom, Right
- 215, 70
+ 215, 64
146, 33
@@ -1059,7 +1059,7 @@
True
- 138, -65
+ 138, -71
0, 0
@@ -1407,6 +1407,21 @@
Export
+
+ 177, 6
+
+
+ 180, 22
+
+
+ Move Up
+
+
+ 180, 22
+
+
+ Move Down
+
177, 6
@@ -1644,7 +1659,7 @@
Delete
- 181, 236
+ 181, 286
contextMenuPCKEntries
@@ -1912,6 +1927,18 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ toolStripSeparator1
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ moveUpStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
toolStripSeparator5
@@ -2086,6 +2113,12 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ convertToFolderToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
extractToolStripMenuItem
@@ -2134,10 +2167,10 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- convertToFolderToolStripMenuItem
+
+ moveDownStripMenuItem
-
+
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089