From 2eed69a6471113676888f3988b6076d861054b4a Mon Sep 17 00:00:00 2001
From: miku-666 <74728189+NessieHax@users.noreply.github.com>
Date: Mon, 14 Aug 2023 15:45:44 +0200
Subject: [PATCH] CreateTexturePackPrompt - Added Checkbox fro creating
skins.pck file
---
.../CreateTexturePackPrompt.Designer.cs | 35 +++++++----
.../CreateTexturePackPrompt.cs | 1 +
.../CreateTexturePackPrompt.resx | 61 +++++++++++++------
PCK-Studio/MainForm.cs | 24 ++++----
4 files changed, 78 insertions(+), 43 deletions(-)
diff --git a/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.Designer.cs b/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.Designer.cs
index 415a5649..9dbc2d42 100644
--- a/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.Designer.cs
+++ b/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.Designer.cs
@@ -29,11 +29,12 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CreateTexturePackPrompt));
- this.TextLabel = new System.Windows.Forms.Label();
- this.OKButton = new System.Windows.Forms.Button();
+ this.TextLabel = new MetroFramework.Controls.MetroLabel();
+ this.OKButton = new MetroFramework.Controls.MetroButton();
this.InputTextBox = new MetroFramework.Controls.MetroTextBox();
this.resolutionComboBox = new MetroFramework.Controls.MetroComboBox();
- this.label1 = new System.Windows.Forms.Label();
+ this.label1 = new MetroFramework.Controls.MetroLabel();
+ this.createSkinsPckCheckBox = new MetroFramework.Controls.MetroCheckBox();
this.SuspendLayout();
//
// TextLabel
@@ -41,13 +42,14 @@
resources.ApplyResources(this.TextLabel, "TextLabel");
this.TextLabel.ForeColor = System.Drawing.Color.White;
this.TextLabel.Name = "TextLabel";
+ this.TextLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// OKButton
//
resources.ApplyResources(this.OKButton, "OKButton");
- this.OKButton.ForeColor = System.Drawing.Color.White;
this.OKButton.Name = "OKButton";
- this.OKButton.UseVisualStyleBackColor = true;
+ this.OKButton.Theme = MetroFramework.MetroThemeStyle.Dark;
+ this.OKButton.UseSelectable = true;
this.OKButton.Click += new System.EventHandler(this.OKBtn_Click);
//
// InputTextBox
@@ -105,12 +107,22 @@
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Name = "label1";
+ this.label1.Theme = MetroFramework.MetroThemeStyle.Dark;
//
- // CreateTexturePack
+ // createSkinsPckCheckBox
+ //
+ resources.ApplyResources(this.createSkinsPckCheckBox, "createSkinsPckCheckBox");
+ this.createSkinsPckCheckBox.Name = "createSkinsPckCheckBox";
+ this.createSkinsPckCheckBox.Style = MetroFramework.MetroColorStyle.White;
+ this.createSkinsPckCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark;
+ this.createSkinsPckCheckBox.UseSelectable = true;
+ //
+ // CreateTexturePackPrompt
//
this.AcceptButton = this.OKButton;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.createSkinsPckCheckBox);
this.Controls.Add(this.label1);
this.Controls.Add(this.resolutionComboBox);
this.Controls.Add(this.InputTextBox);
@@ -118,7 +130,7 @@
this.Controls.Add(this.TextLabel);
this.MaximizeBox = false;
this.MinimizeBox = false;
- this.Name = "CreateTexturePack";
+ this.Name = "CreateTexturePackPrompt";
this.Resizable = false;
this.ShadowType = MetroFramework.Forms.MetroFormShadowType.DropShadow;
this.Style = MetroFramework.MetroColorStyle.Silver;
@@ -129,10 +141,11 @@
}
#endregion
- public System.Windows.Forms.Button OKButton;
- public System.Windows.Forms.Label TextLabel;
+ public MetroFramework.Controls.MetroButton OKButton;
+ public MetroFramework.Controls.MetroLabel TextLabel;
private MetroFramework.Controls.MetroTextBox InputTextBox;
private MetroFramework.Controls.MetroComboBox resolutionComboBox;
- public System.Windows.Forms.Label label1;
- }
+ public MetroFramework.Controls.MetroLabel label1;
+ private MetroFramework.Controls.MetroCheckBox createSkinsPckCheckBox;
+ }
}
\ No newline at end of file
diff --git a/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.cs b/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.cs
index b94620b8..52f8fe9d 100644
--- a/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.cs
+++ b/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.cs
@@ -9,6 +9,7 @@ namespace PckStudio
///
/// Text entered only access when DialogResult == DialogResult.OK
///
+ public bool CreateSkinsPck => createSkinsPckCheckBox.Checked;
public string PackName => InputTextBox.Text;
public string PackRes => resolutionComboBox.Text;
diff --git a/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.resx b/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.resx
index d66ae6ea..5c08d9b8 100644
--- a/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.resx
+++ b/PCK-Studio/Forms/Additional-Popups/CreateTexturePackPrompt.resx
@@ -126,7 +126,7 @@
19, 17
- 35, 13
+ 45, 19
3
@@ -141,20 +141,16 @@
TextLabel
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a
$this
- 4
-
-
-
- Flat
+ 5
- 101, 74
+ 166, 74
75, 23
@@ -169,14 +165,15 @@
OKButton
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ MetroFramework.Controls.MetroButton, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a
$this
- 3
+ 4
+
@@ -193,7 +190,7 @@
False
- 60, 12
+ 76, 13
165, 23
@@ -211,7 +208,7 @@
$this
- 2
+ 3
23
@@ -244,7 +241,7 @@
x128
- 60, 39
+ 76, 40
165, 29
@@ -262,19 +259,16 @@
$this
- 1
+ 2
True
-
- NoControl
-
2, 48
- 57, 13
+ 69, 19
7
@@ -289,12 +283,39 @@
label1
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a
$this
+ 1
+
+
+ True
+
+
+ 19, 77
+
+
+ 109, 15
+
+
+ 8
+
+
+ Create Skins.pck
+
+
+ createSkinsPckCheckBox
+
+
+ MetroFramework.Controls.MetroCheckBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a
+
+
+ $this
+
+
0
@@ -2816,7 +2837,7 @@
CenterParent
- CreateTexturePack
+ CreateTexturePackPrompt
MetroFramework.Forms.MetroForm, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a
diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs
index ee8fee4d..015a8c09 100644
--- a/PCK-Studio/MainForm.cs
+++ b/PCK-Studio/MainForm.cs
@@ -949,7 +949,7 @@ namespace PckStudio
}
parent_file.SetData(new PckFileWriter(newPCKFile, LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian));
- parent.Tag = parent_file;
+ parent.Tag = parent_file;
BuildMainTreeView();
}
@@ -1193,28 +1193,28 @@ namespace PckStudio
zeroFile.Properties.Add("PACKID", packId.ToString());
zeroFile.Properties.Add("PACKVERSION", packVersion.ToString());
- var locFile = new LOCFile();
- locFile.InitializeDefault(packName);
+ var locFile = new LOCFile();
+ locFile.InitializeDefault(packName);
pack.CreateNewFile("localisation.loc", PckFile.FileData.FileType.LocalisationFile, new LOCFileWriter(locFile, 2));
pack.CreateNewFileIf(createSkinsPCK, "Skins.pck", PckFile.FileData.FileType.SkinDataFile, new PckFileWriter(new PckFile(3, true),
- LittleEndianCheckBox.Checked
- ? OMI.Endianness.LittleEndian
+ LittleEndianCheckBox.Checked
+ ? OMI.Endianness.LittleEndian
: OMI.Endianness.BigEndian));
return pack;
- }
+ }
- private PckFile InitializeTexturePack(int packId, int packVersion, string packName, string res, bool createSkinsPCK = false)
+ private PckFile InitializeTexturePack(int packId, int packVersion, string packName, string res, bool createSkinsPCK)
{
var pack = InitializePack(packId, packVersion, packName, createSkinsPCK);
PckFile infoPCK = new PckFile(3);
- var icon = infoPCK.CreateNewFile("icon.png", PckFile.FileData.FileType.TextureFile);
+ var icon = infoPCK.CreateNewFile("icon.png", PckFile.FileData.FileType.TextureFile);
icon.SetData(Resources.TexturePackIcon, ImageFormat.Png);
- var comparison = infoPCK.CreateNewFile("comparison.png", PckFile.FileData.FileType.TextureFile);
+ var comparison = infoPCK.CreateNewFile("comparison.png", PckFile.FileData.FileType.TextureFile);
comparison.SetData(Resources.Comparison, ImageFormat.Png);
var texturepackInfo = pack.CreateNewFile($"{res}/{res}Info.pck", PckFile.FileData.FileType.TexturePackInfoFile);
@@ -1250,7 +1250,7 @@ namespace PckStudio
gameRuleFile.SetData(new GameRuleFileWriter(grfFile));
return pack;
- }
+ }
private void skinPackToolStripMenuItem_Click(object sender, EventArgs e)
{
@@ -1272,7 +1272,7 @@ namespace PckStudio
CreateTexturePackPrompt packPrompt = new CreateTexturePackPrompt();
if (packPrompt.ShowDialog() == DialogResult.OK)
{
- currentPCK = InitializeTexturePack(new Random().Next(8000, int.MaxValue), 0, packPrompt.PackName, packPrompt.PackRes);
+ currentPCK = InitializeTexturePack(new Random().Next(8000, int.MaxValue), 0, packPrompt.PackName, packPrompt.PackRes, packPrompt.CreateSkinsPck);
isTemplateFile = true;
wasModified = true;
LoadEditorTab();
@@ -1928,7 +1928,7 @@ namespace PckStudio
gfx.PixelOffsetMode = PixelOffsetMode.HighQuality;
gfx.DrawImage(originalTexture, tileArea);
}
-
+
MipMappedFile.SetData(mippedTexture, ImageFormat.Png);
currentPCK.Files.Insert(currentPCK.Files.IndexOf(file) + i - 1, MipMappedFile);