From d24853e3cfb68adf9acc02f742e1ab365b28b64b Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 24 Sep 2022 12:06:41 +0200 Subject: [PATCH 1/7] Add skin import from .3dst (3DS Texture file) --- PCK-Studio/Classes/Texturing/TextureCodec.cs | 6 +- PCK-Studio/Classes/Texturing/TextureUtils.cs | 4 +- PCK-Studio/Classes/Utils/3DS/3DSUtil.cs | 110 ++ PCK-Studio/MainForm.Designer.cs | 1791 +++++++++--------- PCK-Studio/MainForm.cs | 23 + PCK-Studio/MainForm.resx | 50 +- PCK-Studio/PckStudio.csproj | 5 +- 7 files changed, 1072 insertions(+), 917 deletions(-) create mode 100644 PCK-Studio/Classes/Utils/3DS/3DSUtil.cs diff --git a/PCK-Studio/Classes/Texturing/TextureCodec.cs b/PCK-Studio/Classes/Texturing/TextureCodec.cs index fdb80e8d..60dad1f8 100644 --- a/PCK-Studio/Classes/Texturing/TextureCodec.cs +++ b/PCK-Studio/Classes/Texturing/TextureCodec.cs @@ -54,7 +54,7 @@ namespace Ohana3DS_Rebirth.Ohana { int x = tileOrder[pixel] % 8; int y = (tileOrder[pixel] - x) / 8; - long outputOffset = ((tX * 8) + x + (((tY * 8 + y)) * width)) * 4; + long outputOffset = ((tX * 8) + x + ((tY * 8 + y) * width)) * 4; Buffer.BlockCopy(data, (int)dataOffset, output, (int)outputOffset, 3); output[outputOffset + 3] = 0xff; @@ -310,7 +310,7 @@ namespace Ohana3DS_Rebirth.Ohana break; } - return TextureUtils.getBitmap(output.ToArray(), width, height); + return TextureUtils.ToBitmap(output, width, height); } /// @@ -321,7 +321,7 @@ namespace Ohana3DS_Rebirth.Ohana /// public static byte[] encode(Bitmap img, RenderBase.OTextureFormat format) { - byte[] data = TextureUtils.getArray(img); + byte[] data = TextureUtils.ToArray(img); byte[] output = new byte[data.Length]; uint outputOffset = 0; diff --git a/PCK-Studio/Classes/Texturing/TextureUtils.cs b/PCK-Studio/Classes/Texturing/TextureUtils.cs index f98a7f62..4f8f1953 100644 --- a/PCK-Studio/Classes/Texturing/TextureUtils.cs +++ b/PCK-Studio/Classes/Texturing/TextureUtils.cs @@ -13,7 +13,7 @@ namespace Ohana3DS_Rebirth.Ohana /// Width of the Texture /// Height of the Texture /// - public static Bitmap getBitmap(byte[] array, int width, int height) + public static Bitmap ToBitmap(byte[] array, int width, int height) { Bitmap img = new Bitmap(width, height, PixelFormat.Format32bppArgb); BitmapData imgData = img.LockBits(new Rectangle(0, 0, img.Width, img.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); @@ -27,7 +27,7 @@ namespace Ohana3DS_Rebirth.Ohana /// /// The Bitmap /// - public static byte[] getArray(Bitmap img) + public static byte[] ToArray(Bitmap img) { BitmapData imgData = img.LockBits(new Rectangle(0, 0, img.Width, img.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); byte[] array = new byte[imgData.Stride * img.Height]; diff --git a/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs b/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs new file mode 100644 index 00000000..1b44cac3 --- /dev/null +++ b/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs @@ -0,0 +1,110 @@ +using Ohana3DS_Rebirth.Ohana; +using System; +using System.Drawing; +using System.IO; +using System.Text; + +namespace PckStudio.Classes.Utils +{ + internal class _3DSUtil + { + private static string ReadString(Stream stream, int len) + { + var buffer = new byte[len]; + stream.Read(buffer, 0, len); + return Encoding.ASCII.GetString(buffer); + } + + private static int ReadInt32(Stream stream) + { + var buffer = new byte[4]; + stream.Read(buffer, 0, 4); + return BitConverter.ToInt32(buffer, 0); + } + + public static int CalcBufferSize(RenderBase.OTextureFormat fmt, int w, int h) + { + switch (fmt) + { + case RenderBase.OTextureFormat.rgba8: + return w * h * 4; + case RenderBase.OTextureFormat.rgb8: + return w * h * 3; + case RenderBase.OTextureFormat.rgba5551: + case RenderBase.OTextureFormat.rgb565: + case RenderBase.OTextureFormat.rgba4: + case RenderBase.OTextureFormat.la8: + case RenderBase.OTextureFormat.hilo8: + return w * h * 2; + case RenderBase.OTextureFormat.l8: + case RenderBase.OTextureFormat.a8: + case RenderBase.OTextureFormat.la4: + case RenderBase.OTextureFormat.etc1a4: + return w * h; + case RenderBase.OTextureFormat.l4: + case RenderBase.OTextureFormat.a4: + case RenderBase.OTextureFormat.etc1: + return w * h >> 1; + default: + throw new InvalidDataException("Invalid texture format on BCH!"); + } + } + + public static Image GetImageFrom3DST(Stream stream) + { + if (ReadString(stream, 4) == "3DST") + { + int offset = 32; + stream.Seek(8L, SeekOrigin.Begin); + RenderBase.OTextureFormat otextureFormat = ReadInt32(stream) switch + { + 0 => RenderBase.OTextureFormat.rgba8, + 1 => RenderBase.OTextureFormat.rgb8, + 2 => RenderBase.OTextureFormat.rgba5551, + 3 => RenderBase.OTextureFormat.rgb8, + 4 => RenderBase.OTextureFormat.rgba4, + 9 => RenderBase.OTextureFormat.la4, + _ => RenderBase.OTextureFormat.dontCare, + }; + int width = ReadInt32(stream); + int height = ReadInt32(stream); + int bufferSize = CalcBufferSize(otextureFormat, width, height); + stream.Seek(offset, SeekOrigin.Begin); + byte[] buffer = new byte[bufferSize]; + stream.Read(buffer, 0, bufferSize); + var img = TextureCodec.decode(buffer, width, height, otextureFormat); + img.RotateFlip(RotateFlipType.RotateNoneFlipY); + return img; + } + return null; + } + + public static void SetImageTo3DST(Stream stream, Image source, RenderBase.OTextureFormat format = RenderBase.OTextureFormat.rgba8) + { + throw new NotImplementedException(); + //if (ReadString(stream, 4) == "3DST") + //{ + // int offset = 32; + // stream.Seek(8L, SeekOrigin.Begin); + // RenderBase.OTextureFormat otextureFormat = ReadInt32(stream) switch + // { + // 0 => RenderBase.OTextureFormat.rgba8, + // 1 => RenderBase.OTextureFormat.rgb8, + // 2 => RenderBase.OTextureFormat.rgba5551, + // 3 => RenderBase.OTextureFormat.rgb8, + // 4 => RenderBase.OTextureFormat.rgba4, + // 9 => RenderBase.OTextureFormat.la4, + // _ => RenderBase.OTextureFormat.dontCare, + // }; + // int width = ReadInt32(stream); + // int height = ReadInt32(stream); + // int bufferSize = CalcBufferSize(otextureFormat, width, height); + // stream.Seek(offset, SeekOrigin.Begin); + // byte[] buffer = new byte[bufferSize]; + // stream.Read(buffer, 0, bufferSize); + // var img = TextureCodec.decode(buffer, width, height, otextureFormat); + // img.RotateFlip(RotateFlipType.RotateNoneFlipY); + //} + } + } +} diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 3eda3aff..7497ea7c 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -28,125 +28,126 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); - this.contextMenuPCKEntries = new System.Windows.Forms.ContextMenuStrip(this.components); - this.createToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.folderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.skinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.createAnimatedTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.audiopckToolStripMenuItem = 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(); - this.addTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.setFileTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.skinToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.capeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.textureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.languagesFileLOCToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.gameRulesFileGRFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.audioPCKFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.coloursCOLFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.gameRulesHeaderGRHToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.skinsPCKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.modelsFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.behavioursFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.entityMaterialsFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.extractToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.renameFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.moveUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.deleteFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.moveDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.viewFileInfoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuStrip = new System.Windows.Forms.MenuStrip(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.skinPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.texturePackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.mashUpPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.extractToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.addPasswordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.metaToolStripMenuItem = 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(); - this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.programInfoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.binkaConversionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.videosToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.howToMakeABasicSkinPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.howToMakeACustomSkinModelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.howToMakeCustomSkinModelsbedrockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.howToMakeCustomMusicToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.howToInstallPcksDirectlyToWiiUToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pCKCenterReleaseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.howPCKsWorkToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.installationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fAQToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.donateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toNobledezJackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toPhoenixARCDeveloperToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.forMattNLContributorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.administrativeToolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.storeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.openToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.wiiUPCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.PS3PCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.VitaPCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.joinDevelopmentDiscordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuMetaTree = new System.Windows.Forms.ContextMenuStrip(this.components); - this.addPresetToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.addEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.deleteEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pictureBox2 = new System.Windows.Forms.PictureBox(); - this.tabControl = new MetroFramework.Controls.MetroTabControl(); - this.openTab = new MetroFramework.Controls.MetroTabPage(); - this.pckOpen = new System.Windows.Forms.PictureBox(); - this.label5 = new MetroFramework.Controls.MetroLabel(); - this.labelVersion = new MetroFramework.Controls.MetroLabel(); - this.ChangelogRichTextBox = new System.Windows.Forms.RichTextBox(); - this.editorTab = new MetroFramework.Controls.MetroTabPage(); - this.labelImageSize = new MetroFramework.Controls.MetroLabel(); - this.fileEntryCountLabel = new MetroFramework.Controls.MetroLabel(); - this.PropertiesTabControl = new MetroFramework.Controls.MetroTabControl(); - this.MetaTab = new MetroFramework.Controls.MetroTabPage(); - this.metroLabel2 = new MetroFramework.Controls.MetroLabel(); - this.treeMeta = new System.Windows.Forms.TreeView(); - this.entryTypeTextBox = new MetroFramework.Controls.MetroTextBox(); - this.entryDataTextBox = new MetroFramework.Controls.MetroTextBox(); - this.buttonEdit = new MetroFramework.Controls.MetroButton(); - this.metroLabel1 = new MetroFramework.Controls.MetroLabel(); - this.label11 = new MetroFramework.Controls.MetroLabel(); - this.treeViewMain = new System.Windows.Forms.TreeView(); - this.imageList = new System.Windows.Forms.ImageList(this.components); - this.pictureBoxImagePreview = new PckStudio.PictureBoxWithInterpolationMode(); - this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox(); - this.generateMipMapTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuPCKEntries.SuspendLayout(); - this.menuStrip.SuspendLayout(); - this.contextMenuMetaTree.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); - this.tabControl.SuspendLayout(); - this.openTab.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pckOpen)).BeginInit(); - this.editorTab.SuspendLayout(); - this.PropertiesTabControl.SuspendLayout(); - this.MetaTab.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxImagePreview)).BeginInit(); - this.SuspendLayout(); - // - // contextMenuPCKEntries - // - this.contextMenuPCKEntries.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.contextMenuPCKEntries = new System.Windows.Forms.ContextMenuStrip(this.components); + this.createToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.folderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.skinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.createAnimatedTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.audiopckToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.importSkinsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.importSkinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.importSkinfrom3dstFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.importExtractedSkinsFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.addTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.setFileTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.skinToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.capeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.textureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.languagesFileLOCToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.gameRulesFileGRFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.audioPCKFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.coloursCOLFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.gameRulesHeaderGRHToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.skinsPCKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.modelsFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.behavioursFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.entityMaterialsFileBINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.extractToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.cloneFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.renameFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.replaceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.moveUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.deleteFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.moveDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.viewFileInfoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.generateMipMapTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuStrip = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.skinPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.texturePackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mashUpPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.extractToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.addPasswordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.metaToolStripMenuItem = 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(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.programInfoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.binkaConversionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.videosToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.howToMakeABasicSkinPackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.howToMakeACustomSkinModelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.howToMakeCustomSkinModelsbedrockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.howToMakeCustomMusicToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.howToInstallPcksDirectlyToWiiUToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pCKCenterReleaseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.howPCKsWorkToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.installationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fAQToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.donateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toNobledezJackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toPhoenixARCDeveloperToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.forMattNLContributorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.administrativeToolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.storeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.wiiUPCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.PS3PCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.VitaPCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.joinDevelopmentDiscordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.contextMenuMetaTree = new System.Windows.Forms.ContextMenuStrip(this.components); + this.addPresetToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.addEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.deleteEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.tabControl = new MetroFramework.Controls.MetroTabControl(); + this.openTab = new MetroFramework.Controls.MetroTabPage(); + this.pckOpen = new System.Windows.Forms.PictureBox(); + this.label5 = new MetroFramework.Controls.MetroLabel(); + this.labelVersion = new MetroFramework.Controls.MetroLabel(); + this.ChangelogRichTextBox = new System.Windows.Forms.RichTextBox(); + this.editorTab = new MetroFramework.Controls.MetroTabPage(); + this.labelImageSize = new MetroFramework.Controls.MetroLabel(); + this.fileEntryCountLabel = new MetroFramework.Controls.MetroLabel(); + this.PropertiesTabControl = new MetroFramework.Controls.MetroTabControl(); + this.MetaTab = new MetroFramework.Controls.MetroTabPage(); + this.metroLabel2 = new MetroFramework.Controls.MetroLabel(); + this.treeMeta = new System.Windows.Forms.TreeView(); + this.entryTypeTextBox = new MetroFramework.Controls.MetroTextBox(); + this.entryDataTextBox = new MetroFramework.Controls.MetroTextBox(); + this.buttonEdit = new MetroFramework.Controls.MetroButton(); + this.metroLabel1 = new MetroFramework.Controls.MetroLabel(); + this.label11 = new MetroFramework.Controls.MetroLabel(); + this.treeViewMain = new System.Windows.Forms.TreeView(); + this.imageList = new System.Windows.Forms.ImageList(this.components); + this.pictureBoxImagePreview = new PckStudio.PictureBoxWithInterpolationMode(); + this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox(); + this.contextMenuPCKEntries.SuspendLayout(); + this.menuStrip.SuspendLayout(); + this.contextMenuMetaTree.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); + this.tabControl.SuspendLayout(); + this.openTab.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pckOpen)).BeginInit(); + this.editorTab.SuspendLayout(); + this.PropertiesTabControl.SuspendLayout(); + this.MetaTab.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxImagePreview)).BeginInit(); + this.SuspendLayout(); + // + // contextMenuPCKEntries + // + this.contextMenuPCKEntries.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.createToolStripMenuItem, this.importSkinsToolStripMenuItem, this.setFileTypeToolStripMenuItem, @@ -159,73 +160,80 @@ this.moveDownToolStripMenuItem, this.viewFileInfoToolStripMenuItem, this.generateMipMapTextureToolStripMenuItem}); - this.contextMenuPCKEntries.Name = "contextMenuStrip1"; - resources.ApplyResources(this.contextMenuPCKEntries, "contextMenuPCKEntries"); - // - // createToolStripMenuItem - // - this.createToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.contextMenuPCKEntries.Name = "contextMenuStrip1"; + resources.ApplyResources(this.contextMenuPCKEntries, "contextMenuPCKEntries"); + // + // createToolStripMenuItem + // + this.createToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.folderToolStripMenuItem, this.skinToolStripMenuItem, this.createAnimatedTextureToolStripMenuItem, this.audiopckToolStripMenuItem}); - resources.ApplyResources(this.createToolStripMenuItem, "createToolStripMenuItem"); - this.createToolStripMenuItem.Name = "createToolStripMenuItem"; - // - // folderToolStripMenuItem - // - resources.ApplyResources(this.folderToolStripMenuItem, "folderToolStripMenuItem"); - this.folderToolStripMenuItem.Name = "folderToolStripMenuItem"; - this.folderToolStripMenuItem.Click += new System.EventHandler(this.folderToolStripMenuItem_Click); - // - // skinToolStripMenuItem - // - resources.ApplyResources(this.skinToolStripMenuItem, "skinToolStripMenuItem"); - this.skinToolStripMenuItem.Name = "skinToolStripMenuItem"; - this.skinToolStripMenuItem.Click += new System.EventHandler(this.createSkinToolStripMenuItem_Click); - // - // createAnimatedTextureToolStripMenuItem - // - resources.ApplyResources(this.createAnimatedTextureToolStripMenuItem, "createAnimatedTextureToolStripMenuItem"); - this.createAnimatedTextureToolStripMenuItem.Name = "createAnimatedTextureToolStripMenuItem"; - this.createAnimatedTextureToolStripMenuItem.Click += new System.EventHandler(this.createAnimatedTextureToolStripMenuItem_Click); - // - // audiopckToolStripMenuItem - // - resources.ApplyResources(this.audiopckToolStripMenuItem, "audiopckToolStripMenuItem"); - this.audiopckToolStripMenuItem.Name = "audiopckToolStripMenuItem"; - this.audiopckToolStripMenuItem.Click += new System.EventHandler(this.audiopckToolStripMenuItem_Click); - // - // importSkinsToolStripMenuItem - // - this.importSkinsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + resources.ApplyResources(this.createToolStripMenuItem, "createToolStripMenuItem"); + this.createToolStripMenuItem.Name = "createToolStripMenuItem"; + // + // folderToolStripMenuItem + // + resources.ApplyResources(this.folderToolStripMenuItem, "folderToolStripMenuItem"); + this.folderToolStripMenuItem.Name = "folderToolStripMenuItem"; + this.folderToolStripMenuItem.Click += new System.EventHandler(this.folderToolStripMenuItem_Click); + // + // skinToolStripMenuItem + // + resources.ApplyResources(this.skinToolStripMenuItem, "skinToolStripMenuItem"); + this.skinToolStripMenuItem.Name = "skinToolStripMenuItem"; + this.skinToolStripMenuItem.Click += new System.EventHandler(this.createSkinToolStripMenuItem_Click); + // + // createAnimatedTextureToolStripMenuItem + // + resources.ApplyResources(this.createAnimatedTextureToolStripMenuItem, "createAnimatedTextureToolStripMenuItem"); + this.createAnimatedTextureToolStripMenuItem.Name = "createAnimatedTextureToolStripMenuItem"; + this.createAnimatedTextureToolStripMenuItem.Click += new System.EventHandler(this.createAnimatedTextureToolStripMenuItem_Click); + // + // audiopckToolStripMenuItem + // + resources.ApplyResources(this.audiopckToolStripMenuItem, "audiopckToolStripMenuItem"); + this.audiopckToolStripMenuItem.Name = "audiopckToolStripMenuItem"; + this.audiopckToolStripMenuItem.Click += new System.EventHandler(this.audiopckToolStripMenuItem_Click); + // + // importSkinsToolStripMenuItem + // + this.importSkinsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.importSkinToolStripMenuItem, + this.importSkinfrom3dstFileToolStripMenuItem, this.importExtractedSkinsFolderToolStripMenuItem, this.addTextureToolStripMenuItem}); - resources.ApplyResources(this.importSkinsToolStripMenuItem, "importSkinsToolStripMenuItem"); - this.importSkinsToolStripMenuItem.Name = "importSkinsToolStripMenuItem"; - // - // importSkinToolStripMenuItem - // - resources.ApplyResources(this.importSkinToolStripMenuItem, "importSkinToolStripMenuItem"); - this.importSkinToolStripMenuItem.Name = "importSkinToolStripMenuItem"; - this.importSkinToolStripMenuItem.Click += new System.EventHandler(this.importSkin); - // - // importExtractedSkinsFolderToolStripMenuItem - // - resources.ApplyResources(this.importExtractedSkinsFolderToolStripMenuItem, "importExtractedSkinsFolderToolStripMenuItem"); - this.importExtractedSkinsFolderToolStripMenuItem.Name = "importExtractedSkinsFolderToolStripMenuItem"; - this.importExtractedSkinsFolderToolStripMenuItem.Click += new System.EventHandler(this.importExtractedSkinsFolder); - // - // addTextureToolStripMenuItem - // - this.addTextureToolStripMenuItem.Name = "addTextureToolStripMenuItem"; - resources.ApplyResources(this.addTextureToolStripMenuItem, "addTextureToolStripMenuItem"); - this.addTextureToolStripMenuItem.Click += new System.EventHandler(this.addTextureToolStripMenuItem_Click); - // - // setFileTypeToolStripMenuItem - // - this.setFileTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + resources.ApplyResources(this.importSkinsToolStripMenuItem, "importSkinsToolStripMenuItem"); + this.importSkinsToolStripMenuItem.Name = "importSkinsToolStripMenuItem"; + // + // importSkinToolStripMenuItem + // + resources.ApplyResources(this.importSkinToolStripMenuItem, "importSkinToolStripMenuItem"); + this.importSkinToolStripMenuItem.Name = "importSkinToolStripMenuItem"; + this.importSkinToolStripMenuItem.Click += new System.EventHandler(this.importSkin); + // + // importSkinfrom3dstFileToolStripMenuItem + // + this.importSkinfrom3dstFileToolStripMenuItem.Name = "importSkinfrom3dstFileToolStripMenuItem"; + resources.ApplyResources(this.importSkinfrom3dstFileToolStripMenuItem, "importSkinfrom3dstFileToolStripMenuItem"); + this.importSkinfrom3dstFileToolStripMenuItem.Click += new System.EventHandler(this.importSkinfrom3dstFileToolStripMenuItem_Click); + // + // importExtractedSkinsFolderToolStripMenuItem + // + resources.ApplyResources(this.importExtractedSkinsFolderToolStripMenuItem, "importExtractedSkinsFolderToolStripMenuItem"); + this.importExtractedSkinsFolderToolStripMenuItem.Name = "importExtractedSkinsFolderToolStripMenuItem"; + this.importExtractedSkinsFolderToolStripMenuItem.Click += new System.EventHandler(this.importExtractedSkinsFolder); + // + // addTextureToolStripMenuItem + // + this.addTextureToolStripMenuItem.Name = "addTextureToolStripMenuItem"; + resources.ApplyResources(this.addTextureToolStripMenuItem, "addTextureToolStripMenuItem"); + this.addTextureToolStripMenuItem.Click += new System.EventHandler(this.addTextureToolStripMenuItem_Click); + // + // setFileTypeToolStripMenuItem + // + this.setFileTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.skinToolStripMenuItem1, this.capeToolStripMenuItem, this.textureToolStripMenuItem, @@ -238,132 +246,138 @@ this.modelsFileBINToolStripMenuItem, this.behavioursFileBINToolStripMenuItem, this.entityMaterialsFileBINToolStripMenuItem}); - this.setFileTypeToolStripMenuItem.Name = "setFileTypeToolStripMenuItem"; - resources.ApplyResources(this.setFileTypeToolStripMenuItem, "setFileTypeToolStripMenuItem"); - // - // skinToolStripMenuItem1 - // - this.skinToolStripMenuItem1.Name = "skinToolStripMenuItem1"; - resources.ApplyResources(this.skinToolStripMenuItem1, "skinToolStripMenuItem1"); - // - // capeToolStripMenuItem - // - this.capeToolStripMenuItem.Name = "capeToolStripMenuItem"; - resources.ApplyResources(this.capeToolStripMenuItem, "capeToolStripMenuItem"); - // - // textureToolStripMenuItem - // - this.textureToolStripMenuItem.Name = "textureToolStripMenuItem"; - resources.ApplyResources(this.textureToolStripMenuItem, "textureToolStripMenuItem"); - // - // languagesFileLOCToolStripMenuItem - // - this.languagesFileLOCToolStripMenuItem.Name = "languagesFileLOCToolStripMenuItem"; - resources.ApplyResources(this.languagesFileLOCToolStripMenuItem, "languagesFileLOCToolStripMenuItem"); - // - // gameRulesFileGRFToolStripMenuItem - // - this.gameRulesFileGRFToolStripMenuItem.Name = "gameRulesFileGRFToolStripMenuItem"; - resources.ApplyResources(this.gameRulesFileGRFToolStripMenuItem, "gameRulesFileGRFToolStripMenuItem"); - // - // audioPCKFileToolStripMenuItem - // - this.audioPCKFileToolStripMenuItem.Name = "audioPCKFileToolStripMenuItem"; - resources.ApplyResources(this.audioPCKFileToolStripMenuItem, "audioPCKFileToolStripMenuItem"); - // - // coloursCOLFileToolStripMenuItem - // - this.coloursCOLFileToolStripMenuItem.Name = "coloursCOLFileToolStripMenuItem"; - resources.ApplyResources(this.coloursCOLFileToolStripMenuItem, "coloursCOLFileToolStripMenuItem"); - // - // gameRulesHeaderGRHToolStripMenuItem - // - this.gameRulesHeaderGRHToolStripMenuItem.Name = "gameRulesHeaderGRHToolStripMenuItem"; - resources.ApplyResources(this.gameRulesHeaderGRHToolStripMenuItem, "gameRulesHeaderGRHToolStripMenuItem"); - // - // skinsPCKToolStripMenuItem - // - this.skinsPCKToolStripMenuItem.Name = "skinsPCKToolStripMenuItem"; - resources.ApplyResources(this.skinsPCKToolStripMenuItem, "skinsPCKToolStripMenuItem"); - // - // modelsFileBINToolStripMenuItem - // - this.modelsFileBINToolStripMenuItem.Name = "modelsFileBINToolStripMenuItem"; - resources.ApplyResources(this.modelsFileBINToolStripMenuItem, "modelsFileBINToolStripMenuItem"); - // - // behavioursFileBINToolStripMenuItem - // - this.behavioursFileBINToolStripMenuItem.Name = "behavioursFileBINToolStripMenuItem"; - resources.ApplyResources(this.behavioursFileBINToolStripMenuItem, "behavioursFileBINToolStripMenuItem"); - // - // entityMaterialsFileBINToolStripMenuItem - // - this.entityMaterialsFileBINToolStripMenuItem.Name = "entityMaterialsFileBINToolStripMenuItem"; - resources.ApplyResources(this.entityMaterialsFileBINToolStripMenuItem, "entityMaterialsFileBINToolStripMenuItem"); - // - // extractToolStripMenuItem - // - resources.ApplyResources(this.extractToolStripMenuItem, "extractToolStripMenuItem"); - this.extractToolStripMenuItem.Name = "extractToolStripMenuItem"; - this.extractToolStripMenuItem.Click += new System.EventHandler(this.extractToolStripMenuItem_Click); - // - // cloneFileToolStripMenuItem - // - this.cloneFileToolStripMenuItem.Name = "cloneFileToolStripMenuItem"; - resources.ApplyResources(this.cloneFileToolStripMenuItem, "cloneFileToolStripMenuItem"); - this.cloneFileToolStripMenuItem.Click += new System.EventHandler(this.cloneFileToolStripMenuItem_Click); - // - // renameFileToolStripMenuItem - // - resources.ApplyResources(this.renameFileToolStripMenuItem, "renameFileToolStripMenuItem"); - this.renameFileToolStripMenuItem.Name = "renameFileToolStripMenuItem"; - this.renameFileToolStripMenuItem.Click += new System.EventHandler(this.renameFileToolStripMenuItem_Click); - // - // replaceToolStripMenuItem - // - resources.ApplyResources(this.replaceToolStripMenuItem, "replaceToolStripMenuItem"); - this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem"; - this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click); - // - // moveUpToolStripMenuItem - // - resources.ApplyResources(this.moveUpToolStripMenuItem, "moveUpToolStripMenuItem"); - this.moveUpToolStripMenuItem.Name = "moveUpToolStripMenuItem"; - this.moveUpToolStripMenuItem.Click += new System.EventHandler(this.moveUpToolStripMenuItem_Click); - // - // deleteFileToolStripMenuItem - // - resources.ApplyResources(this.deleteFileToolStripMenuItem, "deleteFileToolStripMenuItem"); - this.deleteFileToolStripMenuItem.Name = "deleteFileToolStripMenuItem"; - this.deleteFileToolStripMenuItem.Click += new System.EventHandler(this.deleteFileToolStripMenuItem_Click); - // - // moveDownToolStripMenuItem - // - resources.ApplyResources(this.moveDownToolStripMenuItem, "moveDownToolStripMenuItem"); - this.moveDownToolStripMenuItem.Name = "moveDownToolStripMenuItem"; - this.moveDownToolStripMenuItem.Click += new System.EventHandler(this.moveDownToolStripMenuItem_Click); - // - // viewFileInfoToolStripMenuItem - // - this.viewFileInfoToolStripMenuItem.Name = "viewFileInfoToolStripMenuItem"; - resources.ApplyResources(this.viewFileInfoToolStripMenuItem, "viewFileInfoToolStripMenuItem"); - this.viewFileInfoToolStripMenuItem.Click += new System.EventHandler(this.viewFileInfoToolStripMenuItem_Click); - // - // menuStrip - // - resources.ApplyResources(this.menuStrip, "menuStrip"); - this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13))))); - this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.setFileTypeToolStripMenuItem.Name = "setFileTypeToolStripMenuItem"; + resources.ApplyResources(this.setFileTypeToolStripMenuItem, "setFileTypeToolStripMenuItem"); + // + // skinToolStripMenuItem1 + // + this.skinToolStripMenuItem1.Name = "skinToolStripMenuItem1"; + resources.ApplyResources(this.skinToolStripMenuItem1, "skinToolStripMenuItem1"); + // + // capeToolStripMenuItem + // + this.capeToolStripMenuItem.Name = "capeToolStripMenuItem"; + resources.ApplyResources(this.capeToolStripMenuItem, "capeToolStripMenuItem"); + // + // textureToolStripMenuItem + // + this.textureToolStripMenuItem.Name = "textureToolStripMenuItem"; + resources.ApplyResources(this.textureToolStripMenuItem, "textureToolStripMenuItem"); + // + // languagesFileLOCToolStripMenuItem + // + this.languagesFileLOCToolStripMenuItem.Name = "languagesFileLOCToolStripMenuItem"; + resources.ApplyResources(this.languagesFileLOCToolStripMenuItem, "languagesFileLOCToolStripMenuItem"); + // + // gameRulesFileGRFToolStripMenuItem + // + this.gameRulesFileGRFToolStripMenuItem.Name = "gameRulesFileGRFToolStripMenuItem"; + resources.ApplyResources(this.gameRulesFileGRFToolStripMenuItem, "gameRulesFileGRFToolStripMenuItem"); + // + // audioPCKFileToolStripMenuItem + // + this.audioPCKFileToolStripMenuItem.Name = "audioPCKFileToolStripMenuItem"; + resources.ApplyResources(this.audioPCKFileToolStripMenuItem, "audioPCKFileToolStripMenuItem"); + // + // coloursCOLFileToolStripMenuItem + // + this.coloursCOLFileToolStripMenuItem.Name = "coloursCOLFileToolStripMenuItem"; + resources.ApplyResources(this.coloursCOLFileToolStripMenuItem, "coloursCOLFileToolStripMenuItem"); + // + // gameRulesHeaderGRHToolStripMenuItem + // + this.gameRulesHeaderGRHToolStripMenuItem.Name = "gameRulesHeaderGRHToolStripMenuItem"; + resources.ApplyResources(this.gameRulesHeaderGRHToolStripMenuItem, "gameRulesHeaderGRHToolStripMenuItem"); + // + // skinsPCKToolStripMenuItem + // + this.skinsPCKToolStripMenuItem.Name = "skinsPCKToolStripMenuItem"; + resources.ApplyResources(this.skinsPCKToolStripMenuItem, "skinsPCKToolStripMenuItem"); + // + // modelsFileBINToolStripMenuItem + // + this.modelsFileBINToolStripMenuItem.Name = "modelsFileBINToolStripMenuItem"; + resources.ApplyResources(this.modelsFileBINToolStripMenuItem, "modelsFileBINToolStripMenuItem"); + // + // behavioursFileBINToolStripMenuItem + // + this.behavioursFileBINToolStripMenuItem.Name = "behavioursFileBINToolStripMenuItem"; + resources.ApplyResources(this.behavioursFileBINToolStripMenuItem, "behavioursFileBINToolStripMenuItem"); + // + // entityMaterialsFileBINToolStripMenuItem + // + this.entityMaterialsFileBINToolStripMenuItem.Name = "entityMaterialsFileBINToolStripMenuItem"; + resources.ApplyResources(this.entityMaterialsFileBINToolStripMenuItem, "entityMaterialsFileBINToolStripMenuItem"); + // + // extractToolStripMenuItem + // + resources.ApplyResources(this.extractToolStripMenuItem, "extractToolStripMenuItem"); + this.extractToolStripMenuItem.Name = "extractToolStripMenuItem"; + this.extractToolStripMenuItem.Click += new System.EventHandler(this.extractToolStripMenuItem_Click); + // + // cloneFileToolStripMenuItem + // + this.cloneFileToolStripMenuItem.Name = "cloneFileToolStripMenuItem"; + resources.ApplyResources(this.cloneFileToolStripMenuItem, "cloneFileToolStripMenuItem"); + this.cloneFileToolStripMenuItem.Click += new System.EventHandler(this.cloneFileToolStripMenuItem_Click); + // + // renameFileToolStripMenuItem + // + resources.ApplyResources(this.renameFileToolStripMenuItem, "renameFileToolStripMenuItem"); + this.renameFileToolStripMenuItem.Name = "renameFileToolStripMenuItem"; + this.renameFileToolStripMenuItem.Click += new System.EventHandler(this.renameFileToolStripMenuItem_Click); + // + // replaceToolStripMenuItem + // + resources.ApplyResources(this.replaceToolStripMenuItem, "replaceToolStripMenuItem"); + this.replaceToolStripMenuItem.Name = "replaceToolStripMenuItem"; + this.replaceToolStripMenuItem.Click += new System.EventHandler(this.replaceToolStripMenuItem_Click); + // + // moveUpToolStripMenuItem + // + resources.ApplyResources(this.moveUpToolStripMenuItem, "moveUpToolStripMenuItem"); + this.moveUpToolStripMenuItem.Name = "moveUpToolStripMenuItem"; + this.moveUpToolStripMenuItem.Click += new System.EventHandler(this.moveUpToolStripMenuItem_Click); + // + // deleteFileToolStripMenuItem + // + resources.ApplyResources(this.deleteFileToolStripMenuItem, "deleteFileToolStripMenuItem"); + this.deleteFileToolStripMenuItem.Name = "deleteFileToolStripMenuItem"; + this.deleteFileToolStripMenuItem.Click += new System.EventHandler(this.deleteFileToolStripMenuItem_Click); + // + // moveDownToolStripMenuItem + // + resources.ApplyResources(this.moveDownToolStripMenuItem, "moveDownToolStripMenuItem"); + this.moveDownToolStripMenuItem.Name = "moveDownToolStripMenuItem"; + this.moveDownToolStripMenuItem.Click += new System.EventHandler(this.moveDownToolStripMenuItem_Click); + // + // viewFileInfoToolStripMenuItem + // + this.viewFileInfoToolStripMenuItem.Name = "viewFileInfoToolStripMenuItem"; + resources.ApplyResources(this.viewFileInfoToolStripMenuItem, "viewFileInfoToolStripMenuItem"); + this.viewFileInfoToolStripMenuItem.Click += new System.EventHandler(this.viewFileInfoToolStripMenuItem_Click); + // + // generateMipMapTextureToolStripMenuItem + // + this.generateMipMapTextureToolStripMenuItem.Name = "generateMipMapTextureToolStripMenuItem"; + resources.ApplyResources(this.generateMipMapTextureToolStripMenuItem, "generateMipMapTextureToolStripMenuItem"); + this.generateMipMapTextureToolStripMenuItem.Click += new System.EventHandler(this.generateMipMapTextureToolStripMenuItem_Click); + // + // menuStrip + // + resources.ApplyResources(this.menuStrip, "menuStrip"); + this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13))))); + this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.editToolStripMenuItem, this.helpToolStripMenuItem, this.storeToolStripMenuItem}); - this.menuStrip.Name = "menuStrip"; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13))))); - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuStrip.Name = "menuStrip"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13))))); + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.newToolStripMenuItem, this.openToolStripMenuItem, this.extractToolStripMenuItem1, @@ -373,109 +387,109 @@ this.metaToolStripMenuItem, this.convertPCTextrurePackToolStripMenuItem, this.closeToolStripMenuItem}); - this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem"); - // - // newToolStripMenuItem - // - this.newToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem"); + // + // newToolStripMenuItem + // + this.newToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.skinPackToolStripMenuItem, this.texturePackToolStripMenuItem, this.mashUpPackToolStripMenuItem}); - resources.ApplyResources(this.newToolStripMenuItem, "newToolStripMenuItem"); - this.newToolStripMenuItem.Name = "newToolStripMenuItem"; - // - // skinPackToolStripMenuItem - // - this.skinPackToolStripMenuItem.Name = "skinPackToolStripMenuItem"; - resources.ApplyResources(this.skinPackToolStripMenuItem, "skinPackToolStripMenuItem"); - this.skinPackToolStripMenuItem.Click += new System.EventHandler(this.skinPackToolStripMenuItem_Click); - // - // texturePackToolStripMenuItem - // - this.texturePackToolStripMenuItem.Name = "texturePackToolStripMenuItem"; - resources.ApplyResources(this.texturePackToolStripMenuItem, "texturePackToolStripMenuItem"); - this.texturePackToolStripMenuItem.Click += new System.EventHandler(this.texturePackToolStripMenuItem_Click); - // - // mashUpPackToolStripMenuItem - // - this.mashUpPackToolStripMenuItem.Name = "mashUpPackToolStripMenuItem"; - resources.ApplyResources(this.mashUpPackToolStripMenuItem, "mashUpPackToolStripMenuItem"); - this.mashUpPackToolStripMenuItem.Click += new System.EventHandler(this.mashUpPackToolStripMenuItem_Click); - // - // openToolStripMenuItem - // - resources.ApplyResources(this.openToolStripMenuItem, "openToolStripMenuItem"); - this.openToolStripMenuItem.Name = "openToolStripMenuItem"; - this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); - // - // extractToolStripMenuItem1 - // - resources.ApplyResources(this.extractToolStripMenuItem1, "extractToolStripMenuItem1"); - this.extractToolStripMenuItem1.Name = "extractToolStripMenuItem1"; - this.extractToolStripMenuItem1.Click += new System.EventHandler(this.extractToolStripMenuItem1_Click); - // - // saveToolStripMenuItem1 - // - resources.ApplyResources(this.saveToolStripMenuItem1, "saveToolStripMenuItem1"); - this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; - this.saveToolStripMenuItem1.Click += new System.EventHandler(this.savePCK); - // - // saveToolStripMenuItem - // - resources.ApplyResources(this.saveToolStripMenuItem, "saveToolStripMenuItem"); - this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveAsPCK); - // - // addPasswordToolStripMenuItem - // - resources.ApplyResources(this.addPasswordToolStripMenuItem, "addPasswordToolStripMenuItem"); - this.addPasswordToolStripMenuItem.Name = "addPasswordToolStripMenuItem"; - this.addPasswordToolStripMenuItem.Click += new System.EventHandler(this.addPasswordToolStripMenuItem_Click); - // - // metaToolStripMenuItem - // - resources.ApplyResources(this.metaToolStripMenuItem, "metaToolStripMenuItem"); - this.metaToolStripMenuItem.Name = "metaToolStripMenuItem"; - this.metaToolStripMenuItem.Click += new System.EventHandler(this.metaToolStripMenuItem_Click); - // - // convertPCTextrurePackToolStripMenuItem - // - this.convertPCTextrurePackToolStripMenuItem.Name = "convertPCTextrurePackToolStripMenuItem"; - 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[] { + resources.ApplyResources(this.newToolStripMenuItem, "newToolStripMenuItem"); + this.newToolStripMenuItem.Name = "newToolStripMenuItem"; + // + // skinPackToolStripMenuItem + // + this.skinPackToolStripMenuItem.Name = "skinPackToolStripMenuItem"; + resources.ApplyResources(this.skinPackToolStripMenuItem, "skinPackToolStripMenuItem"); + this.skinPackToolStripMenuItem.Click += new System.EventHandler(this.skinPackToolStripMenuItem_Click); + // + // texturePackToolStripMenuItem + // + this.texturePackToolStripMenuItem.Name = "texturePackToolStripMenuItem"; + resources.ApplyResources(this.texturePackToolStripMenuItem, "texturePackToolStripMenuItem"); + this.texturePackToolStripMenuItem.Click += new System.EventHandler(this.texturePackToolStripMenuItem_Click); + // + // mashUpPackToolStripMenuItem + // + this.mashUpPackToolStripMenuItem.Name = "mashUpPackToolStripMenuItem"; + resources.ApplyResources(this.mashUpPackToolStripMenuItem, "mashUpPackToolStripMenuItem"); + this.mashUpPackToolStripMenuItem.Click += new System.EventHandler(this.mashUpPackToolStripMenuItem_Click); + // + // openToolStripMenuItem + // + resources.ApplyResources(this.openToolStripMenuItem, "openToolStripMenuItem"); + this.openToolStripMenuItem.Name = "openToolStripMenuItem"; + this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); + // + // extractToolStripMenuItem1 + // + resources.ApplyResources(this.extractToolStripMenuItem1, "extractToolStripMenuItem1"); + this.extractToolStripMenuItem1.Name = "extractToolStripMenuItem1"; + this.extractToolStripMenuItem1.Click += new System.EventHandler(this.extractToolStripMenuItem1_Click); + // + // saveToolStripMenuItem1 + // + resources.ApplyResources(this.saveToolStripMenuItem1, "saveToolStripMenuItem1"); + this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; + this.saveToolStripMenuItem1.Click += new System.EventHandler(this.savePCK); + // + // saveToolStripMenuItem + // + resources.ApplyResources(this.saveToolStripMenuItem, "saveToolStripMenuItem"); + this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; + this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveAsPCK); + // + // addPasswordToolStripMenuItem + // + resources.ApplyResources(this.addPasswordToolStripMenuItem, "addPasswordToolStripMenuItem"); + this.addPasswordToolStripMenuItem.Name = "addPasswordToolStripMenuItem"; + this.addPasswordToolStripMenuItem.Click += new System.EventHandler(this.addPasswordToolStripMenuItem_Click); + // + // metaToolStripMenuItem + // + resources.ApplyResources(this.metaToolStripMenuItem, "metaToolStripMenuItem"); + this.metaToolStripMenuItem.Name = "metaToolStripMenuItem"; + this.metaToolStripMenuItem.Click += new System.EventHandler(this.metaToolStripMenuItem_Click); + // + // convertPCTextrurePackToolStripMenuItem + // + this.convertPCTextrurePackToolStripMenuItem.Name = "convertPCTextrurePackToolStripMenuItem"; + 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[] { this.advancedMetaAddingToolStripMenuItem, this.convertToBedrockToolStripMenuItem}); - this.editToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.editToolStripMenuItem.Name = "editToolStripMenuItem"; - resources.ApplyResources(this.editToolStripMenuItem, "editToolStripMenuItem"); - // - // advancedMetaAddingToolStripMenuItem - // - resources.ApplyResources(this.advancedMetaAddingToolStripMenuItem, "advancedMetaAddingToolStripMenuItem"); - this.advancedMetaAddingToolStripMenuItem.Name = "advancedMetaAddingToolStripMenuItem"; - this.advancedMetaAddingToolStripMenuItem.Click += new System.EventHandler(this.advancedMetaAddingToolStripMenuItem_Click); - // - // convertToBedrockToolStripMenuItem - // - resources.ApplyResources(this.convertToBedrockToolStripMenuItem, "convertToBedrockToolStripMenuItem"); - this.convertToBedrockToolStripMenuItem.Name = "convertToBedrockToolStripMenuItem"; - this.convertToBedrockToolStripMenuItem.Click += new System.EventHandler(this.convertToBedrockToolStripMenuItem_Click); - // - // helpToolStripMenuItem - // - this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.editToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.editToolStripMenuItem.Name = "editToolStripMenuItem"; + resources.ApplyResources(this.editToolStripMenuItem, "editToolStripMenuItem"); + // + // advancedMetaAddingToolStripMenuItem + // + resources.ApplyResources(this.advancedMetaAddingToolStripMenuItem, "advancedMetaAddingToolStripMenuItem"); + this.advancedMetaAddingToolStripMenuItem.Name = "advancedMetaAddingToolStripMenuItem"; + this.advancedMetaAddingToolStripMenuItem.Click += new System.EventHandler(this.advancedMetaAddingToolStripMenuItem_Click); + // + // convertToBedrockToolStripMenuItem + // + resources.ApplyResources(this.convertToBedrockToolStripMenuItem, "convertToBedrockToolStripMenuItem"); + this.convertToBedrockToolStripMenuItem.Name = "convertToBedrockToolStripMenuItem"; + this.convertToBedrockToolStripMenuItem.Click += new System.EventHandler(this.convertToBedrockToolStripMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.programInfoToolStripMenuItem, this.binkaConversionToolStripMenuItem, this.videosToolStripMenuItem, @@ -484,25 +498,25 @@ this.donateToolStripMenuItem, this.settingsToolStripMenuItem, this.administrativeToolsToolStripMenuItem}); - this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; - resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem"); - // - // programInfoToolStripMenuItem - // - resources.ApplyResources(this.programInfoToolStripMenuItem, "programInfoToolStripMenuItem"); - this.programInfoToolStripMenuItem.Name = "programInfoToolStripMenuItem"; - this.programInfoToolStripMenuItem.Click += new System.EventHandler(this.programInfoToolStripMenuItem_Click); - // - // binkaConversionToolStripMenuItem - // - resources.ApplyResources(this.binkaConversionToolStripMenuItem, "binkaConversionToolStripMenuItem"); - this.binkaConversionToolStripMenuItem.Name = "binkaConversionToolStripMenuItem"; - this.binkaConversionToolStripMenuItem.Click += new System.EventHandler(this.binkaConversionToolStripMenuItem_Click); - // - // videosToolStripMenuItem - // - this.videosToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem"); + // + // programInfoToolStripMenuItem + // + resources.ApplyResources(this.programInfoToolStripMenuItem, "programInfoToolStripMenuItem"); + this.programInfoToolStripMenuItem.Name = "programInfoToolStripMenuItem"; + this.programInfoToolStripMenuItem.Click += new System.EventHandler(this.programInfoToolStripMenuItem_Click); + // + // binkaConversionToolStripMenuItem + // + resources.ApplyResources(this.binkaConversionToolStripMenuItem, "binkaConversionToolStripMenuItem"); + this.binkaConversionToolStripMenuItem.Name = "binkaConversionToolStripMenuItem"; + this.binkaConversionToolStripMenuItem.Click += new System.EventHandler(this.binkaConversionToolStripMenuItem_Click); + // + // videosToolStripMenuItem + // + this.videosToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.howToMakeABasicSkinPackToolStripMenuItem, this.howToMakeACustomSkinModelToolStripMenuItem, this.howToMakeCustomSkinModelsbedrockToolStripMenuItem, @@ -510,489 +524,483 @@ this.howToInstallPcksDirectlyToWiiUToolStripMenuItem, this.pCKCenterReleaseToolStripMenuItem, this.howPCKsWorkToolStripMenuItem}); - this.videosToolStripMenuItem.ForeColor = System.Drawing.Color.Black; - resources.ApplyResources(this.videosToolStripMenuItem, "videosToolStripMenuItem"); - this.videosToolStripMenuItem.Name = "videosToolStripMenuItem"; - // - // howToMakeABasicSkinPackToolStripMenuItem - // - resources.ApplyResources(this.howToMakeABasicSkinPackToolStripMenuItem, "howToMakeABasicSkinPackToolStripMenuItem"); - this.howToMakeABasicSkinPackToolStripMenuItem.Name = "howToMakeABasicSkinPackToolStripMenuItem"; - this.howToMakeABasicSkinPackToolStripMenuItem.Click += new System.EventHandler(this.howToMakeABasicSkinPackToolStripMenuItem_Click); - // - // howToMakeACustomSkinModelToolStripMenuItem - // - resources.ApplyResources(this.howToMakeACustomSkinModelToolStripMenuItem, "howToMakeACustomSkinModelToolStripMenuItem"); - this.howToMakeACustomSkinModelToolStripMenuItem.Name = "howToMakeACustomSkinModelToolStripMenuItem"; - this.howToMakeACustomSkinModelToolStripMenuItem.Click += new System.EventHandler(this.howToMakeACustomSkinModelToolStripMenuItem_Click); - // - // howToMakeCustomSkinModelsbedrockToolStripMenuItem - // - resources.ApplyResources(this.howToMakeCustomSkinModelsbedrockToolStripMenuItem, "howToMakeCustomSkinModelsbedrockToolStripMenuItem"); - this.howToMakeCustomSkinModelsbedrockToolStripMenuItem.Name = "howToMakeCustomSkinModelsbedrockToolStripMenuItem"; - this.howToMakeCustomSkinModelsbedrockToolStripMenuItem.Click += new System.EventHandler(this.howToMakeCustomSkinModelsbedrockToolStripMenuItem_Click); - // - // howToMakeCustomMusicToolStripMenuItem - // - resources.ApplyResources(this.howToMakeCustomMusicToolStripMenuItem, "howToMakeCustomMusicToolStripMenuItem"); - this.howToMakeCustomMusicToolStripMenuItem.Name = "howToMakeCustomMusicToolStripMenuItem"; - this.howToMakeCustomMusicToolStripMenuItem.Click += new System.EventHandler(this.howToMakeCustomMusicToolStripMenuItem_Click); - // - // howToInstallPcksDirectlyToWiiUToolStripMenuItem - // - resources.ApplyResources(this.howToInstallPcksDirectlyToWiiUToolStripMenuItem, "howToInstallPcksDirectlyToWiiUToolStripMenuItem"); - this.howToInstallPcksDirectlyToWiiUToolStripMenuItem.Name = "howToInstallPcksDirectlyToWiiUToolStripMenuItem"; - this.howToInstallPcksDirectlyToWiiUToolStripMenuItem.Click += new System.EventHandler(this.howToInstallPcksDirectlyToWiiUToolStripMenuItem_Click); - // - // pCKCenterReleaseToolStripMenuItem - // - resources.ApplyResources(this.pCKCenterReleaseToolStripMenuItem, "pCKCenterReleaseToolStripMenuItem"); - this.pCKCenterReleaseToolStripMenuItem.Name = "pCKCenterReleaseToolStripMenuItem"; - this.pCKCenterReleaseToolStripMenuItem.Click += new System.EventHandler(this.pCKCenterReleaseToolStripMenuItem_Click); - // - // howPCKsWorkToolStripMenuItem - // - resources.ApplyResources(this.howPCKsWorkToolStripMenuItem, "howPCKsWorkToolStripMenuItem"); - this.howPCKsWorkToolStripMenuItem.Name = "howPCKsWorkToolStripMenuItem"; - this.howPCKsWorkToolStripMenuItem.Click += new System.EventHandler(this.howPCKsWorkToolStripMenuItem_Click); - // - // installationToolStripMenuItem - // - resources.ApplyResources(this.installationToolStripMenuItem, "installationToolStripMenuItem"); - this.installationToolStripMenuItem.Name = "installationToolStripMenuItem"; - // - // fAQToolStripMenuItem1 - // - resources.ApplyResources(this.fAQToolStripMenuItem1, "fAQToolStripMenuItem1"); - this.fAQToolStripMenuItem1.Name = "fAQToolStripMenuItem1"; - this.fAQToolStripMenuItem1.Click += new System.EventHandler(this.fAQToolStripMenuItem1_Click); - // - // donateToolStripMenuItem - // - this.donateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.videosToolStripMenuItem.ForeColor = System.Drawing.Color.Black; + resources.ApplyResources(this.videosToolStripMenuItem, "videosToolStripMenuItem"); + this.videosToolStripMenuItem.Name = "videosToolStripMenuItem"; + // + // howToMakeABasicSkinPackToolStripMenuItem + // + resources.ApplyResources(this.howToMakeABasicSkinPackToolStripMenuItem, "howToMakeABasicSkinPackToolStripMenuItem"); + this.howToMakeABasicSkinPackToolStripMenuItem.Name = "howToMakeABasicSkinPackToolStripMenuItem"; + this.howToMakeABasicSkinPackToolStripMenuItem.Click += new System.EventHandler(this.howToMakeABasicSkinPackToolStripMenuItem_Click); + // + // howToMakeACustomSkinModelToolStripMenuItem + // + resources.ApplyResources(this.howToMakeACustomSkinModelToolStripMenuItem, "howToMakeACustomSkinModelToolStripMenuItem"); + this.howToMakeACustomSkinModelToolStripMenuItem.Name = "howToMakeACustomSkinModelToolStripMenuItem"; + this.howToMakeACustomSkinModelToolStripMenuItem.Click += new System.EventHandler(this.howToMakeACustomSkinModelToolStripMenuItem_Click); + // + // howToMakeCustomSkinModelsbedrockToolStripMenuItem + // + resources.ApplyResources(this.howToMakeCustomSkinModelsbedrockToolStripMenuItem, "howToMakeCustomSkinModelsbedrockToolStripMenuItem"); + this.howToMakeCustomSkinModelsbedrockToolStripMenuItem.Name = "howToMakeCustomSkinModelsbedrockToolStripMenuItem"; + this.howToMakeCustomSkinModelsbedrockToolStripMenuItem.Click += new System.EventHandler(this.howToMakeCustomSkinModelsbedrockToolStripMenuItem_Click); + // + // howToMakeCustomMusicToolStripMenuItem + // + resources.ApplyResources(this.howToMakeCustomMusicToolStripMenuItem, "howToMakeCustomMusicToolStripMenuItem"); + this.howToMakeCustomMusicToolStripMenuItem.Name = "howToMakeCustomMusicToolStripMenuItem"; + this.howToMakeCustomMusicToolStripMenuItem.Click += new System.EventHandler(this.howToMakeCustomMusicToolStripMenuItem_Click); + // + // howToInstallPcksDirectlyToWiiUToolStripMenuItem + // + resources.ApplyResources(this.howToInstallPcksDirectlyToWiiUToolStripMenuItem, "howToInstallPcksDirectlyToWiiUToolStripMenuItem"); + this.howToInstallPcksDirectlyToWiiUToolStripMenuItem.Name = "howToInstallPcksDirectlyToWiiUToolStripMenuItem"; + this.howToInstallPcksDirectlyToWiiUToolStripMenuItem.Click += new System.EventHandler(this.howToInstallPcksDirectlyToWiiUToolStripMenuItem_Click); + // + // pCKCenterReleaseToolStripMenuItem + // + resources.ApplyResources(this.pCKCenterReleaseToolStripMenuItem, "pCKCenterReleaseToolStripMenuItem"); + this.pCKCenterReleaseToolStripMenuItem.Name = "pCKCenterReleaseToolStripMenuItem"; + this.pCKCenterReleaseToolStripMenuItem.Click += new System.EventHandler(this.pCKCenterReleaseToolStripMenuItem_Click); + // + // howPCKsWorkToolStripMenuItem + // + resources.ApplyResources(this.howPCKsWorkToolStripMenuItem, "howPCKsWorkToolStripMenuItem"); + this.howPCKsWorkToolStripMenuItem.Name = "howPCKsWorkToolStripMenuItem"; + this.howPCKsWorkToolStripMenuItem.Click += new System.EventHandler(this.howPCKsWorkToolStripMenuItem_Click); + // + // installationToolStripMenuItem + // + resources.ApplyResources(this.installationToolStripMenuItem, "installationToolStripMenuItem"); + this.installationToolStripMenuItem.Name = "installationToolStripMenuItem"; + // + // fAQToolStripMenuItem1 + // + resources.ApplyResources(this.fAQToolStripMenuItem1, "fAQToolStripMenuItem1"); + this.fAQToolStripMenuItem1.Name = "fAQToolStripMenuItem1"; + this.fAQToolStripMenuItem1.Click += new System.EventHandler(this.fAQToolStripMenuItem1_Click); + // + // donateToolStripMenuItem + // + this.donateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toNobledezJackToolStripMenuItem, this.toPhoenixARCDeveloperToolStripMenuItem, this.forMattNLContributorToolStripMenuItem}); - this.donateToolStripMenuItem.Name = "donateToolStripMenuItem"; - resources.ApplyResources(this.donateToolStripMenuItem, "donateToolStripMenuItem"); - // - // toNobledezJackToolStripMenuItem - // - this.toNobledezJackToolStripMenuItem.Name = "toNobledezJackToolStripMenuItem"; - resources.ApplyResources(this.toNobledezJackToolStripMenuItem, "toNobledezJackToolStripMenuItem"); - this.toNobledezJackToolStripMenuItem.Click += new System.EventHandler(this.toNobledezJackToolStripMenuItem_Click); - // - // toPhoenixARCDeveloperToolStripMenuItem - // - this.toPhoenixARCDeveloperToolStripMenuItem.Name = "toPhoenixARCDeveloperToolStripMenuItem"; - resources.ApplyResources(this.toPhoenixARCDeveloperToolStripMenuItem, "toPhoenixARCDeveloperToolStripMenuItem"); - this.toPhoenixARCDeveloperToolStripMenuItem.Click += new System.EventHandler(this.toPhoenixARCDeveloperToolStripMenuItem_Click); - // - // forMattNLContributorToolStripMenuItem - // - this.forMattNLContributorToolStripMenuItem.Name = "forMattNLContributorToolStripMenuItem"; - resources.ApplyResources(this.forMattNLContributorToolStripMenuItem, "forMattNLContributorToolStripMenuItem"); - this.forMattNLContributorToolStripMenuItem.Click += new System.EventHandler(this.forMattNLContributorToolStripMenuItem_Click); - // - // settingsToolStripMenuItem - // - this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; - resources.ApplyResources(this.settingsToolStripMenuItem, "settingsToolStripMenuItem"); - this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); - // - // administrativeToolsToolStripMenuItem - // - resources.ApplyResources(this.administrativeToolsToolStripMenuItem, "administrativeToolsToolStripMenuItem"); - this.administrativeToolsToolStripMenuItem.Name = "administrativeToolsToolStripMenuItem"; - this.administrativeToolsToolStripMenuItem.Click += new System.EventHandler(this.administrativeToolsToolStripMenuItem_Click); - // - // storeToolStripMenuItem - // - this.storeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.donateToolStripMenuItem.Name = "donateToolStripMenuItem"; + resources.ApplyResources(this.donateToolStripMenuItem, "donateToolStripMenuItem"); + // + // toNobledezJackToolStripMenuItem + // + this.toNobledezJackToolStripMenuItem.Name = "toNobledezJackToolStripMenuItem"; + resources.ApplyResources(this.toNobledezJackToolStripMenuItem, "toNobledezJackToolStripMenuItem"); + this.toNobledezJackToolStripMenuItem.Click += new System.EventHandler(this.toNobledezJackToolStripMenuItem_Click); + // + // toPhoenixARCDeveloperToolStripMenuItem + // + this.toPhoenixARCDeveloperToolStripMenuItem.Name = "toPhoenixARCDeveloperToolStripMenuItem"; + resources.ApplyResources(this.toPhoenixARCDeveloperToolStripMenuItem, "toPhoenixARCDeveloperToolStripMenuItem"); + this.toPhoenixARCDeveloperToolStripMenuItem.Click += new System.EventHandler(this.toPhoenixARCDeveloperToolStripMenuItem_Click); + // + // forMattNLContributorToolStripMenuItem + // + this.forMattNLContributorToolStripMenuItem.Name = "forMattNLContributorToolStripMenuItem"; + resources.ApplyResources(this.forMattNLContributorToolStripMenuItem, "forMattNLContributorToolStripMenuItem"); + this.forMattNLContributorToolStripMenuItem.Click += new System.EventHandler(this.forMattNLContributorToolStripMenuItem_Click); + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + resources.ApplyResources(this.settingsToolStripMenuItem, "settingsToolStripMenuItem"); + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); + // + // administrativeToolsToolStripMenuItem + // + resources.ApplyResources(this.administrativeToolsToolStripMenuItem, "administrativeToolsToolStripMenuItem"); + this.administrativeToolsToolStripMenuItem.Name = "administrativeToolsToolStripMenuItem"; + this.administrativeToolsToolStripMenuItem.Click += new System.EventHandler(this.administrativeToolsToolStripMenuItem_Click); + // + // storeToolStripMenuItem + // + this.storeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.openToolStripMenuItem1, this.wiiUPCKInstallerToolStripMenuItem, this.PS3PCKInstallerToolStripMenuItem, this.VitaPCKInstallerToolStripMenuItem, this.joinDevelopmentDiscordToolStripMenuItem}); - this.storeToolStripMenuItem.ForeColor = System.Drawing.Color.White; - resources.ApplyResources(this.storeToolStripMenuItem, "storeToolStripMenuItem"); - this.storeToolStripMenuItem.Name = "storeToolStripMenuItem"; - // - // openToolStripMenuItem1 - // - resources.ApplyResources(this.openToolStripMenuItem1, "openToolStripMenuItem1"); - this.openToolStripMenuItem1.Name = "openToolStripMenuItem1"; - this.openToolStripMenuItem1.Click += new System.EventHandler(this.openToolStripMenuItem1_Click); - // - // wiiUPCKInstallerToolStripMenuItem - // - resources.ApplyResources(this.wiiUPCKInstallerToolStripMenuItem, "wiiUPCKInstallerToolStripMenuItem"); - this.wiiUPCKInstallerToolStripMenuItem.Name = "wiiUPCKInstallerToolStripMenuItem"; - this.wiiUPCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.wiiUPCKInstallerToolStripMenuItem_Click); - // - // PS3PCKInstallerToolStripMenuItem - // - resources.ApplyResources(this.PS3PCKInstallerToolStripMenuItem, "PS3PCKInstallerToolStripMenuItem"); - this.PS3PCKInstallerToolStripMenuItem.Name = "PS3PCKInstallerToolStripMenuItem"; - this.PS3PCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.PS3PCKInstallerToolStripMenuItem_Click); - // - // VitaPCKInstallerToolStripMenuItem - // - resources.ApplyResources(this.VitaPCKInstallerToolStripMenuItem, "VitaPCKInstallerToolStripMenuItem"); - this.VitaPCKInstallerToolStripMenuItem.Name = "VitaPCKInstallerToolStripMenuItem"; - this.VitaPCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.VitaPCKInstallerToolStripMenuItem_Click); - // - // joinDevelopmentDiscordToolStripMenuItem - // - resources.ApplyResources(this.joinDevelopmentDiscordToolStripMenuItem, "joinDevelopmentDiscordToolStripMenuItem"); - this.joinDevelopmentDiscordToolStripMenuItem.Name = "joinDevelopmentDiscordToolStripMenuItem"; - this.joinDevelopmentDiscordToolStripMenuItem.Click += new System.EventHandler(this.joinDevelopmentDiscordToolStripMenuItem_Click); - // - // contextMenuMetaTree - // - this.contextMenuMetaTree.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.storeToolStripMenuItem.ForeColor = System.Drawing.Color.White; + resources.ApplyResources(this.storeToolStripMenuItem, "storeToolStripMenuItem"); + this.storeToolStripMenuItem.Name = "storeToolStripMenuItem"; + // + // openToolStripMenuItem1 + // + resources.ApplyResources(this.openToolStripMenuItem1, "openToolStripMenuItem1"); + this.openToolStripMenuItem1.Name = "openToolStripMenuItem1"; + this.openToolStripMenuItem1.Click += new System.EventHandler(this.openToolStripMenuItem1_Click); + // + // wiiUPCKInstallerToolStripMenuItem + // + resources.ApplyResources(this.wiiUPCKInstallerToolStripMenuItem, "wiiUPCKInstallerToolStripMenuItem"); + this.wiiUPCKInstallerToolStripMenuItem.Name = "wiiUPCKInstallerToolStripMenuItem"; + this.wiiUPCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.wiiUPCKInstallerToolStripMenuItem_Click); + // + // PS3PCKInstallerToolStripMenuItem + // + resources.ApplyResources(this.PS3PCKInstallerToolStripMenuItem, "PS3PCKInstallerToolStripMenuItem"); + this.PS3PCKInstallerToolStripMenuItem.Name = "PS3PCKInstallerToolStripMenuItem"; + this.PS3PCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.PS3PCKInstallerToolStripMenuItem_Click); + // + // VitaPCKInstallerToolStripMenuItem + // + resources.ApplyResources(this.VitaPCKInstallerToolStripMenuItem, "VitaPCKInstallerToolStripMenuItem"); + this.VitaPCKInstallerToolStripMenuItem.Name = "VitaPCKInstallerToolStripMenuItem"; + this.VitaPCKInstallerToolStripMenuItem.Click += new System.EventHandler(this.VitaPCKInstallerToolStripMenuItem_Click); + // + // joinDevelopmentDiscordToolStripMenuItem + // + resources.ApplyResources(this.joinDevelopmentDiscordToolStripMenuItem, "joinDevelopmentDiscordToolStripMenuItem"); + this.joinDevelopmentDiscordToolStripMenuItem.Name = "joinDevelopmentDiscordToolStripMenuItem"; + this.joinDevelopmentDiscordToolStripMenuItem.Click += new System.EventHandler(this.joinDevelopmentDiscordToolStripMenuItem_Click); + // + // contextMenuMetaTree + // + this.contextMenuMetaTree.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addPresetToolStripMenuItem1, this.addEntryToolStripMenuItem, this.deleteEntryToolStripMenuItem}); - this.contextMenuMetaTree.Name = "contextMenuStrip1"; - resources.ApplyResources(this.contextMenuMetaTree, "contextMenuMetaTree"); - // - // addPresetToolStripMenuItem1 - // - resources.ApplyResources(this.addPresetToolStripMenuItem1, "addPresetToolStripMenuItem1"); - this.addPresetToolStripMenuItem1.Name = "addPresetToolStripMenuItem1"; - // - // addEntryToolStripMenuItem - // - resources.ApplyResources(this.addEntryToolStripMenuItem, "addEntryToolStripMenuItem"); - this.addEntryToolStripMenuItem.Name = "addEntryToolStripMenuItem"; - this.addEntryToolStripMenuItem.Click += new System.EventHandler(this.addEntryToolStripMenuItem_Click_1); - // - // deleteEntryToolStripMenuItem - // - resources.ApplyResources(this.deleteEntryToolStripMenuItem, "deleteEntryToolStripMenuItem"); - this.deleteEntryToolStripMenuItem.Name = "deleteEntryToolStripMenuItem"; - this.deleteEntryToolStripMenuItem.Click += new System.EventHandler(this.deleteEntryToolStripMenuItem_Click); - // - // pictureBox2 - // - resources.ApplyResources(this.pictureBox2, "pictureBox2"); - this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.TabStop = false; - // - // tabControl - // - this.tabControl.Controls.Add(this.openTab); - this.tabControl.Controls.Add(this.editorTab); - resources.ApplyResources(this.tabControl, "tabControl"); - this.tabControl.Name = "tabControl"; - this.tabControl.SelectedIndex = 0; - this.tabControl.Style = MetroFramework.MetroColorStyle.Silver; - this.tabControl.TabStop = false; - this.tabControl.Theme = MetroFramework.MetroThemeStyle.Dark; - this.tabControl.UseSelectable = true; - // - // openTab - // - this.openTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18))))); - this.openTab.Controls.Add(this.pckOpen); - this.openTab.Controls.Add(this.label5); - this.openTab.Controls.Add(this.labelVersion); - this.openTab.Controls.Add(this.ChangelogRichTextBox); - this.openTab.ForeColor = System.Drawing.Color.Transparent; - this.openTab.HorizontalScrollbarBarColor = true; - this.openTab.HorizontalScrollbarHighlightOnWheel = false; - this.openTab.HorizontalScrollbarSize = 10; - resources.ApplyResources(this.openTab, "openTab"); - this.openTab.Name = "openTab"; - this.openTab.Style = MetroFramework.MetroColorStyle.Black; - this.openTab.Theme = MetroFramework.MetroThemeStyle.Dark; - this.openTab.UseStyleColors = true; - this.openTab.VerticalScrollbarBarColor = false; - this.openTab.VerticalScrollbarHighlightOnWheel = false; - this.openTab.VerticalScrollbarSize = 10; - // - // pckOpen - // - this.pckOpen.BackColor = System.Drawing.Color.Transparent; - resources.ApplyResources(this.pckOpen, "pckOpen"); - this.pckOpen.Image = global::PckStudio.Properties.Resources.pckClosed; - this.pckOpen.Name = "pckOpen"; - this.pckOpen.TabStop = false; - this.pckOpen.Click += new System.EventHandler(this.OpenPck_Click); - this.pckOpen.DragDrop += new System.Windows.Forms.DragEventHandler(this.OpenPck_DragDrop); - this.pckOpen.DragEnter += new System.Windows.Forms.DragEventHandler(this.OpenPck_DragEnter); - this.pckOpen.DragLeave += new System.EventHandler(this.OpenPck_DragLeave); - this.pckOpen.MouseEnter += new System.EventHandler(this.OpenPck_MouseEnter); - this.pckOpen.MouseLeave += new System.EventHandler(this.OpenPck_MouseLeave); - // - // label5 - // - resources.ApplyResources(this.label5, "label5"); - this.label5.BackColor = System.Drawing.Color.Transparent; - this.label5.ForeColor = System.Drawing.Color.White; - this.label5.Name = "label5"; - this.label5.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // labelVersion - // - resources.ApplyResources(this.labelVersion, "labelVersion"); - this.labelVersion.ForeColor = System.Drawing.Color.White; - this.labelVersion.Name = "labelVersion"; - this.labelVersion.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // ChangelogRichTextBox - // - this.ChangelogRichTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13))))); - this.ChangelogRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; - resources.ApplyResources(this.ChangelogRichTextBox, "ChangelogRichTextBox"); - this.ChangelogRichTextBox.ForeColor = System.Drawing.Color.White; - this.ChangelogRichTextBox.Name = "ChangelogRichTextBox"; - this.ChangelogRichTextBox.ReadOnly = true; - // - // editorTab - // - this.editorTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18))))); - resources.ApplyResources(this.editorTab, "editorTab"); - this.editorTab.Controls.Add(this.labelImageSize); - this.editorTab.Controls.Add(this.fileEntryCountLabel); - this.editorTab.Controls.Add(this.PropertiesTabControl); - this.editorTab.Controls.Add(this.label11); - this.editorTab.Controls.Add(this.treeViewMain); - this.editorTab.Controls.Add(this.pictureBox2); - this.editorTab.Controls.Add(this.pictureBoxImagePreview); - this.editorTab.ForeColor = System.Drawing.Color.Transparent; - this.editorTab.HorizontalScrollbarBarColor = true; - this.editorTab.HorizontalScrollbarHighlightOnWheel = false; - this.editorTab.HorizontalScrollbarSize = 0; - this.editorTab.Name = "editorTab"; - this.editorTab.Style = MetroFramework.MetroColorStyle.White; - this.editorTab.Theme = MetroFramework.MetroThemeStyle.Dark; - this.editorTab.VerticalScrollbarBarColor = true; - this.editorTab.VerticalScrollbarHighlightOnWheel = false; - this.editorTab.VerticalScrollbarSize = 0; - // - // labelImageSize - // - resources.ApplyResources(this.labelImageSize, "labelImageSize"); - this.labelImageSize.Name = "labelImageSize"; - this.labelImageSize.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // fileEntryCountLabel - // - resources.ApplyResources(this.fileEntryCountLabel, "fileEntryCountLabel"); - this.fileEntryCountLabel.Name = "fileEntryCountLabel"; - this.fileEntryCountLabel.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // PropertiesTabControl - // - resources.ApplyResources(this.PropertiesTabControl, "PropertiesTabControl"); - this.PropertiesTabControl.Controls.Add(this.MetaTab); - this.PropertiesTabControl.Name = "PropertiesTabControl"; - this.PropertiesTabControl.SelectedIndex = 0; - this.PropertiesTabControl.Style = MetroFramework.MetroColorStyle.Silver; - this.PropertiesTabControl.Theme = MetroFramework.MetroThemeStyle.Dark; - this.PropertiesTabControl.UseSelectable = true; - // - // MetaTab - // - this.MetaTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.MetaTab.Controls.Add(this.metroLabel2); - this.MetaTab.Controls.Add(this.treeMeta); - this.MetaTab.Controls.Add(this.entryTypeTextBox); - this.MetaTab.Controls.Add(this.entryDataTextBox); - this.MetaTab.Controls.Add(this.buttonEdit); - this.MetaTab.Controls.Add(this.metroLabel1); - this.MetaTab.HorizontalScrollbarBarColor = true; - this.MetaTab.HorizontalScrollbarHighlightOnWheel = false; - this.MetaTab.HorizontalScrollbarSize = 10; - resources.ApplyResources(this.MetaTab, "MetaTab"); - this.MetaTab.Name = "MetaTab"; - this.MetaTab.Theme = MetroFramework.MetroThemeStyle.Dark; - this.MetaTab.VerticalScrollbarBarColor = true; - this.MetaTab.VerticalScrollbarHighlightOnWheel = false; - this.MetaTab.VerticalScrollbarSize = 10; - // - // metroLabel2 - // - resources.ApplyResources(this.metroLabel2, "metroLabel2"); - this.metroLabel2.Name = "metroLabel2"; - this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // treeMeta - // - this.treeMeta.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13))))); - this.treeMeta.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.treeMeta.ContextMenuStrip = this.contextMenuMetaTree; - resources.ApplyResources(this.treeMeta, "treeMeta"); - this.treeMeta.ForeColor = System.Drawing.SystemColors.Window; - 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); - // - // entryTypeTextBox - // - resources.ApplyResources(this.entryTypeTextBox, "entryTypeTextBox"); - // - // - // - this.entryTypeTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image"))); - this.entryTypeTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode"))); - 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"))); - 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); - // - // entryDataTextBox - // - resources.ApplyResources(this.entryDataTextBox, "entryDataTextBox"); - // - // - // - this.entryDataTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1"))); - this.entryDataTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode1"))); - 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); - // - // buttonEdit - // - resources.ApplyResources(this.buttonEdit, "buttonEdit"); - this.buttonEdit.Name = "buttonEdit"; - this.buttonEdit.Theme = MetroFramework.MetroThemeStyle.Dark; - this.buttonEdit.UseSelectable = true; - this.buttonEdit.Click += new System.EventHandler(this.treeViewMain_DoubleClick); - // - // metroLabel1 - // - resources.ApplyResources(this.metroLabel1, "metroLabel1"); - this.metroLabel1.Name = "metroLabel1"; - this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark; - // - // label11 - // - resources.ApplyResources(this.label11, "label11"); - this.label11.Name = "label11"; - // - // treeViewMain - // - this.treeViewMain.AllowDrop = true; - resources.ApplyResources(this.treeViewMain, "treeViewMain"); - this.treeViewMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(12)))), ((int)(((byte)(12))))); - this.treeViewMain.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.treeViewMain.ContextMenuStrip = this.contextMenuPCKEntries; - 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.BeforeLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeViewMain_BeforeLabelEdit); - 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.Depth32Bit; - resources.ApplyResources(this.imageList, "imageList"); - this.imageList.TransparentColor = System.Drawing.Color.Transparent; - // - // pictureBoxImagePreview - // - resources.ApplyResources(this.pictureBoxImagePreview, "pictureBoxImagePreview"); - this.pictureBoxImagePreview.BackColor = System.Drawing.Color.Transparent; - this.pictureBoxImagePreview.Image = global::PckStudio.Properties.Resources.NoImageFound; - this.pictureBoxImagePreview.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; - this.pictureBoxImagePreview.Name = "pictureBoxImagePreview"; - this.pictureBoxImagePreview.TabStop = false; - // - // LittleEndianCheckBox - // - resources.ApplyResources(this.LittleEndianCheckBox, "LittleEndianCheckBox"); - this.LittleEndianCheckBox.BackColor = System.Drawing.Color.Transparent; - this.LittleEndianCheckBox.Name = "LittleEndianCheckBox"; - this.LittleEndianCheckBox.Style = MetroFramework.MetroColorStyle.White; - this.LittleEndianCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.LittleEndianCheckBox.UseSelectable = true; - // - // generateMipMapTextureToolStripMenuItem - // - this.generateMipMapTextureToolStripMenuItem.Name = "generateMipMapTextureToolStripMenuItem"; - resources.ApplyResources(this.generateMipMapTextureToolStripMenuItem, "generateMipMapTextureToolStripMenuItem"); - this.generateMipMapTextureToolStripMenuItem.Click += new System.EventHandler(this.generateMipMapTextureToolStripMenuItem_Click); - // - // MainForm - // - this.ApplyImageInvert = true; - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.LittleEndianCheckBox); - this.Controls.Add(this.menuStrip); - this.Controls.Add(this.tabControl); - this.DisplayHeader = false; - this.ForeColor = System.Drawing.Color.Silver; - this.MainMenuStrip = this.menuStrip; - this.Name = "MainForm"; - this.ShadowType = MetroFramework.Forms.MetroFormShadowType.DropShadow; - this.Style = MetroFramework.MetroColorStyle.Black; - this.Theme = MetroFramework.MetroThemeStyle.Dark; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing); - this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormMain_FormClosed); - this.Load += new System.EventHandler(this.Form1_Load); - this.contextMenuPCKEntries.ResumeLayout(false); - this.menuStrip.ResumeLayout(false); - this.menuStrip.PerformLayout(); - this.contextMenuMetaTree.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); - this.tabControl.ResumeLayout(false); - this.openTab.ResumeLayout(false); - this.openTab.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pckOpen)).EndInit(); - this.editorTab.ResumeLayout(false); - this.editorTab.PerformLayout(); - this.PropertiesTabControl.ResumeLayout(false); - this.MetaTab.ResumeLayout(false); - this.MetaTab.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxImagePreview)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + this.contextMenuMetaTree.Name = "contextMenuStrip1"; + resources.ApplyResources(this.contextMenuMetaTree, "contextMenuMetaTree"); + // + // addPresetToolStripMenuItem1 + // + resources.ApplyResources(this.addPresetToolStripMenuItem1, "addPresetToolStripMenuItem1"); + this.addPresetToolStripMenuItem1.Name = "addPresetToolStripMenuItem1"; + // + // addEntryToolStripMenuItem + // + resources.ApplyResources(this.addEntryToolStripMenuItem, "addEntryToolStripMenuItem"); + this.addEntryToolStripMenuItem.Name = "addEntryToolStripMenuItem"; + this.addEntryToolStripMenuItem.Click += new System.EventHandler(this.addEntryToolStripMenuItem_Click_1); + // + // deleteEntryToolStripMenuItem + // + resources.ApplyResources(this.deleteEntryToolStripMenuItem, "deleteEntryToolStripMenuItem"); + this.deleteEntryToolStripMenuItem.Name = "deleteEntryToolStripMenuItem"; + this.deleteEntryToolStripMenuItem.Click += new System.EventHandler(this.deleteEntryToolStripMenuItem_Click); + // + // pictureBox2 + // + resources.ApplyResources(this.pictureBox2, "pictureBox2"); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.TabStop = false; + // + // tabControl + // + this.tabControl.Controls.Add(this.openTab); + this.tabControl.Controls.Add(this.editorTab); + resources.ApplyResources(this.tabControl, "tabControl"); + this.tabControl.Name = "tabControl"; + this.tabControl.SelectedIndex = 0; + this.tabControl.Style = MetroFramework.MetroColorStyle.Silver; + this.tabControl.TabStop = false; + this.tabControl.Theme = MetroFramework.MetroThemeStyle.Dark; + this.tabControl.UseSelectable = true; + // + // openTab + // + this.openTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18))))); + this.openTab.Controls.Add(this.pckOpen); + this.openTab.Controls.Add(this.label5); + this.openTab.Controls.Add(this.labelVersion); + this.openTab.Controls.Add(this.ChangelogRichTextBox); + this.openTab.ForeColor = System.Drawing.Color.Transparent; + this.openTab.HorizontalScrollbarBarColor = true; + this.openTab.HorizontalScrollbarHighlightOnWheel = false; + this.openTab.HorizontalScrollbarSize = 10; + resources.ApplyResources(this.openTab, "openTab"); + this.openTab.Name = "openTab"; + this.openTab.Style = MetroFramework.MetroColorStyle.Black; + this.openTab.Theme = MetroFramework.MetroThemeStyle.Dark; + this.openTab.UseStyleColors = true; + this.openTab.VerticalScrollbarBarColor = false; + this.openTab.VerticalScrollbarHighlightOnWheel = false; + this.openTab.VerticalScrollbarSize = 10; + // + // pckOpen + // + this.pckOpen.BackColor = System.Drawing.Color.Transparent; + resources.ApplyResources(this.pckOpen, "pckOpen"); + this.pckOpen.Image = global::PckStudio.Properties.Resources.pckClosed; + this.pckOpen.Name = "pckOpen"; + this.pckOpen.TabStop = false; + this.pckOpen.Click += new System.EventHandler(this.OpenPck_Click); + this.pckOpen.DragDrop += new System.Windows.Forms.DragEventHandler(this.OpenPck_DragDrop); + this.pckOpen.DragEnter += new System.Windows.Forms.DragEventHandler(this.OpenPck_DragEnter); + this.pckOpen.DragLeave += new System.EventHandler(this.OpenPck_DragLeave); + this.pckOpen.MouseEnter += new System.EventHandler(this.OpenPck_MouseEnter); + this.pckOpen.MouseLeave += new System.EventHandler(this.OpenPck_MouseLeave); + // + // label5 + // + resources.ApplyResources(this.label5, "label5"); + this.label5.BackColor = System.Drawing.Color.Transparent; + this.label5.ForeColor = System.Drawing.Color.White; + this.label5.Name = "label5"; + this.label5.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // labelVersion + // + resources.ApplyResources(this.labelVersion, "labelVersion"); + this.labelVersion.ForeColor = System.Drawing.Color.White; + this.labelVersion.Name = "labelVersion"; + this.labelVersion.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // ChangelogRichTextBox + // + this.ChangelogRichTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13))))); + this.ChangelogRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.ChangelogRichTextBox, "ChangelogRichTextBox"); + this.ChangelogRichTextBox.ForeColor = System.Drawing.Color.White; + this.ChangelogRichTextBox.Name = "ChangelogRichTextBox"; + this.ChangelogRichTextBox.ReadOnly = true; + // + // editorTab + // + this.editorTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18))))); + resources.ApplyResources(this.editorTab, "editorTab"); + this.editorTab.Controls.Add(this.labelImageSize); + this.editorTab.Controls.Add(this.fileEntryCountLabel); + this.editorTab.Controls.Add(this.PropertiesTabControl); + this.editorTab.Controls.Add(this.label11); + this.editorTab.Controls.Add(this.treeViewMain); + this.editorTab.Controls.Add(this.pictureBox2); + this.editorTab.Controls.Add(this.pictureBoxImagePreview); + this.editorTab.ForeColor = System.Drawing.Color.Transparent; + this.editorTab.HorizontalScrollbarBarColor = true; + this.editorTab.HorizontalScrollbarHighlightOnWheel = false; + this.editorTab.HorizontalScrollbarSize = 0; + this.editorTab.Name = "editorTab"; + this.editorTab.Style = MetroFramework.MetroColorStyle.White; + this.editorTab.Theme = MetroFramework.MetroThemeStyle.Dark; + this.editorTab.VerticalScrollbarBarColor = true; + this.editorTab.VerticalScrollbarHighlightOnWheel = false; + this.editorTab.VerticalScrollbarSize = 0; + // + // labelImageSize + // + resources.ApplyResources(this.labelImageSize, "labelImageSize"); + this.labelImageSize.Name = "labelImageSize"; + this.labelImageSize.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // fileEntryCountLabel + // + resources.ApplyResources(this.fileEntryCountLabel, "fileEntryCountLabel"); + this.fileEntryCountLabel.Name = "fileEntryCountLabel"; + this.fileEntryCountLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // PropertiesTabControl + // + resources.ApplyResources(this.PropertiesTabControl, "PropertiesTabControl"); + this.PropertiesTabControl.Controls.Add(this.MetaTab); + this.PropertiesTabControl.Name = "PropertiesTabControl"; + this.PropertiesTabControl.SelectedIndex = 0; + this.PropertiesTabControl.Style = MetroFramework.MetroColorStyle.Silver; + this.PropertiesTabControl.Theme = MetroFramework.MetroThemeStyle.Dark; + this.PropertiesTabControl.UseSelectable = true; + // + // MetaTab + // + this.MetaTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.MetaTab.Controls.Add(this.metroLabel2); + this.MetaTab.Controls.Add(this.treeMeta); + this.MetaTab.Controls.Add(this.entryTypeTextBox); + this.MetaTab.Controls.Add(this.entryDataTextBox); + this.MetaTab.Controls.Add(this.buttonEdit); + this.MetaTab.Controls.Add(this.metroLabel1); + this.MetaTab.HorizontalScrollbarBarColor = true; + this.MetaTab.HorizontalScrollbarHighlightOnWheel = false; + this.MetaTab.HorizontalScrollbarSize = 10; + resources.ApplyResources(this.MetaTab, "MetaTab"); + this.MetaTab.Name = "MetaTab"; + this.MetaTab.Theme = MetroFramework.MetroThemeStyle.Dark; + this.MetaTab.VerticalScrollbarBarColor = true; + this.MetaTab.VerticalScrollbarHighlightOnWheel = false; + this.MetaTab.VerticalScrollbarSize = 10; + // + // metroLabel2 + // + resources.ApplyResources(this.metroLabel2, "metroLabel2"); + this.metroLabel2.Name = "metroLabel2"; + this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // treeMeta + // + this.treeMeta.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13))))); + this.treeMeta.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.treeMeta.ContextMenuStrip = this.contextMenuMetaTree; + resources.ApplyResources(this.treeMeta, "treeMeta"); + this.treeMeta.ForeColor = System.Drawing.SystemColors.Window; + 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); + // + // entryTypeTextBox + // + resources.ApplyResources(this.entryTypeTextBox, "entryTypeTextBox"); + // + // + // + this.entryTypeTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image"))); + this.entryTypeTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode"))); + 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"))); + 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); + // + // entryDataTextBox + // + resources.ApplyResources(this.entryDataTextBox, "entryDataTextBox"); + // + // + // + this.entryDataTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1"))); + this.entryDataTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode1"))); + 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); + // + // buttonEdit + // + resources.ApplyResources(this.buttonEdit, "buttonEdit"); + this.buttonEdit.Name = "buttonEdit"; + this.buttonEdit.Theme = MetroFramework.MetroThemeStyle.Dark; + this.buttonEdit.UseSelectable = true; + this.buttonEdit.Click += new System.EventHandler(this.treeViewMain_DoubleClick); + // + // metroLabel1 + // + resources.ApplyResources(this.metroLabel1, "metroLabel1"); + this.metroLabel1.Name = "metroLabel1"; + this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark; + // + // label11 + // + resources.ApplyResources(this.label11, "label11"); + this.label11.Name = "label11"; + // + // treeViewMain + // + this.treeViewMain.AllowDrop = true; + resources.ApplyResources(this.treeViewMain, "treeViewMain"); + this.treeViewMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(12)))), ((int)(((byte)(12))))); + this.treeViewMain.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.treeViewMain.ContextMenuStrip = this.contextMenuPCKEntries; + 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.BeforeLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeViewMain_BeforeLabelEdit); + 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.Depth32Bit; + resources.ApplyResources(this.imageList, "imageList"); + this.imageList.TransparentColor = System.Drawing.Color.Transparent; + // + // pictureBoxImagePreview + // + resources.ApplyResources(this.pictureBoxImagePreview, "pictureBoxImagePreview"); + this.pictureBoxImagePreview.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxImagePreview.Image = global::PckStudio.Properties.Resources.NoImageFound; + this.pictureBoxImagePreview.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; + this.pictureBoxImagePreview.Name = "pictureBoxImagePreview"; + this.pictureBoxImagePreview.TabStop = false; + // + // LittleEndianCheckBox + // + resources.ApplyResources(this.LittleEndianCheckBox, "LittleEndianCheckBox"); + this.LittleEndianCheckBox.BackColor = System.Drawing.Color.Transparent; + this.LittleEndianCheckBox.Name = "LittleEndianCheckBox"; + this.LittleEndianCheckBox.Style = MetroFramework.MetroColorStyle.White; + this.LittleEndianCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.LittleEndianCheckBox.UseSelectable = true; + // + // MainForm + // + this.ApplyImageInvert = true; + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.LittleEndianCheckBox); + this.Controls.Add(this.menuStrip); + this.Controls.Add(this.tabControl); + this.DisplayHeader = false; + this.ForeColor = System.Drawing.Color.Silver; + this.MainMenuStrip = this.menuStrip; + this.Name = "MainForm"; + this.ShadowType = MetroFramework.Forms.MetroFormShadowType.DropShadow; + this.Style = MetroFramework.MetroColorStyle.Black; + this.Theme = MetroFramework.MetroThemeStyle.Dark; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing); + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormMain_FormClosed); + this.Load += new System.EventHandler(this.Form1_Load); + this.contextMenuPCKEntries.ResumeLayout(false); + this.menuStrip.ResumeLayout(false); + this.menuStrip.PerformLayout(); + this.contextMenuMetaTree.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); + this.tabControl.ResumeLayout(false); + this.openTab.ResumeLayout(false); + this.openTab.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pckOpen)).EndInit(); + this.editorTab.ResumeLayout(false); + this.editorTab.PerformLayout(); + this.PropertiesTabControl.ResumeLayout(false); + this.MetaTab.ResumeLayout(false); + this.MetaTab.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxImagePreview)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -1098,6 +1106,7 @@ private MetroFramework.Controls.MetroLabel labelVersion; private System.Windows.Forms.RichTextBox ChangelogRichTextBox; private System.Windows.Forms.ToolStripMenuItem generateMipMapTextureToolStripMenuItem; - } + private System.Windows.Forms.ToolStripMenuItem importSkinfrom3dstFileToolStripMenuItem; + } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 7b4b6d24..180db693 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -2927,5 +2927,28 @@ namespace PckStudio } } } + + private void importSkinfrom3dstFileToolStripMenuItem_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.DefaultExt = ".3dst"; + openFileDialog.Filter = "3DS Texture|*.3dst"; + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + using (var fs = File.OpenRead(openFileDialog.FileName)) + { + var img = _3DSUtil.GetImageFrom3DST(fs); + PCKFile.FileData file = new PCKFile.FileData("3dst_import.png", PCKFile.FileData.FileType.SkinFile); + file.properties.Add(("DISPLAYNAME", Path.GetFileNameWithoutExtension(openFileDialog.FileName))); + using (var ms = new MemoryStream()) + { + img.Save(ms, ImageFormat.Png); + file.SetData(ms.ToArray()); + } + currentPCK.Files.Add(file); + BuildMainTreeView(); + } + } + } } } \ No newline at end of file diff --git a/PCK-Studio/MainForm.resx b/PCK-Studio/MainForm.resx index c408c933..25ccb8db 100644 --- a/PCK-Studio/MainForm.resx +++ b/PCK-Studio/MainForm.resx @@ -229,6 +229,12 @@ Import Skin + + 228, 22 + + + Import Skin (from .3dst file) + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -454,7 +460,7 @@ Generate MipMap Texture - 211, 290 + 211, 268 contextMenuPCKEntries @@ -648,7 +654,7 @@ - 176, 22 + 180, 22 Advanced Bulk @@ -674,7 +680,7 @@ - 176, 22 + 180, 22 Convert to Bedrock @@ -29499,7 +29505,7 @@ True - 213, 119 + 288, 119 0, 0 @@ -29571,7 +29577,7 @@ False - 208, 119 + 283, 119 186, 23 @@ -29616,7 +29622,7 @@ False - 208, 151 + 283, 151 186, 23 @@ -29640,7 +29646,7 @@ Bottom, Right - 208, 180 + 283, 180 186, 60 @@ -29673,7 +29679,7 @@ True - 213, 68 + 288, 68 0, 0 @@ -29700,7 +29706,7 @@ 3, 3, 3, 3 - 588, 240 + 663, 240 0 @@ -29721,10 +29727,10 @@ 0 - 413, 277 + 338, 277 - 596, 282 + 671, 282 11 @@ -29793,7 +29799,7 @@ 0 - 405, 501 + 330, 501 10 @@ -29820,7 +29826,7 @@ NoControl - 413, 50 + 345, 50 231, 218 @@ -32496,6 +32502,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + importSkinfrom3dstFileToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + importExtractedSkinsFolderToolStripMenuItem @@ -32634,6 +32646,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + generateMipMapTextureToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + fileToolStripMenuItem @@ -32904,12 +32922,6 @@ System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - generateMipMapTextureToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - MainForm diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 510ed62c..01cb21a1 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -17,7 +17,7 @@ 1.0.0.%2a false true - true + true Debug @@ -152,6 +152,7 @@ + @@ -682,7 +683,7 @@ 5.8.0-alpha0098 - runtime; build; native; contentfiles; analyzers; buildtransitive + compile; runtime; build; native; contentfiles; analyzers; buildtransitive all From 79c5d532511a396d0a77849bb71ce1c092964836 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 24 Sep 2022 13:02:26 +0200 Subject: [PATCH 2/7] Add .3dst texture support to AddNewSkin --- .../Skins-And-Textures/addnewskin.Designer.cs | 41 ++-- .../Forms/Skins-And-Textures/addnewskin.cs | 23 +- .../Forms/Skins-And-Textures/addnewskin.resx | 205 +++++++++--------- PCK-Studio/MainForm.cs | 2 +- 4 files changed, 138 insertions(+), 133 deletions(-) diff --git a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.Designer.cs b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.Designer.cs index 6bb08225..10dd83df 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.Designer.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.Designer.cs @@ -29,8 +29,8 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(addNewSkin)); System.Windows.Forms.Label label3; + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(addNewSkin)); System.Windows.Forms.Label label2; System.Windows.Forms.Label label1; this.textTheme = new System.Windows.Forms.TextBox(); @@ -64,6 +64,24 @@ ((System.ComponentModel.ISupportInitialize)(this.skinPictureBoxTexture)).BeginInit(); this.SuspendLayout(); // + // label3 + // + resources.ApplyResources(label3, "label3"); + label3.ForeColor = System.Drawing.Color.White; + label3.Name = "label3"; + // + // label2 + // + resources.ApplyResources(label2, "label2"); + label2.ForeColor = System.Drawing.Color.White; + label2.Name = "label2"; + // + // label1 + // + resources.ApplyResources(label1, "label1"); + label1.ForeColor = System.Drawing.Color.White; + label1.Name = "label1"; + // // textTheme // resources.ApplyResources(this.textTheme, "textTheme"); @@ -132,24 +150,6 @@ this.displayBox.Name = "displayBox"; this.displayBox.TabStop = false; // - // label3 - // - resources.ApplyResources(label3, "label3"); - label3.ForeColor = System.Drawing.Color.White; - label3.Name = "label3"; - // - // label2 - // - resources.ApplyResources(label2, "label2"); - label2.ForeColor = System.Drawing.Color.White; - label2.Name = "label2"; - // - // label1 - // - resources.ApplyResources(label1, "label1"); - label1.ForeColor = System.Drawing.Color.White; - label1.Name = "label1"; - // // radioAUTO // resources.ApplyResources(this.radioAUTO, "radioAUTO"); @@ -199,7 +199,8 @@ this.textSkinID.CustomButton.UseSelectable = true; this.textSkinID.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible"))); this.textSkinID.ForeColor = System.Drawing.Color.White; - this.textSkinID.Lines = new string[0]; + this.textSkinID.Lines = new string[] { + "0"}; resources.ApplyResources(this.textSkinID, "textSkinID"); this.textSkinID.MaxLength = 32767; this.textSkinID.Name = "textSkinID"; diff --git a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs index 880655cb..454991f0 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs @@ -22,7 +22,6 @@ namespace PckStudio eSkinType skinType; public bool useCape = false; - string localID = "0"; PCKProperties generatedModel = new PCKProperties(); enum eSkinType : int @@ -38,7 +37,6 @@ namespace PckStudio public addNewSkin(LOCFile loc) { InitializeComponent(); - textSkinID.Text = localID; currentLoc = loc; } @@ -281,8 +279,6 @@ namespace PckStudio { bool validSkinId = int.TryParse(textSkinID.Text, out _); textSkinID.ForeColor = validSkinId ? Color.Green : Color.Red; - if (radioLOCAL.Checked && validSkinId) - localID = textSkinID.Text; } private void CreateCustomModel_Click(object sender, EventArgs e) @@ -345,21 +341,26 @@ namespace PckStudio private void radioLOCAL_CheckedChanged(object sender, EventArgs e) { - if (radioLOCAL.Checked) - { - textSkinID.Text = localID; - textSkinID.Enabled = true; - } + textSkinID.Enabled = radioLOCAL.Checked; } private void pictureBox1_Click(object sender, EventArgs e) { using (var ofdd = new OpenFileDialog()) { - ofdd.Filter = "PNG Files | *.png"; - ofdd.Title = "Select a PNG File"; + ofdd.Filter = "PNG Files | *.png | 3DS Texture|*.3dst"; + ofdd.Title = "Select a Skin Texture File"; if (ofdd.ShowDialog() == DialogResult.OK) { + if (ofdd.FileName.EndsWith(".3dst")) + { + using (var fs = File.OpenRead(ofdd.FileName)) + { + checkImage(_3DSUtil.GetImageFrom3DST(fs)); + textSkinName.Text = Path.GetFileNameWithoutExtension(ofdd.FileName); + } + return; + } checkImage(Image.FromFile(ofdd.FileName)); } } diff --git a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.resx b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.resx index b8f6fba7..a4bc13b6 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.resx +++ b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.resx @@ -117,14 +117,114 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + False + + + + True + + + + NoControl + + + 215, 129 + + + 71, 13 + + + 106 + + + Theme Name + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 18 + + + False + + + True + + + NoControl + + + 215, 97 + + + 59, 13 + + + 104 + + + Skin Name + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 19 + + + False + + + True + + + NoControl + + + 215, 64 + + + 42, 13 + + + 102 + + + Skin ID + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 20 + 102, 78 239, 20 - 32 @@ -191,7 +291,6 @@ False - Flat @@ -340,105 +439,6 @@ 17 - - False - - - True - - - NoControl - - - 215, 129 - - - 71, 13 - - - 106 - - - Theme Name - - - label3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 18 - - - False - - - True - - - NoControl - - - 215, 97 - - - 59, 13 - - - 104 - - - Skin Name - - - label2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 19 - - - False - - - True - - - NoControl - - - 215, 64 - - - 42, 13 - - - 102 - - - Skin ID - - - label1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 20 - True @@ -595,6 +595,9 @@ 121 + + 0 + textSkinID diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 180db693..8bc2c526 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -8,7 +8,6 @@ using System.Drawing.Drawing2D; using System.Diagnostics; using System.Drawing.Imaging; using RichPresenceClient; -using Ohana3DS_Rebirth.Ohana; using PckStudio.Properties; using PckStudio.Classes.FileTypes; using PckStudio.Classes.IO; @@ -19,6 +18,7 @@ using PckStudio.Forms.Utilities; using PckStudio.Forms.Editor; using PckStudio.Forms.Additional_Popups.Animation; using PckStudio.Classes.IO.PCK; +using PckStudio.Classes.Utils; namespace PckStudio { From f9b3d6f2184416c80e83a806067eb1bb06e21484 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 24 Sep 2022 17:45:44 +0200 Subject: [PATCH 3/7] Refactored addNewSkin and add AddTexture Resource --- .../Skins-And-Textures/addnewskin.Designer.cs | 5 +- .../Forms/Skins-And-Textures/addnewskin.cs | 111 ++++---- .../Forms/Skins-And-Textures/addnewskin.resx | 6 +- PCK-Studio/MainForm.Designer.cs | 1 + PCK-Studio/MainForm.cs | 260 +----------------- PCK-Studio/PckStudio.csproj | 1 + PCK-Studio/Properties/Resources.Designer.cs | 42 +-- PCK-Studio/Properties/Resources.resx | 6 +- PCK-Studio/Resources/AddTexture.png | Bin 0 -> 1021 bytes 9 files changed, 96 insertions(+), 336 deletions(-) create mode 100644 PCK-Studio/Resources/AddTexture.png diff --git a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.Designer.cs b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.Designer.cs index 10dd83df..c88af519 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.Designer.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.Designer.cs @@ -199,8 +199,7 @@ this.textSkinID.CustomButton.UseSelectable = true; this.textSkinID.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible"))); this.textSkinID.ForeColor = System.Drawing.Color.White; - this.textSkinID.Lines = new string[] { - "0"}; + this.textSkinID.Lines = new string[0]; resources.ApplyResources(this.textSkinID, "textSkinID"); this.textSkinID.MaxLength = 32767; this.textSkinID.Name = "textSkinID"; @@ -306,7 +305,7 @@ // resources.ApplyResources(this.skinPictureBoxTexture, "skinPictureBoxTexture"); this.skinPictureBoxTexture.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.skinPictureBoxTexture.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default; + this.skinPictureBoxTexture.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; this.skinPictureBoxTexture.Name = "skinPictureBoxTexture"; this.skinPictureBoxTexture.TabStop = false; this.skinPictureBoxTexture.Click += new System.EventHandler(this.pictureBox1_Click); diff --git a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs index 454991f0..6da7488b 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs @@ -11,17 +11,17 @@ namespace PckStudio { public partial class addNewSkin : MetroFramework.Forms.MetroForm { + + public PCKFile.FileData SkinFile => skin; + public PCKFile.FileData CapeFile => cape; + public bool HasCape = false; + LOCFile currentLoc; PCKFile.FileData skin = new PCKFile.FileData("dlcskinXYXYXYXY", PCKFile.FileData.FileType.SkinFile); PCKFile.FileData cape = new PCKFile.FileData("dlccapeXYXYXYXY", PCKFile.FileData.FileType.CapeFile); SkinANIM anim = new SkinANIM(eANIM_EFFECTS.NONE); - public PCKFile.FileData Skin => skin; - public PCKFile.FileData Cape => cape; - public string ANIM => anim.ToString(); - eSkinType skinType; - public bool useCape = false; PCKProperties generatedModel = new PCKProperties(); enum eSkinType : int @@ -40,7 +40,7 @@ namespace PckStudio currentLoc = loc; } - private void checkImage(Image img) + private void CheckImage(Image img) { //Checks image dimensions and sets things accordingly switch (img.Height) // 64x64 @@ -110,24 +110,16 @@ namespace PckStudio } break; } - /* - comboBoxSkinType.Enabled = skinType == eSkinType._64x64 || skinType == eSkinType._64x64HD; - if (comboBoxSkinType.Items.Count == 3) - { - comboBoxSkinType.Items.RemoveAt(0); - } - */ - skinPictureBoxTexture.Image = img; + skinPictureBoxTexture.Image = img; buttonDone.Enabled = true; labelSelectTexture.Visible = false; - - //skin.SetData(); } - private void drawModel() + private void DrawModel() { Bitmap bmp = new Bitmap(displayBox.Width, displayBox.Height); + bool isSlim = anim.GetANIMFlag(eANIM_EFFECTS.SLIM_MODEL); using (Graphics g = Graphics.FromImage(bmp)) { if(!anim.GetANIMFlag(eANIM_EFFECTS.HEAD_DISABLED)) @@ -145,14 +137,14 @@ namespace PckStudio if (!anim.GetANIMFlag(eANIM_EFFECTS.RIGHT_ARM_DISABLED)) { //Arm0 - g.DrawRectangle(Pens.Black, anim.GetANIMFlag(eANIM_EFFECTS.SLIM_MODEL) ? 55 : 50, 55, anim.GetANIMFlag(eANIM_EFFECTS.SLIM_MODEL) ? 15 : 20, 60); - g.FillRectangle(Brushes.Gray, anim.GetANIMFlag(eANIM_EFFECTS.SLIM_MODEL) ? 56 : 51, 56, anim.GetANIMFlag(eANIM_EFFECTS.SLIM_MODEL) ? 14 : 19, 59); + g.DrawRectangle(Pens.Black , isSlim ? 55 : 50, 55, isSlim ? 15 : 20, 60); + g.FillRectangle(Brushes.Gray, isSlim ? 56 : 51, 56, isSlim ? 14 : 19, 59); } if (!anim.GetANIMFlag(eANIM_EFFECTS.LEFT_ARM_DISABLED)) { //Arm1 - g.DrawRectangle(Pens.Black, 110, 55, anim.GetANIMFlag(eANIM_EFFECTS.SLIM_MODEL) ? 15 : 20, 60); - g.FillRectangle(Brushes.Gray, 111, 56, anim.GetANIMFlag(eANIM_EFFECTS.SLIM_MODEL) ? 14 : 19, 59); + g.DrawRectangle(Pens.Black, 110, 55, isSlim ? 15 : 20, 60); + g.FillRectangle(Brushes.Gray, 111, 56, isSlim ? 14 : 19, 59); } if (!anim.GetANIMFlag(eANIM_EFFECTS.RIGHT_LEG_DISABLED)) { @@ -172,7 +164,7 @@ namespace PckStudio private void addnewskin_Load(object sender, EventArgs e) { - drawModel(); + DrawModel(); } private void buttonSkin_Click(object sender, EventArgs e) @@ -190,7 +182,7 @@ namespace PckStudio OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() == DialogResult.OK) { - checkImage(Image.FromFile(ofd.FileName)); + CheckImage(Image.FromFile(ofd.FileName)); } } @@ -205,7 +197,7 @@ namespace PckStudio var img = Image.FromFile(ofd1.FileName); if (img.Width == img.Height * 2) { - useCape = true; + HasCape = true; capePictureBox.SizeMode = PictureBoxSizeMode.StretchImage; capePictureBox.InterpolationMode = InterpolationMode.NearestNeighbor; capePictureBox.Image = Image.FromFile(ofd1.FileName); @@ -229,48 +221,50 @@ namespace PckStudio return; } string skinId = _skinId.ToString("d08"); - if (useCape) - { - try - { - cape.filepath = $"dlccape{skinId}.png"; - skin.properties.Add(new ValueTuple("CAPEPATH", cape.filepath)); - } - catch (Exception) - { - MessageBox.Show("Cape Could Not be Added"); - } - } + skin.filepath = $"dlcskin{skinId}.png"; string skinDisplayNameLocKey = $"IDS_dlcskin{skinId}_DISPLAYNAME"; currentLoc.AddLocKey(skinDisplayNameLocKey, textSkinName.Text); skin.properties.Add(new ValueTuple("DISPLAYNAME", textSkinName.Text)); skin.properties.Add(new ValueTuple("DISPLAYNAMEID", skinDisplayNameLocKey)); + if (!string.IsNullOrEmpty(textThemeName.Text)) + { + skin.properties.Add(("THEMENAME", textThemeName.Text)); + skin.properties.Add(("THEMENAMEID", $"IDS_dlcskin{skinId}_THEMENAME")); + currentLoc.AddLocKey($"IDS_dlcskin{skinId}_THEMENAME", textThemeName.Text); + } + skin.properties.Add(new ValueTuple("ANIM", anim.ToString())); + skin.properties.Add(("GAME_FLAGS", "0x18")); + skin.properties.Add(("FREE", "1")); + + if (HasCape) + { + try + { + cape.filepath = $"dlccape{skinId}.png"; + skin.properties.Add(("CAPEPATH", cape.filepath)); + } + catch (Exception) + { + MessageBox.Show("Cape could not be added."); + } + } using (var stream = new MemoryStream()) { skinPictureBoxTexture.Image.Save(stream, ImageFormat.Png); skin.SetData(stream.ToArray()); } - skin.properties.Add(new ValueTuple("ANIM", anim.ToString())); - if (generatedModel != null) - { - foreach (var item in generatedModel) - { - skin.properties.Add(item); - } + //if (generatedModel != null) + //{ + // foreach (var item in generatedModel) + // { + // skin.properties.Add(item); + // } - generatedModel.Clear(); - } + // generatedModel.Clear(); + //} - if (!string.IsNullOrEmpty(textThemeName.Text)) - { - skin.properties.Add(new ValueTuple("THEMENAME", textThemeName.Text)); - currentLoc.AddLocKey($"IDS_dlcskin{skinId}_THEMENAME", textThemeName.Text); - } - skin.properties.Add(new ValueTuple("GAME_FLAGS", "0x18")); - skin.properties.Add(new ValueTuple("FREE", "1")); - skin.filepath = "dlcskin" + skinId + ".png"; DialogResult = DialogResult.OK; Close(); } @@ -299,13 +293,8 @@ namespace PckStudio { using (FileStream stream = File.OpenRead(Application.StartupPath + "\\temp.png")) { - skinPictureBoxTexture.SizeMode = PictureBoxSizeMode.StretchImage; - skinPictureBoxTexture.InterpolationMode = InterpolationMode.NearestNeighbor; skinPictureBoxTexture.Image = Image.FromStream(stream); - stream.Close(); - stream.Dispose(); } - skinPictureBoxTexture.Width = skinPictureBoxTexture.Height; buttonDone.Enabled = true; labelSelectTexture.Visible = false; if (skinType != eSkinType._64x64 && skinType != eSkinType._64x64HD) @@ -356,12 +345,12 @@ namespace PckStudio { using (var fs = File.OpenRead(ofdd.FileName)) { - checkImage(_3DSUtil.GetImageFrom3DST(fs)); + CheckImage(_3DSUtil.GetImageFrom3DST(fs)); textSkinName.Text = Path.GetFileNameWithoutExtension(ofdd.FileName); } return; } - checkImage(Image.FromFile(ofdd.FileName)); + CheckImage(Image.FromFile(ofdd.FileName)); } } } @@ -380,7 +369,7 @@ namespace PckStudio if (diag.ShowDialog(this) == DialogResult.OK && diag.saved) { anim = new SkinANIM(diag.outANIM); - drawModel(); + DrawModel(); } } } diff --git a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.resx b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.resx index a4bc13b6..3e61805d 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.resx +++ b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.resx @@ -595,9 +595,6 @@ 121 - - 0 - textSkinID @@ -790,6 +787,9 @@ 82, 82 + + Zoom + 108 diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 7497ea7c..4fb50728 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -227,6 +227,7 @@ // // addTextureToolStripMenuItem // + this.addTextureToolStripMenuItem.Image = global::PckStudio.Properties.Resources.AddTexture; this.addTextureToolStripMenuItem.Name = "addTextureToolStripMenuItem"; resources.ApplyResources(this.addTextureToolStripMenuItem, "addTextureToolStripMenuItem"); this.addTextureToolStripMenuItem.Click += new System.EventHandler(this.addTextureToolStripMenuItem_Click); diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 8bc2c526..a9e05124 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -81,7 +81,11 @@ namespace PckStudio public void LoadFromPath(string filepath) { currentPCK = openPck(filepath); - if (currentPCK == null) return; + if (currentPCK == null) + { + MessageBox.Show(string.Format("Failed to load {0}", Path.GetFileName(filepath)), "Error"); + return; + } if (addPasswordToolStripMenuItem.Enabled = checkForPassword()) { LoadEditorTab(); @@ -91,6 +95,7 @@ namespace PckStudio private void Form1_Load(object sender, EventArgs e) { RPC.Initialize(); + if (currentPCK == null) RPC.SetPresence("An Open Source .PCK File Editor", "Program by PhoenixARC"); skinToolStripMenuItem1.Click += (sender, e) => setFileType_Click(sender, e, PCKFile.FileData.FileType.SkinFile); @@ -274,7 +279,7 @@ namespace PckStudio //throw new InvalidDataException(nameof(file.filetype)); break; } - setFileIcon(node, file.filetype); + SetPckFileIcon(node, file.filetype); }; } @@ -615,11 +620,11 @@ namespace PckStudio using (addNewSkin add = new addNewSkin(locFile)) if (add.ShowDialog() == DialogResult.OK) { - if (add.useCape) - currentPCK.Files.Add(add.Cape); + if (add.HasCape) + currentPCK.Files.Add(add.CapeFile); if (!(treeViewMain.SelectedNode.Tag is PCKFile.FileData)) - add.Skin.filepath = $"{treeViewMain.SelectedNode.FullPath}/{add.Skin.filepath}"; - currentPCK.Files.Add(add.Skin); + add.SkinFile.filepath = $"{treeViewMain.SelectedNode.FullPath}/{add.SkinFile.filepath}"; + currentPCK.Files.Add(add.SkinFile); TrySetLocFile(locFile); saved = false; BuildMainTreeView(); @@ -1356,6 +1361,7 @@ namespace PckStudio { //System.Diagnostics.Process.Start(hosturl + "pckStudio#faq"); } + // BIG TODO #region converts and ports all skins in pck to mc bedrock format // items class for use in bedrock skin conversion @@ -2361,244 +2367,6 @@ namespace PckStudio } #endregion - #region 3ds feature in testing - - private struct loadedTexture - { - public bool modified; - public uint gpuCommandsOffset; - public uint gpuCommandsWordCount; - public uint offset; - public int length; - public RenderBase.OTexture texture; - } - - private struct loadedMaterial - { - public string texture0; - public string texture1; - public string texture2; - public uint gpuCommandsOffset; - public uint gpuCommandsWordCount; - } - - private class loadedBCH - { - public uint mainHeaderOffset; - public uint gpuCommandsOffset; - public uint dataOffset; - public uint relocationTableOffset; - public uint relocationTableLength; - public List textures; - public List materials; - - public loadedBCH() - { - textures = new List(); - materials = new List(); - } - } - - private byte[] align(byte[] input) - { - int length = input.Length; - while ((length & 0x7f) > 0) length++; - byte[] output = new byte[length]; - Buffer.BlockCopy(input, 0, output, 0, input.Length); - return output; - } - - private void replaceData(Stream data, uint offset, int length, byte[] newData) - { - data.Seek(offset + length, SeekOrigin.Begin); - byte[] after = new byte[data.Length - data.Position]; - data.Read(after, 0, after.Length); - data.SetLength(offset); - data.Seek(offset, SeekOrigin.Begin); - data.Write(newData, 0, newData.Length); - data.Write(after, 0, after.Length); - } - - private void updateTexture(int index, loadedTexture newTex) - { - bch.textures.RemoveAt(index); - bch.textures.Insert(index, newTex); - } - - private void replaceCommand(Stream data, BinaryWriter output, uint newVal) - { - data.Seek(-8, SeekOrigin.Current); - output.Write(newVal); - data.Seek(4, SeekOrigin.Current); - } - - private void updateAddress(Stream data, BinaryReader input, BinaryWriter output, int diff) - { - uint offset = input.ReadUInt32(); - offset = (uint)(offset + diff); - data.Seek(-4, SeekOrigin.Current); - output.Write(offset); - } - - loadedBCH bch; - - private void create3dstToolStripMenuItem_Click(object sender, EventArgs e) - { - if (treeViewMain.SelectedNode != null) - { - loadedTexture tex = new loadedTexture(); - - SaveFileDialog exportDs = new SaveFileDialog(); - exportDs.ShowDialog(); - string currentFile = exportDs.FileName; - - bch = new loadedBCH(); - - using (FileStream data = new FileStream(currentFile, FileMode.Open)) - { - BinaryReader input = new BinaryReader(data); - BinaryWriter output = new BinaryWriter(data); - - MemoryStream png = new MemoryStream(((PCKFile.FileData)(treeViewMain.SelectedNode.Tag)).data); //Gets image data from minefile data - Image skinPicture = Image.FromStream(png); //Constructs image data into image - pictureBoxImagePreview.Image = skinPicture; //Sets image preview to image - - byte[] buffer = new byte[skinPicture.Width * skinPicture.Height * 4]; - input.Read(buffer, 0, buffer.Length); - Bitmap texture = TextureCodec.decode(buffer, skinPicture.Width, skinPicture.Height, RenderBase.OTextureFormat.rgba8); - tex.texture = new RenderBase.OTexture(texture, "Texure"); - - //tex.texture = treeViewMain.SelectedNode.Tag; - - for (int i = 0; i < bch.textures.Count; i++) - { - tex = bch.textures[i]; - tex.modified = true; - - if (tex.modified) - { - byte[] bufferx = align(TextureCodec.encode(tex.texture.texture, RenderBase.OTextureFormat.rgba8)); - int diff = bufferx.Length - tex.length; - - replaceData(data, tex.offset, tex.length, bufferx); - - //Update offsets of next textures - tex.length = bufferx.Length; - tex.modified = false; - updateTexture(i, tex); - for (int j = i; j < bch.textures.Count; j++) - { - loadedTexture next = bch.textures[j]; - next.offset = (uint)(next.offset + diff); - updateTexture(j, next); - } - - //Update all addresses poiting after the replaced data - bch.relocationTableOffset = (uint)(bch.relocationTableOffset + diff); - for (int index = 0; index < bch.relocationTableLength; index += 4) - { - data.Seek(bch.relocationTableOffset + index, SeekOrigin.Begin); - uint value = input.ReadUInt32(); - uint offset = value & 0x1ffffff; - byte flags = (byte)(value >> 25); - - if ((flags & 0x20) > 0 || flags == 7 || flags == 0xc) - { - if ((flags & 0x20) > 0) - data.Seek((offset * 4) + bch.gpuCommandsOffset, SeekOrigin.Begin); - else - data.Seek((offset * 4) + bch.mainHeaderOffset, SeekOrigin.Begin); - - uint address = input.ReadUInt32(); - if (address + bch.dataOffset > tex.offset) - { - address = (uint)(address + diff); - data.Seek(-4, SeekOrigin.Current); - output.Write(address); - } - } - } - - uint newSize = (uint)((tex.texture.texture.Width << 16) | tex.texture.texture.Height); - - //Update texture format - data.Seek(tex.gpuCommandsOffset, SeekOrigin.Begin); - for (int index = 0; index < tex.gpuCommandsWordCount * 3; index++) - { - uint command = input.ReadUInt32(); - - switch (command) - { - case 0xf008e: - case 0xf0096: - case 0xf009e: - replaceCommand(data, output, 0); //Set texture format to 0 = RGBA8888 - break; - case 0xf0082: - case 0xf0092: - case 0xf009a: - replaceCommand(data, output, newSize); //Set new texture size - break; - } - } - - //Update material texture format - foreach (loadedMaterial mat in bch.materials) - { - data.Seek(mat.gpuCommandsOffset, SeekOrigin.Begin); - for (int index = 0; index < mat.gpuCommandsWordCount; index++) - { - uint command = input.ReadUInt32(); - - switch (command) - { - case 0xf008e: if (mat.texture0 == tex.texture.name || mat.texture0 == "") replaceCommand(data, output, 0); break; - case 0xf0096: if (mat.texture1 == tex.texture.name || mat.texture1 == "") replaceCommand(data, output, 0); break; - case 0xf009e: if (mat.texture2 == tex.texture.name || mat.texture2 == "") replaceCommand(data, output, 0); break; - } - } - } - - //Patch up BCH header for new offsets and lengths - data.Seek(4, SeekOrigin.Begin); - byte backwardCompatibility = input.ReadByte(); - byte forwardCompatibility = input.ReadByte(); - - //Update Data Extended and Relocation Table offsets - data.Seek(18, SeekOrigin.Current); - if (backwardCompatibility > 0x20) updateAddress(data, input, output, diff); - updateAddress(data, input, output, diff); - - //Update data length - data.Seek(12, SeekOrigin.Current); - updateAddress(data, input, output, diff); - } - } - using (Stream file = File.Create(currentFile + ".tmp")) - { - CopyStream(output.BaseStream, file); - } - - } - - MessageBox.Show("Done!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - - } - - - public static void CopyStream(Stream input, Stream output) - { - byte[] buffer = new byte[8 * 1024]; - int len; - while ((len = input.Read(buffer, 0, buffer.Length)) > 0) - { - output.Write(buffer, 0, len); - } - } - - #endregion - private void openToolStripMenuItem1_Click(object sender, EventArgs e) { DateTime Begin = DateTime.Now; @@ -2777,7 +2545,7 @@ namespace PckStudio Process.Start("https://ko-fi.com/mattnl"); } - private void setFileIcon(TreeNode node, PCKFile.FileData.FileType type) + private void SetPckFileIcon(TreeNode node, PCKFile.FileData.FileType type) { switch (type) { @@ -2842,7 +2610,7 @@ namespace PckStudio { Console.WriteLine($"Setting {file.filetype} to {type}"); file.filetype = type; - setFileIcon(t, type); + SetPckFileIcon(t, type); } } diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 01cb21a1..56dd11d0 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -676,6 +676,7 @@ + diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index 1e761afb..1a174f47 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -60,6 +60,16 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap AddTexture { + get { + object obj = ResourceManager.GetObject("AddTexture", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -90,16 +100,6 @@ namespace PckStudio.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap bg2 { - get { - object obj = ResourceManager.GetObject("bg2", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Byte[]. /// @@ -141,15 +141,17 @@ namespace PckStudio.Properties { } /// - /// Looks up a localized string similar to 6.5 - ///=== - ///-Audio.pck Editor is now the Music Editor with plenty of new features - ///-The Animation Editor now plays animations more accurately - ///-Added MipMap support to the Animation Editor - ///-Added some text to display the common name of the animation that you're working with - ///-Fixed several incorrect internal names for the change tile list - ///-Removed Barrier (Item) from the Change Tile list - ///-Clicking "Cancel" in the Change Tile dialog will no longer overwrite the original tile's name with noth [rest of string was truncated]";. + /// Looks up a localized string similar to 7.0 (BETA) + ///========== + ///Some features may be completely missing or incomplete at this point in time! + /// + ///-Massive codebase overhaul and optimization lead by miku-666 (aka NessieHax)!!! + ///-Some UI redesigned by yaboiFoxx + ///-Improved the changelog! + ///-New icons for each of the file types, with unique image icons for skin, texture, and cape files + ///-Added the ability to create Texture and Mash-Up packs + ///-Added a feature to see stats about any given file, including file type + ///-Added a feature set [rest of string was truncated]";. /// public static string CHANGELOG { get { @@ -511,7 +513,7 @@ namespace PckStudio.Properties { /// Looks up a localized string similar to { /// "COMMENT_1": "Tile data research by MattNL", /// "COMMENT_2": "JSON conversion by PhoenixARC", - /// "Blocks": [ + /// "blocks": [ /// { "grass_top": "Grass Block (Top)" }, /// { "stone": "Stone" }, /// { "dirt": "Dirt" }, diff --git a/PCK-Studio/Properties/Resources.resx b/PCK-Studio/Properties/Resources.resx index 7c045a1b..20198303 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -220,9 +220,6 @@ ..\Resources\Splash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\bg2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\MROE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -274,4 +271,7 @@ ..\Resources\iconImageList\SKINS ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\AddTexture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PCK-Studio/Resources/AddTexture.png b/PCK-Studio/Resources/AddTexture.png new file mode 100644 index 0000000000000000000000000000000000000000..32c7380b1a85522386e0fd441bcb57c82edc1ab0 GIT binary patch literal 1021 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT1|$ph9<=}|#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!X^2IfhgE{-7;ac^&VdxRv4uzx5lV%q$2Vdu1- zkabxT1J|-R3TX9&DF#Zo?3UwJbY2zOofX(N;p(akMb|BBmMD3OENS)3+ahM`p|QN( z&vMCG1IY@$SKsGb7QZXKBl3LvNB-jH=e` zWvW-9lCZGw93yQFjR!7C8zt0*_}VQeE?T7Imy(s$CER)Z@f?mg{y6=8^))qfggaf7 z=A5`%8@u^y!TFT5$V8SfiN?#xezvzBf0=Req^I8!rI=%#4_;UF^T$d(atV{uf9N9A z$)et5o9zBn%#S5rzSG@u;>L}JeoHoNm>}$_HhGRmU7ekJ(b|VQze@Cqx+Syzc* zx;TGte)Uh!7u;^4!DkzVSu(UyOjdknc)PQI${O)Z4-P_{$1Uty#0PNmz34 zpNW&rz58{Zy9jN+v-RSvWu zX?Wd#$8SUB!1DhpLA$zySH`@4H~&uEpGm?iR~9`NvXQ@3#dJtcqHkBRXk7mL2i1N@ zs?IRMoZx33Vr|RzzVeNv$7|1u{_G9x3VZC{R)p*>RaW2hI;S1s|7RzEx-CCmvcKy1 z$=RZ}zZEIjv&$8n;(1@#GXMSeiZ_K({5IF_W!kzWw+aFck9;n%-o*P9(G{NiMmZF?YsDlYyWT6 z6Yu|Zs$JhY-FuHORa;W=a%jH%XXd_7<639C#;S?uwC)@ zp6c~^n{Viqd@uC+zGdaa%QDqvZ-EX0MtsU!!&_0Ds?&8IyEv_kpVM)zdCN|g>wea^ ztt@oyejnq2#KH9_&)v@p^$tER><_n=KlC|$c5qSZeUM*1_}}-sWijz>*zS${=Utxj zv){i))a~|W*B^Cn&8zC3%e1_=uUbDj*y?tFqypGQ1yyJMr|nXC@a4?UPy5pT-+wC& f^iqll#~)T9soYhqvlsFJvn+$BtDnm{r-UW|vP9Qr literal 0 HcmV?d00001 From 5d9ce5539b1b4238badd6380440397f1c5f03ac4 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 25 Sep 2022 13:15:41 +0200 Subject: [PATCH 4/7] Add `SetImageTo3DST` to 3DSUtil --- PCK-Studio/Classes/Texturing/TextureCodec.cs | 10 ++-- PCK-Studio/Classes/Utils/3DS/3DSUtil.cs | 61 ++++++++++---------- 2 files changed, 36 insertions(+), 35 deletions(-) diff --git a/PCK-Studio/Classes/Texturing/TextureCodec.cs b/PCK-Studio/Classes/Texturing/TextureCodec.cs index 60dad1f8..fa175190 100644 --- a/PCK-Studio/Classes/Texturing/TextureCodec.cs +++ b/PCK-Studio/Classes/Texturing/TextureCodec.cs @@ -17,7 +17,7 @@ namespace Ohana3DS_Rebirth.Ohana /// Height of the Texture /// Pixel Format of the Texture /// - public static Bitmap decode(byte[] data, int width, int height, RenderBase.OTextureFormat format) + public static Bitmap Decode(byte[] data, int width, int height, RenderBase.OTextureFormat format) { byte[] output = new byte[width * height * 4]; long dataOffset = 0; @@ -319,12 +319,12 @@ namespace Ohana3DS_Rebirth.Ohana /// Input image to be encoded /// Pixel Format of the Texture /// - public static byte[] encode(Bitmap img, RenderBase.OTextureFormat format) + public static byte[] Encode(Bitmap img, RenderBase.OTextureFormat format) { byte[] data = TextureUtils.ToArray(img); byte[] output = new byte[data.Length]; - uint outputOffset = 0; + int outputOffset = 0; switch (format) { case RenderBase.OTextureFormat.rgba8: @@ -336,9 +336,9 @@ namespace Ohana3DS_Rebirth.Ohana { int x = tileOrder[pixel] % 8; int y = (tileOrder[pixel] - x) / 8; - long dataOffset = ((tX * 8) + x + ((tY * 8 + y) * img.Width)) * 4; + int dataOffset = ((tX * 8) + x + (tY * 8 + y) * img.Width) * 4; - Buffer.BlockCopy(data, (int)dataOffset, output, (int)outputOffset + 1, 3); + Buffer.BlockCopy(data, dataOffset, output, outputOffset + 1, 3); output[outputOffset] = data[dataOffset + 3]; outputOffset += 4; diff --git a/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs b/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs index 1b44cac3..bf108095 100644 --- a/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs +++ b/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs @@ -10,18 +10,30 @@ namespace PckStudio.Classes.Utils { private static string ReadString(Stream stream, int len) { - var buffer = new byte[len]; + byte[] buffer = new byte[len]; stream.Read(buffer, 0, len); return Encoding.ASCII.GetString(buffer); } private static int ReadInt32(Stream stream) { - var buffer = new byte[4]; + byte[] buffer = new byte[4]; stream.Read(buffer, 0, 4); return BitConverter.ToInt32(buffer, 0); } + private static void WriteString(Stream stream, string s) + { + byte[] buffer = Encoding.ASCII.GetBytes(s); + stream.Write(buffer, 0, buffer.Length); + } + + private static void WriteInt32(Stream stream, int value) + { + byte[] buffer = BitConverter.GetBytes(value); + stream.Write(buffer, 0, 4); + } + public static int CalcBufferSize(RenderBase.OTextureFormat fmt, int w, int h) { switch (fmt) @@ -56,7 +68,7 @@ namespace PckStudio.Classes.Utils { int offset = 32; stream.Seek(8L, SeekOrigin.Begin); - RenderBase.OTextureFormat otextureFormat = ReadInt32(stream) switch + RenderBase.OTextureFormat format = ReadInt32(stream) switch { 0 => RenderBase.OTextureFormat.rgba8, 1 => RenderBase.OTextureFormat.rgb8, @@ -66,13 +78,13 @@ namespace PckStudio.Classes.Utils 9 => RenderBase.OTextureFormat.la4, _ => RenderBase.OTextureFormat.dontCare, }; - int width = ReadInt32(stream); + int width = ReadInt32(stream); int height = ReadInt32(stream); - int bufferSize = CalcBufferSize(otextureFormat, width, height); + int bufferSize = CalcBufferSize(format, width, height); stream.Seek(offset, SeekOrigin.Begin); byte[] buffer = new byte[bufferSize]; stream.Read(buffer, 0, bufferSize); - var img = TextureCodec.decode(buffer, width, height, otextureFormat); + var img = TextureCodec.Decode(buffer, width, height, format); img.RotateFlip(RotateFlipType.RotateNoneFlipY); return img; } @@ -81,30 +93,19 @@ namespace PckStudio.Classes.Utils public static void SetImageTo3DST(Stream stream, Image source, RenderBase.OTextureFormat format = RenderBase.OTextureFormat.rgba8) { - throw new NotImplementedException(); - //if (ReadString(stream, 4) == "3DST") - //{ - // int offset = 32; - // stream.Seek(8L, SeekOrigin.Begin); - // RenderBase.OTextureFormat otextureFormat = ReadInt32(stream) switch - // { - // 0 => RenderBase.OTextureFormat.rgba8, - // 1 => RenderBase.OTextureFormat.rgb8, - // 2 => RenderBase.OTextureFormat.rgba5551, - // 3 => RenderBase.OTextureFormat.rgb8, - // 4 => RenderBase.OTextureFormat.rgba4, - // 9 => RenderBase.OTextureFormat.la4, - // _ => RenderBase.OTextureFormat.dontCare, - // }; - // int width = ReadInt32(stream); - // int height = ReadInt32(stream); - // int bufferSize = CalcBufferSize(otextureFormat, width, height); - // stream.Seek(offset, SeekOrigin.Begin); - // byte[] buffer = new byte[bufferSize]; - // stream.Read(buffer, 0, bufferSize); - // var img = TextureCodec.decode(buffer, width, height, otextureFormat); - // img.RotateFlip(RotateFlipType.RotateNoneFlipY); - //} + // TODO: fix Encoding + WriteString(stream, "3DST"); // 0 + WriteInt32(stream, 2); // 4 unknown + WriteInt32(stream, (int)format); // 8 + WriteInt32(stream, source.Width); // 12 + WriteInt32(stream, source.Height); // 16 + WriteInt32(stream, 0); // 20 + WriteInt32(stream, 0); // 24 + WriteInt32(stream, 0); // 28 + WriteInt32(stream, 0); // 32 + source.RotateFlip(RotateFlipType.RotateNoneFlipY); + byte[] buffer = TextureCodec.Encode(new Bitmap(source), format); + stream.Write(buffer, 0, buffer.Length); } } } From 7f81e1e4b1f0d74bbbd884eb6edffd6bad1c460d Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 28 Sep 2022 15:09:04 +0200 Subject: [PATCH 5/7] Rename RenderBase.OTextureFormat.rgba8 to RenderBase.OTextureFormat.argb8 --- PCK-Studio/Classes/Misc/RenderBase.cs | 2 +- PCK-Studio/Classes/Texturing/TextureCodec.cs | 17 ++++++++--------- PCK-Studio/Classes/Utils/3DS/3DSUtil.cs | 9 ++++----- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/PCK-Studio/Classes/Misc/RenderBase.cs b/PCK-Studio/Classes/Misc/RenderBase.cs index 47ee3c7b..05b8a0d9 100644 --- a/PCK-Studio/Classes/Misc/RenderBase.cs +++ b/PCK-Studio/Classes/Misc/RenderBase.cs @@ -1525,7 +1525,7 @@ namespace Ohana3DS_Rebirth.Ohana /// public enum OTextureFormat { - rgba8 = 0, + argb8 = 0, rgb8 = 1, rgba5551 = 2, rgb565 = 3, diff --git a/PCK-Studio/Classes/Texturing/TextureCodec.cs b/PCK-Studio/Classes/Texturing/TextureCodec.cs index fa175190..fd139edf 100644 --- a/PCK-Studio/Classes/Texturing/TextureCodec.cs +++ b/PCK-Studio/Classes/Texturing/TextureCodec.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Drawing; +using System.Collections.Generic; namespace Ohana3DS_Rebirth.Ohana { @@ -20,12 +21,12 @@ namespace Ohana3DS_Rebirth.Ohana public static Bitmap Decode(byte[] data, int width, int height, RenderBase.OTextureFormat format) { byte[] output = new byte[width * height * 4]; - long dataOffset = 0; + int dataOffset = 0; bool toggle = false; switch (format) { - case RenderBase.OTextureFormat.rgba8: + case RenderBase.OTextureFormat.argb8: for (int tY = 0; tY < height / 8; tY++) { for (int tX = 0; tX < width / 8; tX++) @@ -34,11 +35,10 @@ namespace Ohana3DS_Rebirth.Ohana { int x = tileOrder[pixel] % 8; int y = (tileOrder[pixel] - x) / 8; - long outputOffset = ((tX * 8) + x + ((tY * 8 + y) * width)) * 4; + int outputOffset = ((tX * 8 + x) + ((tY * 8 + y) * width)) * 4; - Buffer.BlockCopy(data, (int)dataOffset + 1, output, (int)outputOffset, 3); + Buffer.BlockCopy(data, dataOffset + 1, output, outputOffset, 3); output[outputOffset + 3] = data[dataOffset]; - dataOffset += 4; } } @@ -56,7 +56,7 @@ namespace Ohana3DS_Rebirth.Ohana int y = (tileOrder[pixel] - x) / 8; long outputOffset = ((tX * 8) + x + ((tY * 8 + y) * width)) * 4; - Buffer.BlockCopy(data, (int)dataOffset, output, (int)outputOffset, 3); + Buffer.BlockCopy(data, dataOffset, output, (int)outputOffset, 3); output[outputOffset + 3] = 0xff; dataOffset += 3; @@ -327,7 +327,7 @@ namespace Ohana3DS_Rebirth.Ohana int outputOffset = 0; switch (format) { - case RenderBase.OTextureFormat.rgba8: + case RenderBase.OTextureFormat.argb8: for (int tY = 0; tY < img.Height / 8; tY++) { for (int tX = 0; tX < img.Width / 8; tX++) @@ -340,14 +340,13 @@ namespace Ohana3DS_Rebirth.Ohana Buffer.BlockCopy(data, dataOffset, output, outputOffset + 1, 3); output[outputOffset] = data[dataOffset + 3]; - outputOffset += 4; } } } break; - default: throw new NotImplementedException(); + default: throw new NotImplementedException(nameof(format)); } return output; diff --git a/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs b/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs index bf108095..0cbf28b4 100644 --- a/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs +++ b/PCK-Studio/Classes/Utils/3DS/3DSUtil.cs @@ -38,7 +38,7 @@ namespace PckStudio.Classes.Utils { switch (fmt) { - case RenderBase.OTextureFormat.rgba8: + case RenderBase.OTextureFormat.argb8: return w * h * 4; case RenderBase.OTextureFormat.rgb8: return w * h * 3; @@ -66,11 +66,11 @@ namespace PckStudio.Classes.Utils { if (ReadString(stream, 4) == "3DST") { - int offset = 32; + const int offset = 32; stream.Seek(8L, SeekOrigin.Begin); RenderBase.OTextureFormat format = ReadInt32(stream) switch { - 0 => RenderBase.OTextureFormat.rgba8, + 0 => RenderBase.OTextureFormat.argb8, 1 => RenderBase.OTextureFormat.rgb8, 2 => RenderBase.OTextureFormat.rgba5551, 3 => RenderBase.OTextureFormat.rgb8, @@ -91,7 +91,7 @@ namespace PckStudio.Classes.Utils return null; } - public static void SetImageTo3DST(Stream stream, Image source, RenderBase.OTextureFormat format = RenderBase.OTextureFormat.rgba8) + public static void SetImageTo3DST(Stream stream, Image source, RenderBase.OTextureFormat format = RenderBase.OTextureFormat.argb8) { // TODO: fix Encoding WriteString(stream, "3DST"); // 0 @@ -102,7 +102,6 @@ namespace PckStudio.Classes.Utils WriteInt32(stream, 0); // 20 WriteInt32(stream, 0); // 24 WriteInt32(stream, 0); // 28 - WriteInt32(stream, 0); // 32 source.RotateFlip(RotateFlipType.RotateNoneFlipY); byte[] buffer = TextureCodec.Encode(new Bitmap(source), format); stream.Write(buffer, 0, buffer.Length); From 93c7950176526e22a714c22c1e5dc7f5366993f1 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 28 Sep 2022 15:17:27 +0200 Subject: [PATCH 6/7] Add Export Tool Strip Menu Item to Main UI --- .../Forms/Skins-And-Textures/addnewskin.cs | 10 +- PCK-Studio/MainForm.Designer.cs | 27 ++-- PCK-Studio/MainForm.cs | 116 ++++++++++-------- PCK-Studio/MainForm.resx | 42 ++++--- 4 files changed, 117 insertions(+), 78 deletions(-) diff --git a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs index 6da7488b..2fc1348e 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/addnewskin.cs @@ -224,15 +224,15 @@ namespace PckStudio skin.filepath = $"dlcskin{skinId}.png"; string skinDisplayNameLocKey = $"IDS_dlcskin{skinId}_DISPLAYNAME"; currentLoc.AddLocKey(skinDisplayNameLocKey, textSkinName.Text); - skin.properties.Add(new ValueTuple("DISPLAYNAME", textSkinName.Text)); - skin.properties.Add(new ValueTuple("DISPLAYNAMEID", skinDisplayNameLocKey)); + skin.properties.Add(("DISPLAYNAME", textSkinName.Text)); + skin.properties.Add(("DISPLAYNAMEID", skinDisplayNameLocKey)); if (!string.IsNullOrEmpty(textThemeName.Text)) { skin.properties.Add(("THEMENAME", textThemeName.Text)); skin.properties.Add(("THEMENAMEID", $"IDS_dlcskin{skinId}_THEMENAME")); currentLoc.AddLocKey($"IDS_dlcskin{skinId}_THEMENAME", textThemeName.Text); } - skin.properties.Add(new ValueTuple("ANIM", anim.ToString())); + skin.properties.Add(("ANIM", anim.ToString())); skin.properties.Add(("GAME_FLAGS", "0x18")); skin.properties.Add(("FREE", "1")); @@ -357,7 +357,6 @@ namespace PckStudio private void radioSERVER_CheckedChanged(object sender, EventArgs e) { - if (radioSERVER.Checked) { } @@ -373,5 +372,4 @@ namespace PckStudio } } } -} - +} \ No newline at end of file diff --git a/PCK-Studio/MainForm.Designer.cs b/PCK-Studio/MainForm.Designer.cs index 4fb50728..c506a372 100644 --- a/PCK-Studio/MainForm.Designer.cs +++ b/PCK-Studio/MainForm.Designer.cs @@ -38,9 +38,10 @@ this.audiopckToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.importSkinsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.importSkinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.importSkinfrom3dstFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.importExtractedSkinsFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.as3DSTextureFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.setFileTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.skinToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.capeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -150,6 +151,7 @@ this.contextMenuPCKEntries.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.createToolStripMenuItem, this.importSkinsToolStripMenuItem, + this.exportToolStripMenuItem, this.setFileTypeToolStripMenuItem, this.extractToolStripMenuItem, this.cloneFileToolStripMenuItem, @@ -201,7 +203,6 @@ // this.importSkinsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.importSkinToolStripMenuItem, - this.importSkinfrom3dstFileToolStripMenuItem, this.importExtractedSkinsFolderToolStripMenuItem, this.addTextureToolStripMenuItem}); resources.ApplyResources(this.importSkinsToolStripMenuItem, "importSkinsToolStripMenuItem"); @@ -213,12 +214,6 @@ this.importSkinToolStripMenuItem.Name = "importSkinToolStripMenuItem"; this.importSkinToolStripMenuItem.Click += new System.EventHandler(this.importSkin); // - // importSkinfrom3dstFileToolStripMenuItem - // - this.importSkinfrom3dstFileToolStripMenuItem.Name = "importSkinfrom3dstFileToolStripMenuItem"; - resources.ApplyResources(this.importSkinfrom3dstFileToolStripMenuItem, "importSkinfrom3dstFileToolStripMenuItem"); - this.importSkinfrom3dstFileToolStripMenuItem.Click += new System.EventHandler(this.importSkinfrom3dstFileToolStripMenuItem_Click); - // // importExtractedSkinsFolderToolStripMenuItem // resources.ApplyResources(this.importExtractedSkinsFolderToolStripMenuItem, "importExtractedSkinsFolderToolStripMenuItem"); @@ -232,6 +227,19 @@ resources.ApplyResources(this.addTextureToolStripMenuItem, "addTextureToolStripMenuItem"); this.addTextureToolStripMenuItem.Click += new System.EventHandler(this.addTextureToolStripMenuItem_Click); // + // exportToolStripMenuItem + // + this.exportToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.as3DSTextureFileToolStripMenuItem}); + this.exportToolStripMenuItem.Name = "exportToolStripMenuItem"; + resources.ApplyResources(this.exportToolStripMenuItem, "exportToolStripMenuItem"); + // + // as3DSTextureFileToolStripMenuItem + // + this.as3DSTextureFileToolStripMenuItem.Name = "as3DSTextureFileToolStripMenuItem"; + resources.ApplyResources(this.as3DSTextureFileToolStripMenuItem, "as3DSTextureFileToolStripMenuItem"); + this.as3DSTextureFileToolStripMenuItem.Click += new System.EventHandler(this.as3DSTextureFileToolStripMenuItem_Click); + // // setFileTypeToolStripMenuItem // this.setFileTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -1107,7 +1115,8 @@ private MetroFramework.Controls.MetroLabel labelVersion; private System.Windows.Forms.RichTextBox ChangelogRichTextBox; private System.Windows.Forms.ToolStripMenuItem generateMipMapTextureToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem importSkinfrom3dstFileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exportToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem as3DSTextureFileToolStripMenuItem; } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index a9e05124..72433847 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -96,7 +96,7 @@ namespace PckStudio { RPC.Initialize(); if (currentPCK == null) - RPC.SetPresence("An Open Source .PCK File Editor", "Program by PhoenixARC"); + RPC.SetPresence("An Open Source .PCK File Editor", "Program by PhoenixARC"); skinToolStripMenuItem1.Click += (sender, e) => setFileType_Click(sender, e, PCKFile.FileData.FileType.SkinFile); capeToolStripMenuItem.Click += (sender, e) => setFileType_Click(sender, e, PCKFile.FileData.FileType.CapeFile); @@ -137,9 +137,9 @@ namespace PckStudio if (ofd.ShowDialog() == DialogResult.OK) { LoadFromPath(ofd.FileName); - } } } + } private PCKFile openPck(string filePath) { @@ -169,7 +169,7 @@ namespace PckStudio if (currentPCK.TryGetFile("0", PCKFile.FileData.FileType.InfoFile, out PCKFile.FileData file)) { if (file.properties.Contains("LOCK")) - return new pckLocked(file.properties.GetProperty("LOCK").Item2).ShowDialog() == DialogResult.OK; + return new pckLocked(file.properties.GetPropertyValue("LOCK")).ShowDialog() == DialogResult.OK; } return true; } @@ -287,7 +287,7 @@ namespace PckStudio { treeViewMain.Nodes.Clear(); BuildPckTreeView(treeViewMain.Nodes, currentPCK); - } + } bool IsFilePathMipMapped(string filepath) { @@ -1162,24 +1162,22 @@ namespace PckStudio return; } // creates variable to indicate wether current pck skin structure is mashup or regular skin - bool mashupStructure = false; + bool hasSkinsPck = currentPCK.HasFile("Skins.pck", PCKFile.FileData.FileType.SkinDataFile); foreach (var fullfilename in Directory.GetFiles(contents.SelectedPath, "*.png")) { string filename = Path.GetFileNameWithoutExtension(fullfilename); // sets file type based on wether its a cape or skin - PCKFile.FileData.FileType pckfiletype = (PCKFile.FileData.FileType)Convert.ToInt32(filename.ToLower().StartsWith("dlccape")); - string pckfilepath = (mashupStructure ? "Skins/" : string.Empty) + filename + ".png"; + PCKFile.FileData.FileType pckfiletype = filename.StartsWith("dlccape", StringComparison.OrdinalIgnoreCase) + ? PCKFile.FileData.FileType.CapeFile + : PCKFile.FileData.FileType.SkinFile; + string pckfilepath = (hasSkinsPck ? "Skins/" : string.Empty) + filename + ".png"; PCKFile.FileData newFile = new PCKFile.FileData(pckfilepath, pckfiletype); byte[] filedata = File.ReadAllBytes(fullfilename); newFile.SetData(filedata); - string locNameId = ""; - string locName = ""; - string locThemeId = ""; - string locTheme = ""; if (File.Exists(fullfilename + ".txt")) { string[] properties = File.ReadAllText(fullfilename + ".txt").Split(new string[]{ Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); @@ -1188,25 +1186,38 @@ namespace PckStudio string[] param = property.Split(':'); if (param.Length < 2) continue; newFile.properties.Add((param[0], param[1])); - switch (param[0]) - { - case "DISPLAYNAMEID": - locNameId = param[1]; - continue; + //switch (param[0]) + //{ + // case "DISPLAYNAMEID": + // locNameId = param[1]; + // continue; - case "DISPLAYNAME": - locName = param[1]; - continue; + // case "DISPLAYNAME": + // locName = param[1]; + // continue; - case "THEMENAMEID": - locThemeId = param[1]; - continue; + // case "THEMENAMEID": + // locThemeId = param[1]; + // continue; - case "THEMENAME": - locTheme = param[1]; - continue; - } + // case "THEMENAME": + // locTheme = param[1]; + // continue; + //} } + } + if (hasSkinsPck) + { + var skinsfile = currentPCK.GetFile("Skins.pck", PCKFile.FileData.FileType.SkinDataFile); + using (var ms = new MemoryStream(skinsfile.data)) + { + var skinspck = PCKFileReader.Read(ms, LittleEndianCheckBox.Checked); + skinspck.Files.Add(newFile); + ms.Position = 0; + PCKFileWriter.Write(ms, skinspck, LittleEndianCheckBox.Checked); + skinsfile.SetData(ms.ToArray()); + } + continue; } currentPCK.Files.Add(newFile); } @@ -1235,7 +1246,7 @@ namespace PckStudio } catch (Exception ex) { - Console.WriteLine(ex.Message); + Debug.WriteLine(ex.Message); } locFile = null; return false; @@ -1330,9 +1341,20 @@ namespace PckStudio TreeNode folerNode = CreateNode(folderNamePrompt.NewText); folerNode.ImageIndex = 0; folerNode.SelectedImageIndex = 0; - TreeNodeCollection nodeCollection = treeViewMain.SelectedNode is TreeNode node - ? node.Tag is PCKFile.FileData && node.Parent is TreeNode parentNode ? parentNode.Nodes : node.Nodes - : treeViewMain.Nodes; + + TreeNodeCollection nodeCollection = treeViewMain.Nodes; + if (treeViewMain.SelectedNode is TreeNode node) + { + if (node.Tag is PCKFile.FileData) + { + if (node.Parent is TreeNode parentNode) + { + nodeCollection = parentNode.Nodes; + } + } + else + nodeCollection = node.Nodes; + } nodeCollection.Add(folerNode); } } @@ -2547,7 +2569,7 @@ namespace PckStudio private void SetPckFileIcon(TreeNode node, PCKFile.FileData.FileType type) { - switch (type) + switch (type) { case PCKFile.FileData.FileType.AudioFile: node.ImageIndex = 1; @@ -2666,7 +2688,7 @@ namespace PckStudio for (int i = 2; i < 2 + diag.Levels; i++) { string mippedPath = textureDirectory + "/" + textureName + "MipMapLevel" + i + textureExtension; - Console.WriteLine(mippedPath); + Debug.WriteLine(mippedPath); if (currentPCK.HasFile(mippedPath, PCKFile.FileData.FileType.TextureFile)) currentPCK.Files.Remove(currentPCK.GetFile(mippedPath, PCKFile.FileData.FileType.TextureFile)); PCKFile.FileData MipMappedFile = new PCKFile.FileData(mippedPath, PCKFile.FileData.FileType.TextureFile); @@ -2696,25 +2718,23 @@ namespace PckStudio } } - private void importSkinfrom3dstFileToolStripMenuItem_Click(object sender, EventArgs e) + private void as3DSTextureFileToolStripMenuItem_Click(object sender, EventArgs e) { - OpenFileDialog openFileDialog = new OpenFileDialog(); - openFileDialog.DefaultExt = ".3dst"; - openFileDialog.Filter = "3DS Texture|*.3dst"; - if (openFileDialog.ShowDialog() == DialogResult.OK) - { - using (var fs = File.OpenRead(openFileDialog.FileName)) - { - var img = _3DSUtil.GetImageFrom3DST(fs); - PCKFile.FileData file = new PCKFile.FileData("3dst_import.png", PCKFile.FileData.FileType.SkinFile); - file.properties.Add(("DISPLAYNAME", Path.GetFileNameWithoutExtension(openFileDialog.FileName))); - using (var ms = new MemoryStream()) + if (treeViewMain.SelectedNode is TreeNode node && + node.Tag is PCKFile.FileData file && + file.filetype == PCKFile.FileData.FileType.SkinFile) + { + SaveFileDialog saveFileDialog = new SaveFileDialog(); + saveFileDialog.Filter = "3DS Texture | *.3dst"; + saveFileDialog.DefaultExt = ".3dst"; + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + using (var fs = saveFileDialog.OpenFile()) { - img.Save(ms, ImageFormat.Png); - file.SetData(ms.ToArray()); + using var ms = new MemoryStream(file.data); + Image img = Image.FromStream(ms); + _3DSUtil.SetImageTo3DST(fs, img); } - currentPCK.Files.Add(file); - BuildMainTreeView(); } } } diff --git a/PCK-Studio/MainForm.resx b/PCK-Studio/MainForm.resx index 25ccb8db..08a6fa98 100644 --- a/PCK-Studio/MainForm.resx +++ b/PCK-Studio/MainForm.resx @@ -229,12 +229,6 @@ Import Skin - - 228, 22 - - - Import Skin (from .3dst file) - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -274,6 +268,18 @@ Import + + 186, 22 + + + Export as 3DS Texture + + + 210, 22 + + + Export + 222, 22 @@ -460,7 +466,7 @@ Generate MipMap Texture - 211, 268 + 211, 312 contextMenuPCKEntries @@ -654,7 +660,7 @@ - 180, 22 + 176, 22 Advanced Bulk @@ -680,7 +686,7 @@ - 180, 22 + 176, 22 Convert to Bedrock @@ -32502,12 +32508,6 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - importSkinfrom3dstFileToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - importExtractedSkinsFolderToolStripMenuItem @@ -32520,6 +32520,18 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + exportToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + as3DSTextureFileToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + setFileTypeToolStripMenuItem From ea3d342f1be8e3269e064bb7b9bd86e358763d14 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 28 Sep 2022 15:19:53 +0200 Subject: [PATCH 7/7] Remove bg2.png --- PCK-Studio/PckStudio.csproj | 1 - PCK-Studio/Resources/bg2.png | Bin 1114 -> 0 bytes 2 files changed, 1 deletion(-) delete mode 100644 PCK-Studio/Resources/bg2.png diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 56dd11d0..2ffde934 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -643,7 +643,6 @@ - diff --git a/PCK-Studio/Resources/bg2.png b/PCK-Studio/Resources/bg2.png deleted file mode 100644 index 8f9a1e5a14dddc94d50ed5d7fa2b3d2c742743cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1114 zcmeAS@N?(olHy`uVBq!ia0y~yV4McT#T?8)5v}$2rvfR);vjb?hIQv;UIIBR>5jgR z3=A9lx&I`xGB7YR1o(uw0>%IT{|_Wb!DtAKzz|3;dy@?GHfMoHWHAE+-(e7DJf6QI z1t=(4;u=vBoS#-wo>-L1P>`6JSE84fTB2a0XP{?jdF9$BkfME_E{-7;ac{3}vOO}(9RJNtu|{8 PfRuZ>`njxgN@xNArB_4S