mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-09-23 09:02:26 +00:00
Added Extract PCK Contents menu tool
This commit is contained in:
@@ -1694,6 +1694,33 @@ namespace PckStudio.Controls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void extractEntirePCK()
|
||||||
|
{
|
||||||
|
OpenFolderDialog dialog = new OpenFolderDialog();
|
||||||
|
dialog.Title = @"Select destination folder";
|
||||||
|
|
||||||
|
if (dialog.ShowDialog(Handle) == true)
|
||||||
|
{
|
||||||
|
foreach (TreeNode node in treeViewMain.Nodes)
|
||||||
|
{
|
||||||
|
if(node == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (node.Tag == null)
|
||||||
|
{
|
||||||
|
extractFolder(dialog.ResultPath, node);
|
||||||
|
}
|
||||||
|
else if (node.TryGetTagData(out PckAsset asset))
|
||||||
|
{
|
||||||
|
extractFile(Path.Combine(dialog.ResultPath, Path.GetFileName(asset.Filename)), asset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verification that file extraction path was successful
|
||||||
|
MessageBox.Show(this, $"{TitleName} successfully extracted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void extractToolStripMenuItem_Click(object sender, EventArgs e)
|
private void extractToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
TreeNode node = treeViewMain.SelectedNode;
|
TreeNode node = treeViewMain.SelectedNode;
|
||||||
@@ -1711,7 +1738,7 @@ namespace PckStudio.Controls
|
|||||||
dialog.Title = @"Select destination folder";
|
dialog.Title = @"Select destination folder";
|
||||||
|
|
||||||
if (dialog.ShowDialog(Handle) == true)
|
if (dialog.ShowDialog(Handle) == true)
|
||||||
extractFolder(dialog.ResultPath);
|
extractFolder(dialog.ResultPath, node);
|
||||||
}
|
}
|
||||||
else if (node.TryGetTagData(out PckAsset asset))
|
else if (node.TryGetTagData(out PckAsset asset))
|
||||||
{
|
{
|
||||||
@@ -1734,10 +1761,8 @@ namespace PckStudio.Controls
|
|||||||
MessageBox.Show(this, $"\"{node.Text}\" successfully extracted");
|
MessageBox.Show(this, $"\"{node.Text}\" successfully extracted");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void extractFolder(string outPath)
|
private void extractFolder(string outPath, TreeNode node)
|
||||||
{
|
{
|
||||||
TreeNode node = treeViewMain.SelectedNode;
|
|
||||||
|
|
||||||
string selectedFolder = node.FullPath;
|
string selectedFolder = node.FullPath;
|
||||||
|
|
||||||
foreach (PckAsset asset in EditorValue.File.GetAssets().Where(asset => asset.Filename.StartsWith(selectedFolder)))
|
foreach (PckAsset asset in EditorValue.File.GetAssets().Where(asset => asset.Filename.StartsWith(selectedFolder)))
|
||||||
@@ -1750,7 +1775,7 @@ namespace PckStudio.Controls
|
|||||||
if (!Directory.Exists(finalPath))
|
if (!Directory.Exists(finalPath))
|
||||||
Directory.CreateDirectory(finalPath);
|
Directory.CreateDirectory(finalPath);
|
||||||
|
|
||||||
extractFile(finalPath + "/" + Path.GetFileName(asset.Filename), asset);
|
extractFile(Path.Combine(finalPath, Path.GetFileName(asset.Filename)), asset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Generated
+9
@@ -53,6 +53,7 @@
|
|||||||
this.setXMLVersion1MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
this.setXMLVersion1MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||||
this.setXMLVersion2MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
this.setXMLVersion2MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||||
this.setXMLVersion3MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
this.setXMLVersion3MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||||
|
this.extractToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.quickChangeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.quickChangeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.miscToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.miscToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.openPckManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.openPckManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@@ -216,6 +217,7 @@
|
|||||||
this.pckToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.pckToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.setPackIDToolStripMenuItem,
|
this.setPackIDToolStripMenuItem,
|
||||||
this.setXMLVersionStripMenuItem,
|
this.setXMLVersionStripMenuItem,
|
||||||
|
this.extractToolStripMenuItem,
|
||||||
this.quickChangeToolStripMenuItem});
|
this.quickChangeToolStripMenuItem});
|
||||||
this.pckToolStripMenuItem.ForeColor = System.Drawing.Color.Silver;
|
this.pckToolStripMenuItem.ForeColor = System.Drawing.Color.Silver;
|
||||||
this.pckToolStripMenuItem.Name = "pckToolStripMenuItem";
|
this.pckToolStripMenuItem.Name = "pckToolStripMenuItem";
|
||||||
@@ -269,6 +271,12 @@
|
|||||||
this.setXMLVersion3MenuItem.Tag = 3;
|
this.setXMLVersion3MenuItem.Tag = 3;
|
||||||
this.setXMLVersion3MenuItem.Click += new System.EventHandler(this.setXMLVersionMenuItem_Click);
|
this.setXMLVersion3MenuItem.Click += new System.EventHandler(this.setXMLVersionMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
// extractToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.extractToolStripMenuItem.Name = "extractToolStripMenuItem";
|
||||||
|
resources.ApplyResources(this.extractToolStripMenuItem, "extractToolStripMenuItem");
|
||||||
|
this.extractToolStripMenuItem.Click += new System.EventHandler(this.extractToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// quickChangeToolStripMenuItem
|
// quickChangeToolStripMenuItem
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.quickChangeToolStripMenuItem, "quickChangeToolStripMenuItem");
|
resources.ApplyResources(this.quickChangeToolStripMenuItem, "quickChangeToolStripMenuItem");
|
||||||
@@ -612,6 +620,7 @@
|
|||||||
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion2MenuItem;
|
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion2MenuItem;
|
||||||
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion3MenuItem;
|
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion3MenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem setPackIDToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem setPackIDToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem extractToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -641,5 +641,15 @@ namespace PckStudio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void extractToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (TryGetCurrentEditor(out IEditor<PackInfo> editor))
|
||||||
|
{
|
||||||
|
PckEditor pckEditor = editor as PckEditor;
|
||||||
|
|
||||||
|
pckEditor.extractEntirePCK();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -356,6 +356,12 @@
|
|||||||
<data name="setXMLVersionStripMenuItem.Text" xml:space="preserve">
|
<data name="setXMLVersionStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Set Skin BOX Version</value>
|
<value>Set Skin BOX Version</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="extractToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>192, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="extractToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Extract PCK Contents</value>
|
||||||
|
</data>
|
||||||
<data name="quickChangeToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="quickChangeToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
@@ -5890,6 +5896,12 @@
|
|||||||
<data name=">>setXMLVersion3MenuItem.Type" xml:space="preserve">
|
<data name=">>setXMLVersion3MenuItem.Type" xml:space="preserve">
|
||||||
<value>PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem, PCK-Studio, Version=7.0.1.2, Culture=neutral, PublicKeyToken=null</value>
|
<value>PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem, PCK-Studio, Version=7.0.1.2, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>extractToolStripMenuItem.Name" xml:space="preserve">
|
||||||
|
<value>extractToolStripMenuItem</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>extractToolStripMenuItem.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=">>quickChangeToolStripMenuItem.Name" xml:space="preserve">
|
<data name=">>quickChangeToolStripMenuItem.Name" xml:space="preserve">
|
||||||
<value>quickChangeToolStripMenuItem</value>
|
<value>quickChangeToolStripMenuItem</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
Reference in New Issue
Block a user