Refactor Form1

This commit is contained in:
miku-666
2022-06-10 12:32:31 +02:00
parent d764367cfb
commit 6ade4b3f75
5 changed files with 455 additions and 510 deletions

View File

@@ -35,7 +35,6 @@
this.metroLabel3 = new MetroFramework.Controls.MetroLabel();
this.metroLabel4 = new MetroFramework.Controls.MetroLabel();
this.metroLabel5 = new MetroFramework.Controls.MetroLabel();
this.mikuSecrect = new MetroFramework.Controls.MetroLabel();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
@@ -49,6 +48,7 @@
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
this.pictureBox1.DoubleClick += new System.EventHandler(this.pictureBox1_Click);
//
// metroLabel1
//
@@ -59,7 +59,6 @@
this.metroLabel1.TabIndex = 1;
this.metroLabel1.Text = "Restored and maintained by PhoenixARC";
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroLabel1.Click += new System.EventHandler(this.metroLabel1_Click);
//
// metroLabel2
//
@@ -101,23 +100,12 @@
this.metroLabel5.Text = "Additional code and utilities by MattNL";
this.metroLabel5.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// mikuSecrect
//
this.mikuSecrect.AutoSize = true;
this.mikuSecrect.Location = new System.Drawing.Point(331, 350);
this.mikuSecrect.Name = "mikuSecrect";
this.mikuSecrect.Size = new System.Drawing.Size(101, 19);
this.mikuSecrect.TabIndex = 6;
this.mikuSecrect.Text = "Miku was here...";
this.mikuSecrect.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// programInfo
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BorderStyle = MetroFramework.Forms.MetroFormBorderStyle.FixedSingle;
this.ClientSize = new System.Drawing.Size(602, 392);
this.Controls.Add(this.mikuSecrect);
this.Controls.Add(this.metroLabel1);
this.Controls.Add(this.metroLabel5);
this.Controls.Add(this.metroLabel4);
@@ -134,7 +122,6 @@
this.Style = MetroFramework.MetroColorStyle.Silver;
this.Text = "programInfo";
this.Theme = MetroFramework.MetroThemeStyle.Dark;
this.Load += new System.EventHandler(this.programInfo_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -150,6 +137,5 @@
private MetroFramework.Controls.MetroLabel metroLabel3;
private MetroFramework.Controls.MetroLabel metroLabel4;
private MetroFramework.Controls.MetroLabel metroLabel5;
private MetroFramework.Controls.MetroLabel mikuSecrect;
}
}

View File

@@ -7,29 +7,25 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MetroFramework.Forms;
namespace PckStudio
{
public partial class programInfo : MetroFramework.Forms.MetroForm
public partial class programInfo : MetroForm
{
int count = 0;
public programInfo()
{
InitializeComponent();
}
private void programInfo_Load(object sender, EventArgs e)
{
}
private void pictureBox1_Click(object sender, EventArgs e)
{
if (++count == 5)
{
MessageBox.Show("🌸Miku🌸 was here!");
count = 0;
}
}
private void metroLabel1_Click(object sender, EventArgs e)
{
}
}
}

View File

@@ -36,7 +36,6 @@
this.skinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.createAnimatedTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.audiopckToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importSkinsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importSkinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importExtractedSkinsFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -60,6 +59,7 @@
this.metaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addPasswordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertPCTextrurePackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.advancedMetaAddingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertToBedrockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -105,18 +105,19 @@
this.label5 = new MetroFramework.Controls.MetroLabel();
this.pckOpen = new System.Windows.Forms.PictureBox();
this.editorTab = new MetroFramework.Controls.MetroTabPage();
this.entryTypeTextBox = new MetroFramework.Controls.MetroTextBox();
this.buttonEdit = new MetroFramework.Controls.MetroButton();
this.labelImageSize = new MetroFramework.Controls.MetroLabel();
this.pictureBoxImagePreview = new PckStudio.PictureBoxWithInterpolationMode();
this.fileEntryCountLabel = new MetroFramework.Controls.MetroLabel();
this.textBox1 = new MetroFramework.Controls.MetroTextBox();
this.entryDataTextBox = new MetroFramework.Controls.MetroTextBox();
this.metroLabel2 = new MetroFramework.Controls.MetroLabel();
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
this.comboBox1 = new MetroFramework.Controls.MetroComboBox();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.treeMeta = new System.Windows.Forms.TreeView();
this.treeViewMain = new System.Windows.Forms.TreeView();
this.imageList = new System.Windows.Forms.ImageList(this.components);
this.label11 = new MetroFramework.Controls.MetroLabel();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
@@ -140,7 +141,6 @@
//
this.contextMenuPCKEntries.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.createToolStripMenuItem,
this.cloneFileToolStripMenuItem,
this.importSkinsToolStripMenuItem,
this.extractToolStripMenuItem,
this.renameFileToolStripMenuItem,
@@ -185,12 +185,6 @@
this.audiopckToolStripMenuItem.Name = "audiopckToolStripMenuItem";
this.audiopckToolStripMenuItem.Click += new System.EventHandler(this.audiopckToolStripMenuItem_Click);
//
// cloneFileToolStripMenuItem
//
resources.ApplyResources(this.cloneFileToolStripMenuItem, "cloneFileToolStripMenuItem");
this.cloneFileToolStripMenuItem.Name = "cloneFileToolStripMenuItem";
this.cloneFileToolStripMenuItem.Click += new System.EventHandler(this.cloneFileToolStripMenuItem_Click);
//
// importSkinsToolStripMenuItem
//
this.importSkinsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -216,7 +210,6 @@
//
resources.ApplyResources(this.importFileToolStripMenuItem, "importFileToolStripMenuItem");
this.importFileToolStripMenuItem.Name = "importFileToolStripMenuItem";
this.importFileToolStripMenuItem.Click += new System.EventHandler(this.addFileToolStripMenuItem_Click);
//
// extractToolStripMenuItem
//
@@ -275,7 +268,8 @@
this.saveToolStripMenuItem,
this.metaToolStripMenuItem,
this.addPasswordToolStripMenuItem,
this.convertPCTextrurePackToolStripMenuItem});
this.convertPCTextrurePackToolStripMenuItem,
this.closeToolStripMenuItem});
this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White;
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem");
@@ -348,6 +342,12 @@
resources.ApplyResources(this.convertPCTextrurePackToolStripMenuItem, "convertPCTextrurePackToolStripMenuItem");
this.convertPCTextrurePackToolStripMenuItem.Click += new System.EventHandler(this.convertPCTextrurePackToolStripMenuItem_Click);
//
// closeToolStripMenuItem
//
this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
resources.ApplyResources(this.closeToolStripMenuItem, "closeToolStripMenuItem");
this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click);
//
// editToolStripMenuItem
//
this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -630,7 +630,7 @@
this.tabControl.Controls.Add(this.editorTab);
resources.ApplyResources(this.tabControl, "tabControl");
this.tabControl.Name = "tabControl";
this.tabControl.SelectedIndex = 1;
this.tabControl.SelectedIndex = 0;
this.tabControl.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.tabControl.Style = MetroFramework.MetroColorStyle.White;
this.tabControl.TabStop = false;
@@ -687,14 +687,14 @@
//
this.editorTab.BackColor = System.Drawing.Color.Transparent;
resources.ApplyResources(this.editorTab, "editorTab");
this.editorTab.Controls.Add(this.entryTypeTextBox);
this.editorTab.Controls.Add(this.buttonEdit);
this.editorTab.Controls.Add(this.labelImageSize);
this.editorTab.Controls.Add(this.pictureBoxImagePreview);
this.editorTab.Controls.Add(this.fileEntryCountLabel);
this.editorTab.Controls.Add(this.textBox1);
this.editorTab.Controls.Add(this.entryDataTextBox);
this.editorTab.Controls.Add(this.metroLabel2);
this.editorTab.Controls.Add(this.metroLabel1);
this.editorTab.Controls.Add(this.comboBox1);
this.editorTab.Controls.Add(this.tabControl1);
this.editorTab.Controls.Add(this.treeViewMain);
this.editorTab.Controls.Add(this.label11);
@@ -708,6 +708,35 @@
this.editorTab.VerticalScrollbarHighlightOnWheel = false;
this.editorTab.VerticalScrollbarSize = 0;
//
// entryTypeTextBox
//
//
//
//
this.entryTypeTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
this.entryTypeTextBox.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location")));
this.entryTypeTextBox.CustomButton.Name = "";
this.entryTypeTextBox.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size")));
this.entryTypeTextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
this.entryTypeTextBox.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex")));
this.entryTypeTextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
this.entryTypeTextBox.CustomButton.UseSelectable = true;
this.entryTypeTextBox.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible")));
resources.ApplyResources(this.entryTypeTextBox, "entryTypeTextBox");
this.entryTypeTextBox.Lines = new string[0];
this.entryTypeTextBox.MaxLength = 32767;
this.entryTypeTextBox.Name = "entryTypeTextBox";
this.entryTypeTextBox.PasswordChar = '\0';
this.entryTypeTextBox.ScrollBars = System.Windows.Forms.ScrollBars.None;
this.entryTypeTextBox.SelectedText = "";
this.entryTypeTextBox.SelectionLength = 0;
this.entryTypeTextBox.SelectionStart = 0;
this.entryTypeTextBox.ShortcutsEnabled = true;
this.entryTypeTextBox.Theme = MetroFramework.MetroThemeStyle.Dark;
this.entryTypeTextBox.UseSelectable = true;
this.entryTypeTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
this.entryTypeTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
//
// buttonEdit
//
resources.ApplyResources(this.buttonEdit, "buttonEdit");
@@ -724,8 +753,8 @@
//
// pictureBoxImagePreview
//
this.pictureBoxImagePreview.Image = global::PckStudio.Properties.Resources.NoImageFound;
resources.ApplyResources(this.pictureBoxImagePreview, "pictureBoxImagePreview");
this.pictureBoxImagePreview.Image = global::PckStudio.Properties.Resources.NoImageFound;
this.pictureBoxImagePreview.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
this.pictureBoxImagePreview.Name = "pictureBoxImagePreview";
this.pictureBoxImagePreview.TabStop = false;
@@ -736,36 +765,35 @@
this.fileEntryCountLabel.Name = "fileEntryCountLabel";
this.fileEntryCountLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// textBox1
// entryDataTextBox
//
resources.ApplyResources(this.entryDataTextBox, "entryDataTextBox");
//
//
//
//
this.textBox1.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
this.textBox1.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode")));
this.textBox1.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location")));
this.textBox1.CustomButton.Name = "";
this.textBox1.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size")));
this.textBox1.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
this.textBox1.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex")));
this.textBox1.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
this.textBox1.CustomButton.UseSelectable = true;
this.textBox1.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible")));
this.textBox1.Lines = new string[0];
resources.ApplyResources(this.textBox1, "textBox1");
this.textBox1.MaxLength = 32767;
this.textBox1.Name = "textBox1";
this.textBox1.PasswordChar = '\0';
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.None;
this.textBox1.SelectedText = "";
this.textBox1.SelectionLength = 0;
this.textBox1.SelectionStart = 0;
this.textBox1.ShortcutsEnabled = true;
this.textBox1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.textBox1.UseSelectable = true;
this.textBox1.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
this.textBox1.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
this.entryDataTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1")));
this.entryDataTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode")));
this.entryDataTextBox.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location1")));
this.entryDataTextBox.CustomButton.Name = "";
this.entryDataTextBox.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size1")));
this.entryDataTextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
this.entryDataTextBox.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex1")));
this.entryDataTextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
this.entryDataTextBox.CustomButton.UseSelectable = true;
this.entryDataTextBox.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible1")));
this.entryDataTextBox.Lines = new string[0];
this.entryDataTextBox.MaxLength = 32767;
this.entryDataTextBox.Name = "entryDataTextBox";
this.entryDataTextBox.PasswordChar = '\0';
this.entryDataTextBox.ScrollBars = System.Windows.Forms.ScrollBars.None;
this.entryDataTextBox.SelectedText = "";
this.entryDataTextBox.SelectionLength = 0;
this.entryDataTextBox.SelectionStart = 0;
this.entryDataTextBox.ShortcutsEnabled = true;
this.entryDataTextBox.Theme = MetroFramework.MetroThemeStyle.Dark;
this.entryDataTextBox.UseSelectable = true;
this.entryDataTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
this.entryDataTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
//
// metroLabel2
//
@@ -779,18 +807,10 @@
this.metroLabel1.Name = "metroLabel1";
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// comboBox1
//
this.comboBox1.FormattingEnabled = true;
resources.ApplyResources(this.comboBox1, "comboBox1");
this.comboBox1.Name = "comboBox1";
this.comboBox1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.comboBox1.UseSelectable = true;
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage2);
resources.ApplyResources(this.tabControl1, "tabControl1");
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
//
@@ -803,24 +823,35 @@
//
// treeMeta
//
this.treeMeta.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
resources.ApplyResources(this.treeMeta, "treeMeta");
this.treeMeta.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.treeMeta.ContextMenuStrip = this.contextMenuMetaTree;
this.treeMeta.Name = "treeMeta";
this.treeMeta.PathSeparator = "/";
this.treeMeta.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeMeta_AfterSelect);
this.treeMeta.DoubleClick += new System.EventHandler(this.treeMeta_DoubleClick);
this.treeMeta.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeMeta_KeyDown);
//
// treeViewMain
//
this.treeViewMain.AllowDrop = true;
resources.ApplyResources(this.treeViewMain, "treeViewMain");
this.treeViewMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.treeViewMain.ContextMenuStrip = this.contextMenuPCKEntries;
resources.ApplyResources(this.treeViewMain, "treeViewMain");
this.treeViewMain.ForeColor = System.Drawing.Color.White;
this.treeViewMain.ImageList = this.imageList;
this.treeViewMain.LabelEdit = true;
this.treeViewMain.Name = "treeViewMain";
this.treeViewMain.PathSeparator = "/";
this.treeViewMain.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.selectNode);
this.treeViewMain.DoubleClick += new System.EventHandler(this.treeViewMain_DoubleClick);
this.treeViewMain.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeViewMain_KeyDown);
//
// imageList
//
this.imageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
resources.ApplyResources(this.imageList, "imageList");
this.imageList.TransparentColor = System.Drawing.Color.Transparent;
//
// label11
//
@@ -890,7 +921,6 @@
private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
private System.Windows.Forms.ContextMenuStrip contextMenuPCKEntries;
private System.Windows.Forms.ToolStripMenuItem cloneFileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem extractToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem renameFileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem replaceToolStripMenuItem;
@@ -964,10 +994,9 @@
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TreeView treeMeta;
private MetroFramework.Controls.MetroComboBox comboBox1;
private MetroFramework.Controls.MetroLabel metroLabel1;
private MetroFramework.Controls.MetroLabel metroLabel2;
private MetroFramework.Controls.MetroTextBox textBox1;
private MetroFramework.Controls.MetroTextBox entryDataTextBox;
private MetroFramework.Controls.MetroLabel fileEntryCountLabel;
private PictureBoxWithInterpolationMode pictureBoxImagePreview;
private MetroFramework.Controls.MetroLabel labelImageSize;
@@ -975,6 +1004,9 @@
private System.Windows.Forms.ToolStripMenuItem skinPackToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem texturePackToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem mashUpPackToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem;
private System.Windows.Forms.ImageList imageList;
private MetroFramework.Controls.MetroTextBox entryTypeTextBox;
}
}

View File

@@ -25,30 +25,22 @@ namespace PckStudio
string saveLocation = string.Empty; //Save location for pck file
string PCKFilePath = "";
string PCKFileBCKUP = "x";
PCKFile currentPCK;//currently opened pck
LOCFile l; //Locdata
PCKFile.FileData mfLoc = new PCKFile.FileData("CURRENTLOCDATA", 6); //LOC minefile
PCKFile currentPCK; //currently opened pck
bool needsUpdate = false;
bool saved = true;
bool isTemplateFile = false;
string appData = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/PCK Studio/";
public FormMain()
{
InitializeComponent();
ImageList imageList = new ImageList();
imageList.ColorDepth = ColorDepth.Depth32Bit;
imageList.ImageSize = new Size(20, 20);
imageList.Images.Add(Resources.ZZFolder);
imageList.Images.Add(Resources.BINKA_ICON);
imageList.Images.Add(Resources.IMAGE_ICON);
imageList.Images.Add(Resources.LOC_ICON);
imageList.Images.Add(Resources.PCK_ICON);
imageList.Images.Add(Resources.ZUnknown);
treeViewMain.ImageList = imageList;
FormBorderStyle = FormBorderStyle.None;
pckOpen.AllowDrop = true;
tabControl.SelectTab(0);
RPC.Initialize("825875166574673940");
}
@@ -63,7 +55,8 @@ namespace PckStudio
saveLocation = ofd.FileName;
currentPCK = openPck(ofd.FileName);
fileEntryCountLabel.Text = "Files:" + currentPCK.file_entries.Count;
loadEditor();
if (checkForPassword())
loadEditor();
}
}
}
@@ -80,10 +73,8 @@ namespace PckStudio
return pck;
}
private void loadEditor()
{
treeViewMain.Nodes.Clear();
treeViewMain.LabelEdit = false;
private bool checkForPassword()
{
addPasswordToolStripMenuItem.Enabled = true;
foreach (var file_entry in currentPCK.file_entries)
{
@@ -92,12 +83,19 @@ namespace PckStudio
{
addPasswordToolStripMenuItem.Enabled = !(pair.Item1 == "LOCK");
if (pair.Item1 == "LOCK" && new pckLocked(pair.Item2).ShowDialog() != DialogResult.OK)
return;
return false;
}
}
return true;
}
private void loadEditor()
{
treeViewMain.Nodes.Clear();
treeViewMain.LabelEdit = false;
closeToolStripMenuItem.Visible = true;
foreach (var file_entry in currentPCK.file_entries)
{
Console.WriteLine(file_entry.name);
TreeNode node = new TreeNode(file_entry.name);
node.Tag = file_entry;
treeViewMain.Nodes.Add(node);
@@ -145,6 +143,8 @@ namespace PckStudio
dropDownItem2.Enabled = true;
}
fileEntryCountLabel.Text = "Files:" + currentPCK.file_entries.Count.ToString();
treeViewMain.Enabled = true;
treeMeta.Enabled = true;
tabControl.SelectTab(1);
}
@@ -160,10 +160,8 @@ namespace PckStudio
if (node.Tag == null || !(node.Tag is PCKFile.FileData)) return;
PCKFile.FileData file = node.Tag as PCKFile.FileData;
treeMeta.Nodes.Clear();
comboBox1.Items.Clear();
textBox1.Text = "";
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type); //Adds available metadata names from metadatabase to the metacombo
entryTypeTextBox.Text = "";
entryDataTextBox.Text = "";
//Retrieves metadata for currently selected mineifile and displays it within metatreeview
int boxes = 0;
@@ -325,11 +323,8 @@ namespace PckStudio
}
treeMeta.Nodes.Clear();
comboBox1.Items.Clear();
textBox1.Text = "";
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type);
entryTypeTextBox.Text = "";
entryDataTextBox.Text = "";
//Retrieves metadata for currently selected mineifile and displays it within metatreeview
foreach (var entry in skin.properties)
@@ -342,7 +337,6 @@ namespace PckStudio
}
#endregion
#region extracts pck entry
private void extractToolStripMenuItem_Click(object sender, EventArgs e)
{
if(treeViewMain.SelectedNode.Nodes.Count > 0)
@@ -354,43 +348,26 @@ namespace PckStudio
SaveFileDialog exFile = new SaveFileDialog(); //extract location
exFile.FileName = treeViewMain.SelectedNode.Text;
exFile.Filter = Path.GetExtension(treeViewMain.SelectedNode.Text).Replace(".", "") + " File|*" + Path.GetExtension(treeViewMain.SelectedNode.Text);
exFile.ShowDialog();
if (exFile.ShowDialog() != DialogResult.OK) return;
var file = treeViewMain.SelectedNode.Tag as PCKFile.FileData;
string extractPath = exFile.FileName;
if (!string.IsNullOrWhiteSpace(Path.GetDirectoryName(extractPath)))//Makes sure chosen directory isn't null or whitespace AKA makes sure its usable
if (!string.IsNullOrWhiteSpace(Path.GetDirectoryName(extractPath))) //Makes sure chosen directory isn't null or whitespace AKA makes sure its usable
{
File.WriteAllBytes(extractPath, ((PCKFile.FileData)treeViewMain.SelectedNode.Tag).data);//extracts minefile data to directory
//Generates metadata file in form of txt file if metadata for the file exists
if (treeViewMain.SelectedNode.Tag.ToString() != "")
File.WriteAllBytes(extractPath, file.data);//extracts minefile data to directory
if (file.properties.Count > 0)
{
try
using (var fs = File.CreateText($"{extractPath}.txt"))
{
string metaData = "";
PCKFile.FileData file = (PCKFile.FileData)treeViewMain.SelectedNode.Tag;
var ms = new MemoryStream(File.ReadAllBytes(extractPath).ToArray());
MemoryStream ico = new MemoryStream();
Bitmap bmp = new Bitmap(Image.FromFile(extractPath));
bmp.Save(ico, ImageFormat.Png);
foreach (var entry in file.properties)
{
metaData += entry.Item1 + ":" + entry.Item2 + Environment.NewLine;
fs.WriteLine($"{entry.Item1}: {entry.Item2}");
}
File.WriteAllText(extractPath + ".txt", metaData);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
MessageBox.Show("File Extracted");//Verification that file extraction path was successful
}
MessageBox.Show("File Extracted"); //Verification that file extraction path was successful
}
}
#endregion
private void SaveTemplate()
{
@@ -405,20 +382,23 @@ namespace PckStudio
private void Save(string FilePath)
{
foreach (var file in currentPCK.file_entries)
foreach (var file in currentPCK.file_entries)
{
foreach(var property in file.properties)
foreach (var property in file.properties)
{
// make sure the meta is valid
if (!currentPCK.meta_data.Contains(property.Item1))
currentPCK.meta_data.Add(property.Item1);
{
MessageBox.Show($"{property.Item1} is not in the Meta\nPlease add it to save the pck", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
}
using (var fs = File.OpenWrite(FilePath))
using (var fs = File.OpenWrite(FilePath))
{
PCKFileWriter.Write(fs, currentPCK, LittleEndianCheckBox.Checked);
}
saved = true;
}
private void replaceToolStripMenuItem_Click(object sender, EventArgs e)
@@ -443,102 +423,81 @@ namespace PckStudio
//Removes selected from current pcks minefiles list and nodes
if (treeViewMain.SelectedNode.Tag is PCKFile.FileData)
{
PCKFile.FileData mf = treeViewMain.SelectedNode.Tag as PCKFile.FileData;
treeViewMain.Nodes.Remove(treeViewMain.SelectedNode);
currentPCK.file_entries.Remove(mf);
}
else
{
if (MessageBox.Show("Are you sure want to delete this folder? All contents will be deleted", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
foreach (TreeNode item in treeViewMain.SelectedNode.Nodes)
PCKFile.FileData file = treeViewMain.SelectedNode.Tag as PCKFile.FileData;
// remove loc key if its a skin/cape
if (file.type == 0 || file.type == 1)
{
var locFileData = currentPCK.GetFile("localisation.loc", 6);
if (locFileData == null)
locFileData = currentPCK.GetFile("languages.loc", 6);
if (locFileData == null)
throw new Exception("Could not find .loc file");
LOCFile locFile = null;
using(var stream = new MemoryStream(locFileData.data))
{
if (item.Tag == null || item.Nodes.Count > 0)
{
MessageBox.Show("Can't fully delete directory with subdirectories");
return;
}
if (item.Tag is PCKFile.FileData) //makes sure selected node is a minefile
{
//removes minefile from minefile list
PCKFile.FileData mf = (PCKFile.FileData)item.Tag;
currentPCK.file_entries.Remove(mf);
//removes minefile node
item.Remove();
}
locFile = LOCFileReader.Read(stream);
}
foreach (var property in file.properties)
{
if (property.Item1 == "THEMENAMEID" || property.Item1 == "DISPLAYNAMEID")
locFile.RemoveEntry(property.Item2);
}
using(var stream = new MemoryStream())
{
LOCFileWriter.Write(stream, locFile);
locFileData.SetData(stream.ToArray());
}
}
currentPCK.file_entries.Remove(file);
treeViewMain.SelectedNode.Remove();
}
else if (MessageBox.Show("Are you sure want to delete this folder? All contents will be deleted", "Warning",
MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
foreach (TreeNode item in treeViewMain.SelectedNode.Nodes)
{
if (item.Tag == null || item.Nodes.Count > 0)
{
MessageBox.Show("Can't fully delete directory with subdirectories");
return;
}
if (item.Tag is PCKFile.FileData) //makes sure selected node is a minefile
{
//removes minefile from minefile list
PCKFile.FileData file = (PCKFile.FileData)item.Tag;
currentPCK.file_entries.Remove(file);
//removes minefile node
item.Remove();
}
treeViewMain.SelectedNode.Remove();
}
treeViewMain.SelectedNode.Remove();
}
saved = false;
}
#region renames pck entry from treeview and PCKFile.file_entries
private void renameFileToolStripMenuItem_Click(object sender, EventArgs e)
{
TreeNode node = treeViewMain.SelectedNode;
RenamePrompt diag = new RenamePrompt(node);
if (node == null || node.Tag == null || !(node.Tag is PCKFile.FileData)) return;
var file = node.Tag as PCKFile.FileData;
RenamePrompt diag = new RenamePrompt(file.name);
if (diag.ShowDialog(this) == DialogResult.OK)
{
treeViewMain.SelectedNode.Text = Path.GetFileName(diag.NewText);
file.name = diag.NewText;
}
diag.Dispose();
}
#endregion
#region clones pck entry from treeview and PCKFile.FileDatas
private void cloneFileToolStripMenuItem_Click(object sender, EventArgs e)
{
if (treeViewMain.SelectedNode.Tag == null || !(treeViewMain.SelectedNode.Tag is PCKFile.FileData)) return;
PCKFile.FileData mfO = treeViewMain.SelectedNode.Tag as PCKFile.FileData;
FileInfo mfCO = new FileInfo(mfO.name);
string name = Path.GetDirectoryName(mfO.name).Replace("\\", "/") + "/" + Path.GetFileNameWithoutExtension(mfO.name) + "_clone" + mfCO.Extension;//sets minfile name to file name
PCKFile.FileData mf = new PCKFile.FileData(name, mfO.type); //Creates new minefile template
if (treeViewMain.SelectedNode.Parent == null && mf.name.StartsWith("/")) mf.name = mf.name.Remove(0, 1);
mf.properties = mfO.properties;
TreeNode add = new TreeNode(Path.GetFileName(mf.name)) { Tag = mf }; //creates node for minefile
//Gets proper file icon for minefile
if (Path.GetExtension(add.Text) == ".binka")
{
add.ImageIndex = 1;
add.SelectedImageIndex = 1;
}
else if (Path.GetExtension(add.Text) == ".png")
{
add.ImageIndex = 2;
add.SelectedImageIndex = 2;
}
else if (Path.GetExtension(add.Text) == ".loc")
{
add.ImageIndex = 3;
add.SelectedImageIndex = 3;
}
else if (Path.GetExtension(add.Text) == ".pck")
{
add.ImageIndex = 4;
add.SelectedImageIndex = 4;
}
else
{
add.ImageIndex = 5;
add.SelectedImageIndex = 5;
}
currentPCK.file_entries.Insert(currentPCK.file_entries.IndexOf(mfO) + 1, mf); //inserts minefile into proper list index
if (treeViewMain.SelectedNode.Parent == null) treeViewMain.Nodes.Insert(treeViewMain.SelectedNode.Index + 1, add); //adds generated minefile node
else treeViewMain.SelectedNode.Parent.Nodes.Insert(treeViewMain.SelectedNode.Index + 1, add);//adds generated minefile node to selected folder
}
#endregion
#region adds file to treeview and PCKFile.FileDatas
// deprecated ??
#region adds file to treeview and PCKFile.FileData
private void addFileToolStripMenuItem_Click(object sender, EventArgs e)
{
using (var ofd = new OpenFileDialog())
{
if (ofd.ShowDialog() == DialogResult.OK)
{
PCKFile.FileData mf = new PCKFile.FileData(Path.GetFileName(ofd.FileName), 0);//Creates new minefile template
PCKFile.FileData mf = new PCKFile.FileData(Path.GetFileName(ofd.FileName), 0);
mf.SetData(File.ReadAllBytes(ofd.FileName));
TreeNode add = new TreeNode(mf.name) { Tag = mf };
@@ -569,7 +528,7 @@ namespace PckStudio
add.SelectedImageIndex = 5;
}
if (treeViewMain.SelectedNode.Tag == null)//Detects if user selected a folder to add file to
if (treeViewMain.SelectedNode.Tag == null) //Detects if user selected a folder to add file to
{
treeViewMain.SelectedNode.Nodes.Add(add);//adds generated minefile node to selected folder
currentPCK.file_entries.Insert(treeViewMain.SelectedNode.Nodes.Count - 1, mf);//inserts minefile into proper list index
@@ -585,7 +544,7 @@ namespace PckStudio
currentPCK.file_entries[treeViewMain.SelectedNode.Nodes.Count - 1].name = itemPath + treeViewMain.SelectedNode.Nodes[treeViewMain.SelectedNode.Nodes.Count - 1].Text;//updates minefile name with directory
}
else//adds minefile to root of the pck
else //adds minefile to root of the pck
{
currentPCK.file_entries.Add(mf);
treeViewMain.Nodes.Add(add);
@@ -608,56 +567,36 @@ namespace PckStudio
}
#endregion
#region starts up form to create and add a new skin
private void createSkinToolStripMenuItem_Click(object sender, EventArgs e)
{
int i = treeViewMain.Nodes.Count - 1;//Gets index of last item in treeview
int tempIDD; //sets variables for a temporary skin/cape id
try
PCKFile.FileData locfile = currentPCK.GetFile("localisation.loc", 6);
if (locfile == null)
locfile = currentPCK.GetFile("languages.loc", 6);
if (locfile == null)
throw new Exception("counld not find .loc file");
LOCFile l = null;
using (var stream = new MemoryStream(locfile.data))
{
string tempID = treeViewMain.Nodes[i].Text.Remove(treeViewMain.Nodes[i].Text.Length - 4, 4);//gets id of last skin/cape in treeview if the last item is a skin or cape
tempID = tempID.Remove(0, 8);//removes text from id
tempIDD = int.Parse(tempID) + 1; //adds to skin/cape id index to presets the next skin/cape id
l = LOCFileReader.Read(stream);
}
catch (Exception)
addnewskin add = new addnewskin(l);
if (add.ShowDialog() == DialogResult.OK)
{
tempIDD = 00000000; //sets temporary id to 0 if an id can't be generated off the treeviews last item
}
PCKFile.FileData mf = mfLoc;//Sets loc minefile
try
{
using (var stream = new MemoryStream(mf.data))
if (add.useCape)
currentPCK.file_entries.Add(add.cape);
currentPCK.file_entries.Add(add.skin);
using (var stream = new MemoryStream())
{
l = LOCFileReader.Read(stream);//sets loc data
LOCFileWriter.Write(stream, l);
locfile.SetData(stream.ToArray());
}
}
catch
{
//error handling for if pck doesn't have a loc file
MessageBox.Show("No localization data found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
PckStudio.addnewskin add = new PckStudio.addnewskin(l); //Sets dialog data for skin creator
add.ShowDialog(); //opens skin creator
if (add.useCape)
currentPCK.file_entries.Add(add.cape);
currentPCK.file_entries.Add(add.skin);
using (var stream = new MemoryStream())
{
LOCFileWriter.Write(stream, l);
mf.SetData(stream.ToArray());
}
add.Dispose();//disposes generated skin creator data
add.Dispose();
saved = false;
loadEditor();
}
#endregion
PCKFile.FileData makeNewAudioPCK(bool isLittle)
PCKFile.FileData CreateAudioPCK(bool isLittle)
{
// create actual valid pck file structure
PCKFile audioPck = new PCKFile(1); // 1 = audio pck
@@ -682,7 +621,6 @@ namespace PckStudio
private void audiopckToolStripMenuItem_Click(object sender, EventArgs e)
{
//treeViewToMineFiles(treeViewMain, currentPCK);
List<string> filenames = new List<string>();
foreach (TreeNode tNode in treeViewMain.Nodes)
{
@@ -694,7 +632,7 @@ namespace PckStudio
MessageBox.Show("There is already an audio.pck present in this file!", "Can't create audio.pck");
return;
}
PCKFile.FileData audioMF = makeNewAudioPCK(false);
PCKFile.FileData audioMF = CreateAudioPCK(LittleEndianCheckBox.Checked);
TreeNode node = new TreeNode("audio.pck");
node.Tag = audioMF;
node.ImageIndex = 4;
@@ -702,7 +640,6 @@ namespace PckStudio
Forms.Utilities.AudioEditor diag = new Forms.Utilities.AudioEditor(audioMF, LittleEndianCheckBox.Checked);
diag.ShowDialog(this);
if (diag.saved) treeViewMain.Nodes.Add(node);
//treeViewToMineFiles(treeViewMain, currentPCK);
diag.Dispose();
}
@@ -721,12 +658,7 @@ namespace PckStudio
AnimationEditor diag = new AnimationEditor(treeViewMain, ofd.FileName);
diag.ShowDialog(this);
diag.Dispose();
//treeViewToMineFiles(treeViewMain, currentPCK);
treeMeta.Nodes.Clear();
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type);
}
catch
{
@@ -812,70 +744,77 @@ namespace PckStudio
}
}
#region updates combo and text boxes for metadata when a metadata entry is selected
private void treeMeta_AfterSelect(object sender, TreeViewEventArgs e)
{
var node = e.Node;
if (node == null || !(node.Tag is ValueTuple<string, string>)) return;
comboBox1.Items.Clear(); //Resets metadata combobox of selectable entry names
var property = (ValueTuple<string, string>)node.Tag;
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type);
comboBox1.Text = property.Item1;
textBox1.Text = property.Item2;
var property = (ValueTuple<string, string>)node.Tag;;
entryTypeTextBox.Text = property.Item1;
entryDataTextBox.Text = property.Item2;
}
#endregion
#region updates metadata when combo option is selected
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
saved = false;
}
#endregion
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (treeMeta.SelectedNode == null ||
treeMeta.SelectedNode.Tag == null ||
!(treeMeta.SelectedNode.Tag is ValueTuple<string, string>))
private void treeMeta_DoubleClick(object sender, EventArgs e)
{
if (treeMeta.SelectedNode == null || !(treeMeta.SelectedNode.Tag is ValueTuple<string, string>) ||
treeViewMain.SelectedNode == null || !(treeViewMain.SelectedNode.Tag is PCKFile.FileData))
return;
var valuePair = (ValueTuple<string, string>)treeMeta.SelectedNode.Tag;
valuePair.Item2 = textBox1.Text;
PCKFile.FileData file = (PCKFile.FileData)treeViewMain.SelectedNode.Tag;
var property = (ValueTuple<string, string>)treeMeta.SelectedNode.Tag;
int i = file.properties.IndexOf(property);
addMeta add = new addMeta(property.Item1, property.Item2);
if (add.ShowDialog() == DialogResult.OK && i != -1)
{
file.properties[i] = new ValueTuple<string, string>(add.PropertyName, add.PropertyValue);
reloadMetaTreeView();
saved = false;
}
add.Dispose();
}
private void deleteEntryToolStripMenuItem_Click(object sender, EventArgs e)
{
if (treeMeta.SelectedNode != null && treeMeta.SelectedNode.Tag is ValueTuple<string, string> &&
treeViewMain.SelectedNode.Tag is PCKFile.FileData)
if (treeMeta.SelectedNode == null || !(treeMeta.SelectedNode.Tag is ValueTuple<string, string>) ||
!(treeViewMain.SelectedNode.Tag is PCKFile.FileData))
return;
var file = treeViewMain.SelectedNode.Tag as PCKFile.FileData;
if (file.properties.Remove((ValueTuple<string, string>)treeMeta.SelectedNode.Tag))
{
var file = treeViewMain.SelectedNode.Tag as PCKFile.FileData;
file.properties.Remove((ValueTuple<string, string>)treeMeta.SelectedNode.Tag);
treeMeta.Nodes.Remove(treeMeta.SelectedNode);
treeMeta.SelectedNode.Remove();
saved = false;
}
saved = false;
}
private void reloadMetaTreeView()
{
treeMeta.Nodes.Clear();
if (treeViewMain.SelectedNode == null ||
!(treeViewMain.SelectedNode.Tag is PCKFile.FileData)) return;
var file = treeViewMain.SelectedNode.Tag as PCKFile.FileData;
foreach (var property in file.properties)
{
TreeNode node = new TreeNode(property.Item1);
node.Tag = property;
treeMeta.Nodes.Add(node);
}
}
private void addEntryToolStripMenuItem_Click_1(object sender, EventArgs e)
{
if (treeViewMain.SelectedNode.Tag == null ||
!(treeViewMain.SelectedNode.Tag is PCKFile.FileData))
return;
PCKFile.FileData file = (PCKFile.FileData)treeViewMain.SelectedNode.Tag;
addMeta add = new addMeta(file);
add.ShowDialog();
add.Dispose();
treeMeta.Nodes.Clear();
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type);
foreach (var entry in file.properties)
addMeta add = new addMeta();
if (add.ShowDialog() == DialogResult.OK)
{
TreeNode meta = new TreeNode(entry.Item1);
meta.Tag = entry;
treeMeta.Nodes.Add(meta);
var property = new ValueTuple<string, string>(add.PropertyName, add.PropertyValue);
file.properties.Add(property);
reloadMetaTreeView();
saved = false;
}
saved = false;
add.Dispose();
}
#region moves node up and arranges minefile indexes
@@ -887,7 +826,6 @@ namespace PckStudio
{
if (treeViewMain.SelectedNode.PrevNode == null) return;
treeViewMain.Nodes.Insert(treeViewMain.SelectedNode.PrevNode.Index, move);
//removes node because a clone was inserted into its new index
treeViewMain.SelectedNode.Remove();
}
else
@@ -897,9 +835,6 @@ namespace PckStudio
//removes node because a clone was inserted into its new index
treeViewMain.SelectedNode.Remove();
}
//treeViewToMineFiles(treeViewMain, currentPCK);
treeViewMain.SelectedNode = move;
saved = false;
@@ -925,9 +860,6 @@ namespace PckStudio
//removes node because a clone was inserted into its new index
treeViewMain.SelectedNode.Remove();
}
//treeViewToMineFiles(treeViewMain.top, currentPCK);
treeViewMain.SelectedNode = move;
saved = false;
@@ -1015,16 +947,7 @@ namespace PckStudio
add.Dispose();
//reloads treemeta data
treeMeta.Nodes.Clear();
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type);
foreach (var entry in file.properties)
{
TreeNode meta = new TreeNode(entry.Item1);
meta.Tag = entry;
treeMeta.Nodes.Add(meta);
}
reloadMetaTreeView();
saved = false;
}
#endregion
@@ -1034,9 +957,9 @@ namespace PckStudio
private void InitializeSkinPack(int packID, int packVersion, string packName)
{
currentPCK = new PCKFile(3);
currentPCK.meta_data.Add("PACKID");
currentPCK.meta_data.Add("PACKVERSION");
var zeroFile = new PCKFile.FileData("0", 4);
currentPCK.meta_data.Add("PACKID");
currentPCK.meta_data.Add("PACKVERSION");
var zeroFile = new PCKFile.FileData("0", 4);
zeroFile.properties.Add(("PACKID", packID.ToString()));
zeroFile.properties.Add(("PACKVERSION", packVersion.ToString()));
var loc = new PCKFile.FileData("localisation.loc", 6);
@@ -1054,6 +977,7 @@ namespace PckStudio
private void InitializeTexturePack()
{
InitializeSkinPack(0, 0, "no_name");
currentPCK.meta_data.Add("DATAPATH");
var texturepackInfo = new PCKFile.FileData("x16/x16Info.pck", 5);
texturepackInfo.properties.Add(("PACKID", "0"));
texturepackInfo.properties.Add(("DATAPATH", "x16Data.pck"));
@@ -1063,9 +987,15 @@ namespace PckStudio
private void skinPackToolStripMenuItem_Click(object sender, EventArgs e)
{
// make skin pack template
InitializeSkinPack(new Random().Next(8000, 8000000), 0, "no_name");
isTemplateFile = true;
loadEditor();
RenamePrompt namePrompt = new RenamePrompt("");
namePrompt.OKButton.Text = "Ok";
namePrompt.TextLabel.Text = "PCK Name:";
if (namePrompt.ShowDialog() == DialogResult.OK)
{
InitializeSkinPack(new Random().Next(8000, int.MaxValue), 0, namePrompt.NewText);
isTemplateFile = true;
loadEditor();
}
}
private void texturePackToolStripMenuItem_Click(object sender, EventArgs e)
{
@@ -1076,7 +1006,6 @@ namespace PckStudio
}
#endregion
#region open advanced metadata bulk editing window
private void advancedMetaAddingToolStripMenuItem_Click(object sender, EventArgs e)
{
//opens dialog for bulk minefile editing
@@ -1085,7 +1014,18 @@ namespace PckStudio
advanced.Dispose();
saved = false;
}
#endregion
private void closeToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!saved)
SaveTemplate();
treeViewMain.Nodes.Clear();
treeMeta.Nodes.Clear();
currentPCK = null;
treeViewMain.Enabled = false;
treeMeta.Enabled = false;
closeToolStripMenuItem.Visible = false;
}
#region open program info/credits window
private void programInfoToolStripMenuItem_Click(object sender, EventArgs e)
@@ -1097,7 +1037,6 @@ namespace PckStudio
}
#endregion
#region checks for updates
private void Form1_Load(object sender, EventArgs e)
{
try
@@ -1106,9 +1045,10 @@ namespace PckStudio
timer1.Start();
timer1.Enabled = true;
}
catch
catch(Exception ex)
{
Console.WriteLine("ERROR WITH RPC");
Console.WriteLine(ex.Message);
}
#if DEBUG
DBGLabel.Visible = true;
@@ -1116,22 +1056,22 @@ namespace PckStudio
DBGLabel.Visible = false;
#endif
//Makes sure appdata exists
if (!Directory.Exists(appData))
if (!Directory.Exists(Program.Appdata))
{
Directory.CreateDirectory(appData);
Directory.CreateDirectory(Program.Appdata);
}
if (!Directory.Exists(appData + "\\cache\\mods\\"))
if (!Directory.Exists(Program.Appdata + "\\cache\\mods\\"))
{
Directory.CreateDirectory(appData + "\\cache\\mods\\");
Directory.CreateDirectory(Program.Appdata + "\\cache\\mods\\");
}
}
#endregion
private void treeViewMain_KeyDown(object sender, KeyEventArgs e)
{
// TODO
}
if (e.KeyCode == Keys.Delete && treeViewMain.SelectedNode.Tag != null)
deleteFileToolStripMenuItem_Click(sender, e);
}
private void extractToolStripMenuItem1_Click(object sender, EventArgs e)
{
@@ -1141,7 +1081,7 @@ namespace PckStudio
OpenFileDialog ofd = new OpenFileDialog();
FolderBrowserDialog sfd = new FolderBrowserDialog();
ofd.CheckFileExists = true;
ofd.Filter = "PCK (Minecraft Wii U Package)|*.pck";
ofd.Filter = "PCK (Minecraft Console Package)|*.pck";
if (ofd.ShowDialog() == DialogResult.OK && sfd.ShowDialog() == DialogResult.OK)
{
@@ -1175,35 +1115,22 @@ namespace PckStudio
}
} catch (Exception)
{
MessageBox.Show("An Error occured while extracting PCK");
MessageBox.Show("An Error occured while extracting data");
}
}
#region deletes metadata entries through the del key
private void treeMeta_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Delete && treeMeta.SelectedNode != null && treeViewMain.SelectedNode.Tag is PCKFile.FileData)
{
//removes selected treemeta entry
var file = treeViewMain.SelectedNode.Tag as PCKFile.FileData;
file.properties.Remove((ValueTuple<string, string>)treeMeta.SelectedNode.Tag);
treeMeta.Nodes.Remove(treeMeta.SelectedNode);
//reloads treemeta data
treeMeta.Nodes.Clear();
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type);
foreach (var entry in file.properties)
{
TreeNode meta = new TreeNode(entry.Item1);
meta.Tag = entry;
treeMeta.Nodes.Add(meta);
}
if (file.properties.Remove((ValueTuple<string, string>)treeMeta.SelectedNode.Tag))
treeMeta.Nodes.Remove(treeMeta.SelectedNode);
saved = false;
}
}
#endregion
#region imports a folder of skins to pck
private void importExtractedSkinsFolder(object sender, EventArgs e)
@@ -1316,43 +1243,18 @@ namespace PckStudio
locTheme = entryValue;
}
//creates displayname id in loc file
if (locNameId != "" && locName != "")
{
LOCFile l;
try
{
//using (var stream = new MemoryStream(mf.data))
//{
// l = LOCFileReader.Read(stream);//sets loc data
//}
}
catch
{
MessageBox.Show("No localization data found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//l.AddEntry(locThemeId, locTheme);
//using (var stream = new MemoryStream())
//{
// LOCFileWriter.Write(stream, l);
// mfLoc.SetData(stream.ToArray());
//}
locNameId = "";
locName = "";
}
//creates metadata id in loc file
if (locThemeId != "" && locTheme != "")
{
LOCFile l;
PCKFile.FileData locfile = currentPCK.GetFile("localisation.loc", 6);
if (locfile == null)
locfile = currentPCK.GetFile("languages.loc", 6);
if (locfile == null)
throw new Exception("counld not find .loc file");
LOCFile l = null;
try
{
using (var stream = new MemoryStream(mfLoc.data))
using (var stream = new MemoryStream(locfile.data))
{
l = LOCFileReader.Read(stream);//sets loc data
}
@@ -1363,13 +1265,13 @@ namespace PckStudio
return;
}
//l.AddEntry(locThemeId, locTheme);
//using (var stream = new MemoryStream(mf.data))
//{
// LOCFileWriter.Write(stream, l);
// mfLoc.SetData(stream.ToArray());
//}
locThemeId = "";
l.AddLocKey(locThemeId, locTheme);
using (var stream = new MemoryStream())
{
LOCFileWriter.Write(stream, l);
locfile.SetData(stream.ToArray());
}
locThemeId = "";
locTheme = "";
}
entryName = "";
@@ -1391,7 +1293,7 @@ namespace PckStudio
}
}
}
contents.Dispose();//disposes temporary data
contents.Dispose(); //disposes temporary data
saved = false;
}
#endregion
@@ -1571,7 +1473,6 @@ namespace PckStudio
}
#endregion
#region adds folder/directory entry to pck
private void folderToolStripMenuItem_Click(object sender, EventArgs e)
{
TreeNode NEW = new TreeNode("New Folder");
@@ -1587,7 +1488,6 @@ namespace PckStudio
}
saved = false;
}
#endregion
private void installationToolStripMenuItem_Click(object sender, EventArgs e)
{
@@ -2902,7 +2802,6 @@ namespace PckStudio
private void PS3PCKInstallerToolStripMenuItem_Click(object sender, EventArgs e)
{
installPS3 install = new installPS3(null);
install.ShowDialog();
}
@@ -2952,18 +2851,7 @@ namespace PckStudio
add.ShowDialog();
add.Dispose();
//Sets up combobox for metadata entries from main metadatabase
treeMeta.Nodes.Clear();
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type);
//loads all of selected minefiles metadata into metadata treeview
foreach (var entry in file.properties)
{
TreeNode meta = new TreeNode(entry.Item1);
meta.Tag = entry;
treeMeta.Nodes.Add(meta);
}
reloadMetaTreeView();
saved = false;
}
@@ -3017,18 +2905,7 @@ namespace PckStudio
MemoryStream png = new MemoryStream(file.data); //Gets image data from minefile data
Image skinPicture = Image.FromStream(png); //Constructs image data into image
pictureBoxImagePreview.Image = skinPicture;
treeMeta.Nodes.Clear();
foreach (var type in currentPCK.meta_data)
comboBox1.Items.Add(type);
//loads all of selected minefiles metadata into metadata treeview
foreach (var entry in file.properties)
{
TreeNode meta = new TreeNode(entry.Item1);
meta.Tag = entry;
treeMeta.Nodes.Add(meta);
}
reloadMetaTreeView();
}
catch
{
@@ -3102,7 +2979,7 @@ namespace PckStudio
if (needsUpdate)
{
Process UPDATE = new Process(); //sets up updater
UPDATE.StartInfo.FileName = appData + @"\nobleUpdater.exe"; //updater program path
UPDATE.StartInfo.FileName = Program.Appdata + @"\nobleUpdater.exe"; //updater program path
UPDATE.Start(); //starts updater
Application.Exit(); //closes PCK Studio to let updatear finish the job
}
@@ -3110,19 +2987,15 @@ namespace PckStudio
private void checkSaveState()
{
if (!saved || isTemplateFile)
if (!saved || isTemplateFile &&
MessageBox.Show("Save PCK?", "Unsaved PCK", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
if (MessageBox.Show("Save PCK?", "Unsaved PCK", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
if (isTemplateFile || string.IsNullOrEmpty(saveLocation))
{
if (isTemplateFile || string.IsNullOrEmpty(saveLocation))
{
SaveTemplate();
}
else
{
Save(saveLocation);
}
SaveTemplate();
return;
}
Save(saveLocation);
}
}

View File

@@ -207,20 +207,6 @@
<data name="createToolStripMenuItem.Text" xml:space="preserve">
<value>Create</value>
</data>
<data name="cloneFileToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAGlJREFUOE+ljDEKwDAMA/P/MXu+4e+1mEo4UEUZLLhNd4Nbaz0ncPFTIomIe0SJ
JAPXiBIJAzaiRLIHjhElkjnnD2g1Je60A0k7kLQDSTuQQKupkwNaTZ0c0Grq5IBWUycHtJo6OT5rjBdr
+fcFFzYJtAAAAABJRU5ErkJggg==
</value>
</data>
<data name="cloneFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
</data>
<data name="cloneFileToolStripMenuItem.Text" xml:space="preserve">
<value>Clone</value>
</data>
<data name="importSkinToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -381,7 +367,7 @@
<value>Move Down</value>
</data>
<data name="contextMenuPCKEntries.Size" type="System.Drawing.Size, System.Drawing">
<value>139, 202</value>
<value>139, 180</value>
</data>
<data name="&gt;&gt;contextMenuPCKEntries.Name" xml:space="preserve">
<value>contextMenuPCKEntries</value>
@@ -543,6 +529,15 @@
<data name="convertPCTextrurePackToolStripMenuItem.Text" xml:space="preserve">
<value>Convert to PC Texture pack</value>
</data>
<data name="closeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>217, 22</value>
</data>
<data name="closeToolStripMenuItem.Text" xml:space="preserve">
<value>Close</value>
</data>
<data name="closeToolStripMenuItem.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
@@ -28480,7 +28475,7 @@
<value>2</value>
</data>
<metadata name="contextMenuMetaTree.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>302, 17</value>
<value>298, 17</value>
</metadata>
<data name="addPresetToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -29730,6 +29725,48 @@
<data name="editorTab.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>None</value>
</data>
<data name="resource.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.Location" type="System.Drawing.Point, System.Drawing">
<value>124, 1</value>
</data>
<data name="resource.Size" type="System.Drawing.Size, System.Drawing">
<value>21, 21</value>
</data>
<data name="resource.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="resource.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="entryTypeTextBox.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="entryTypeTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>545, 284</value>
</data>
<data name="entryTypeTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 23</value>
</data>
<data name="entryTypeTextBox.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;entryTypeTextBox.Name" xml:space="preserve">
<value>entryTypeTextBox</value>
</data>
<data name="&gt;&gt;entryTypeTextBox.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="&gt;&gt;entryTypeTextBox.Parent" xml:space="preserve">
<value>editorTab</value>
</data>
<data name="&gt;&gt;entryTypeTextBox.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="buttonEdit.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="buttonEdit.Location" type="System.Drawing.Point, System.Drawing">
<value>447, 411</value>
</data>
@@ -29755,7 +29792,10 @@
<value>editorTab</value>
</data>
<data name="&gt;&gt;buttonEdit.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="labelImageSize.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="labelImageSize.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -29782,7 +29822,10 @@
<value>editorTab</value>
</data>
<data name="&gt;&gt;labelImageSize.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="pictureBoxImagePreview.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="pictureBoxImagePreview.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -29791,10 +29834,10 @@
<value>211, 3</value>
</data>
<data name="pictureBoxImagePreview.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 194</value>
<value>195, 195</value>
</data>
<data name="pictureBoxImagePreview.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>StretchImage</value>
<value>Zoom</value>
</data>
<data name="pictureBoxImagePreview.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
@@ -29809,7 +29852,10 @@
<value>editorTab</value>
</data>
<data name="&gt;&gt;pictureBoxImagePreview.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="fileEntryCountLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="fileEntryCountLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -29836,46 +29882,55 @@
<value>editorTab</value>
</data>
<data name="&gt;&gt;fileEntryCountLabel.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="resource.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<data name="entryDataTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="resource.Image1" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="resource.Location" type="System.Drawing.Point, System.Drawing">
<data name="resource.Location1" type="System.Drawing.Point, System.Drawing">
<value>124, 1</value>
</data>
<data name="resource.Size" type="System.Drawing.Size, System.Drawing">
<data name="resource.Size1" type="System.Drawing.Size, System.Drawing">
<value>21, 21</value>
</data>
<data name="resource.TabIndex" type="System.Int32, mscorlib">
<data name="resource.TabIndex1" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="resource.Visible" type="System.Boolean, mscorlib">
<data name="resource.Visible1" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
<data name="entryDataTextBox.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="entryDataTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>545, 341</value>
</data>
<data name="textBox1.Size" type="System.Drawing.Size, System.Drawing">
<data name="entryDataTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 23</value>
</data>
<data name="textBox1.TabIndex" type="System.Int32, mscorlib">
<data name="entryDataTextBox.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;textBox1.Name" xml:space="preserve">
<value>textBox1</value>
<data name="&gt;&gt;entryDataTextBox.Name" xml:space="preserve">
<value>entryDataTextBox</value>
</data>
<data name="&gt;&gt;textBox1.Type" xml:space="preserve">
<data name="&gt;&gt;entryDataTextBox.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="&gt;&gt;textBox1.Parent" xml:space="preserve">
<data name="&gt;&gt;entryDataTextBox.Parent" xml:space="preserve">
<value>editorTab</value>
</data>
<data name="&gt;&gt;textBox1.ZOrder" xml:space="preserve">
<value>6</value>
<data name="&gt;&gt;entryDataTextBox.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="metroLabel2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="metroLabel2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -29902,13 +29957,16 @@
<value>editorTab</value>
</data>
<data name="&gt;&gt;metroLabel2.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="metroLabel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="metroLabel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="metroLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>583, 242</value>
<value>583, 262</value>
</data>
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 19</value>
@@ -29929,34 +29987,16 @@
<value>editorTab</value>
</data>
<data name="&gt;&gt;metroLabel1.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="comboBox1.ItemHeight" type="System.Int32, mscorlib">
<value>23</value>
</data>
<data name="comboBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>545, 264</value>
</data>
<data name="comboBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 29</value>
</data>
<data name="comboBox1.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="&gt;&gt;comboBox1.Name" xml:space="preserve">
<value>comboBox1</value>
</data>
<data name="&gt;&gt;comboBox1.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroComboBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="&gt;&gt;comboBox1.Parent" xml:space="preserve">
<value>editorTab</value>
</data>
<data name="&gt;&gt;comboBox1.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="treeMeta.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
<data name="tabControl1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Right</value>
</data>
<data name="treeMeta.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="treeMeta.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="treeMeta.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
@@ -30027,8 +30067,20 @@
<data name="&gt;&gt;tabControl1.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="treeViewMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Left</value>
<data name="treeViewMain.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="treeViewMain.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="treeViewMain.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>567, 17</value>
</metadata>
<data name="imageList.ImageSize" type="System.Drawing.Size, System.Drawing">
<value>20, 20</value>
</data>
<data name="treeViewMain.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
@@ -30036,6 +30088,9 @@
<data name="treeViewMain.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="treeViewMain.SelectedImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="treeViewMain.Size" type="System.Drawing.Size, System.Drawing">
<value>208, 466</value>
</data>
@@ -30162,9 +30217,6 @@
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>53</value>
</metadata>
@@ -32722,12 +32774,6 @@
<data name="&gt;&gt;audiopckToolStripMenuItem.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;cloneFileToolStripMenuItem.Name" xml:space="preserve">
<value>cloneFileToolStripMenuItem</value>
</data>
<data name="&gt;&gt;cloneFileToolStripMenuItem.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;importSkinsToolStripMenuItem.Name" xml:space="preserve">
<value>importSkinsToolStripMenuItem</value>
</data>
@@ -32860,6 +32906,12 @@
<data name="&gt;&gt;convertPCTextrurePackToolStripMenuItem.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;closeToolStripMenuItem.Name" xml:space="preserve">
<value>closeToolStripMenuItem</value>
</data>
<data name="&gt;&gt;closeToolStripMenuItem.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;editToolStripMenuItem.Name" xml:space="preserve">
<value>editToolStripMenuItem</value>
</data>
@@ -33046,6 +33098,12 @@
<data name="&gt;&gt;deleteEntryToolStripMenuItem.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;imageList.Name" xml:space="preserve">
<value>imageList</value>
</data>
<data name="&gt;&gt;imageList.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;timer1.Name" xml:space="preserve">
<value>timer1</value>
</data>