Add .3dst texture support to AddNewSkin

This commit is contained in:
miku-666
2022-09-24 13:02:26 +02:00
parent d24853e3cf
commit 79c5d53251
4 changed files with 138 additions and 133 deletions

View File

@@ -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";

View File

@@ -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));
}
}

View File

@@ -117,14 +117,114 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 129</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 13</value>
</data>
<data name="label3.TabIndex" type="System.Int32, mscorlib">
<value>106</value>
</data>
<data name="label3.Text" xml:space="preserve">
<value>Theme Name</value>
</data>
<data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;label3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>18</value>
</data>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 97</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 13</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>104</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Skin Name</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;label2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>19</value>
</data>
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 64</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>102</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Skin ID</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>20</value>
</data>
<data name="textTheme.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 78</value>
</data>
<data name="textTheme.Size" type="System.Drawing.Size, System.Drawing">
<value>239, 20</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="textTheme.TabIndex" type="System.Int32, mscorlib">
<value>32</value>
</data>
@@ -191,7 +291,6 @@
<data name="buttonDone.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="buttonDone.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
@@ -340,105 +439,6 @@
<data name="&gt;&gt;displayBox.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 129</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 13</value>
</data>
<data name="label3.TabIndex" type="System.Int32, mscorlib">
<value>106</value>
</data>
<data name="label3.Text" xml:space="preserve">
<value>Theme Name</value>
</data>
<data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;label3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>18</value>
</data>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 97</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 13</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>104</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Skin Name</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;label2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>19</value>
</data>
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 64</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>102</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Skin ID</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>20</value>
</data>
<data name="radioAUTO.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -595,6 +595,9 @@
<data name="textSkinID.TabIndex" type="System.Int32, mscorlib">
<value>121</value>
</data>
<data name="textSkinID.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;textSkinID.Name" xml:space="preserve">
<value>textSkinID</value>
</data>

View File

@@ -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
{