Added Box Editor to skin editor

This commit is contained in:
MayNL
2026-03-30 19:37:53 -04:00
parent 5ca58631e1
commit 1ecfaea64d
3 changed files with 122 additions and 299 deletions

View File

@@ -29,11 +29,7 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.GroupBox groupBox1;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CustomSkinEditor));
this.sizeLabel = new System.Windows.Forms.Label();
this.positionLabel = new System.Windows.Forms.Label();
this.uvLabel = new System.Windows.Forms.Label();
this.importTextureButton = new MetroFramework.Controls.MetroButton();
this.exportTextureButton = new MetroFramework.Controls.MetroButton();
this.skinPartTabContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
@@ -65,8 +61,7 @@
this.renderSettingsButton = new MetroFramework.Controls.MetroButton();
this.exportTemplateButton = new MetroFramework.Controls.MetroButton();
this.animEditorButton = new MetroFramework.Controls.MetroButton();
groupBox1 = new System.Windows.Forms.GroupBox();
groupBox1.SuspendLayout();
this.boxEditorControl1 = new PckStudio.Controls.BoxEditorControl();
this.skinPartTabContextMenu.SuspendLayout();
this.metroTabControl1.SuspendLayout();
this.skinPartsTabPage.SuspendLayout();
@@ -75,34 +70,6 @@
((System.ComponentModel.ISupportInitialize)(this.uvPictureBox)).BeginInit();
this.SuspendLayout();
//
// groupBox1
//
resources.ApplyResources(groupBox1, "groupBox1");
groupBox1.Controls.Add(this.sizeLabel);
groupBox1.Controls.Add(this.positionLabel);
groupBox1.Controls.Add(this.uvLabel);
groupBox1.ForeColor = System.Drawing.SystemColors.Control;
groupBox1.Name = "groupBox1";
groupBox1.TabStop = false;
//
// sizeLabel
//
resources.ApplyResources(this.sizeLabel, "sizeLabel");
this.sizeLabel.ForeColor = System.Drawing.Color.White;
this.sizeLabel.Name = "sizeLabel";
//
// positionLabel
//
resources.ApplyResources(this.positionLabel, "positionLabel");
this.positionLabel.ForeColor = System.Drawing.Color.White;
this.positionLabel.Name = "positionLabel";
//
// uvLabel
//
resources.ApplyResources(this.uvLabel, "uvLabel");
this.uvLabel.ForeColor = System.Drawing.Color.White;
this.uvLabel.Name = "uvLabel";
//
// importTextureButton
//
resources.ApplyResources(this.importTextureButton, "importTextureButton");
@@ -219,7 +186,6 @@
this.skinPartListBox.Tag = "";
this.skinPartListBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.skinPartListBox_MouseClick);
this.skinPartListBox.SelectedIndexChanged += new System.EventHandler(this.skinPartListBox_SelectedIndexChanged);
this.skinPartListBox.DoubleClick += new System.EventHandler(this.skinPartListBox_DoubleClick);
this.skinPartListBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.skinPartListBox_KeyUp);
//
// captureScreenshotButton
@@ -366,14 +332,23 @@
this.animEditorButton.UseSelectable = true;
this.animEditorButton.Click += new System.EventHandler(this.animEditorButton_Click);
//
// boxEditorControl1
//
this.boxEditorControl1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
this.boxEditorControl1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
resources.ApplyResources(this.boxEditorControl1, "boxEditorControl1");
this.boxEditorControl1.Name = "boxEditorControl1";
this.boxEditorControl1.BoxChanged += new System.EventHandler(this.boxEditorControl1_BoxChanged);
//
// CustomSkinEditor
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.metroTabControl1);
this.Controls.Add(this.boxEditorControl1);
this.Controls.Add(this.exportTextureButton);
this.Controls.Add(this.importTextureButton);
this.Controls.Add(this.textureSizeLabel);
this.Controls.Add(groupBox1);
this.Controls.Add(this.showToolsCheckBox);
this.Controls.Add(this.centerSelectionCheckbox);
this.Controls.Add(this.showArmorCheckbox);
@@ -383,7 +358,6 @@
this.Controls.Add(this.animEditorButton);
this.Controls.Add(this.exportTemplateButton);
this.Controls.Add(this.renderSettingsButton);
this.Controls.Add(this.metroTabControl1);
this.Controls.Add(this.skinNameLabel);
this.Controls.Add(this.captureScreenshotButton);
this.Controls.Add(this.renderer3D1);
@@ -394,8 +368,6 @@
this.Style = MetroFramework.MetroColorStyle.Silver;
this.Theme = MetroFramework.MetroThemeStyle.Dark;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.CustomSkinEditor_FormClosing);
groupBox1.ResumeLayout(false);
groupBox1.PerformLayout();
this.skinPartTabContextMenu.ResumeLayout(false);
this.metroTabControl1.ResumeLayout(false);
this.skinPartsTabPage.ResumeLayout(false);
@@ -435,12 +407,10 @@
private System.Windows.Forms.ToolStripMenuItem addOffsetToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem removeOffsetToolStripMenuItem;
private MetroFramework.Controls.MetroCheckBox centerSelectionCheckbox;
private System.Windows.Forms.Label positionLabel;
private System.Windows.Forms.Label sizeLabel;
private System.Windows.Forms.Label uvLabel;
private System.Windows.Forms.Label textureSizeLabel;
private MetroFramework.Controls.MetroButton renderSettingsButton;
private MetroFramework.Controls.MetroButton exportTemplateButton;
private MetroFramework.Controls.MetroButton animEditorButton;
private Controls.BoxEditorControl boxEditorControl1;
}
}

View File

@@ -51,6 +51,7 @@ namespace PckStudio.Forms.Editor
skinPartListBox.DataSource = _skinPartListBindingSource;
skinPartListBox.DisplayMember = "Type";
_xmlVersion = xmlVersion;
boxEditorControl1.SetBOXVersion(xmlVersion);
_inflateOverlayParts = _xmlVersion > 0;
}
@@ -148,16 +149,12 @@ namespace PckStudio.Forms.Editor
private void createToolStripMenuItem_Click(object sender, EventArgs e)
{
var boxEditor = new BoxEditor(SkinBOX.DefaultHead, _xmlVersion);
if (boxEditor.ShowDialog() == DialogResult.OK)
{
SkinBOX newBox = boxEditor.Result;
renderer3D1.ModelData.Add(newBox);
EditorValue.Model.AdditionalBoxes.Add(newBox);
_skinPartListBindingSource.ResetBindings(false);
if (generateTextureCheckBox.Checked)
GenerateUVTextureMap(newBox);
}
SkinBOX newBox = SkinBOX.DefaultHead;
renderer3D1.ModelData.Add(newBox);
EditorValue.Model.AdditionalBoxes.Add(newBox);
_skinPartListBindingSource.ResetBindings(false);
if (generateTextureCheckBox.Checked)
GenerateUVTextureMap(newBox);
}
private void exportTextureButton_Click(object sender, EventArgs e)
@@ -276,47 +273,16 @@ namespace PckStudio.Forms.Editor
textureSizeLabel.Text = $"{texture.Width}x{texture.Height}";
}
private void skinPartListBox_DoubleClick(object sender, EventArgs e)
{
if (skinPartListBox.SelectedItem is SkinBOX box)
{
Console.WriteLine($"SkinEditor {_xmlVersion}");
var boxEditor = new BoxEditor(box, _xmlVersion);
if (boxEditor.ShowDialog() == DialogResult.OK)
{
renderer3D1.ModelData[skinPartListBox.SelectedIndex] = boxEditor.Result;
_skinPartListBindingSource.ResetItem(skinPartListBox.SelectedIndex);
}
}
}
// TODO: fixed outline rendering
private void skinPartListBox_SelectedIndexChanged(object sender, EventArgs e)
{
int scale = 1;
renderer3D1.SelectedIndices = skinPartListBox.SelectedIndices.Cast<int>().ToArray();
StringBuilder uv_sb = new StringBuilder();
StringBuilder size_sb = new StringBuilder();
StringBuilder pos_sb = new StringBuilder();
foreach (SkinBOX b in skinPartListBox.SelectedItems.Cast<SkinBOX>())
{
uv_sb.Append(b.UV);
uv_sb.Append(", ");
size_sb.Append(b.Size);
size_sb.Append(", ");
pos_sb.Append(b.Pos);
pos_sb.Append(", ");
}
uvLabel.Text = $"UV: {uv_sb}";
sizeLabel.Text = $"Size: {size_sb}";
positionLabel.Text = $"Position: {pos_sb}";
// TODO: highlight all selected boxes
if (skinPartListBox.SelectedItem is SkinBOX box)
{
boxEditorControl1.SetBOX(box);
Image uvArea = EditorValue.Texture.GetArea(Rectangle.Truncate(new RectangleF(box.UV.X, box.UV.Y, box.Size.X * 2 + box.Size.Z * 2, box.Size.Z + box.Size.Y)));
Bitmap refImg = new Bitmap(1, 1);
@@ -479,5 +445,14 @@ namespace PckStudio.Forms.Editor
{
ProcessDialogKey(Keys.A);
}
private void boxEditorControl1_BoxChanged(object sender, EventArgs e)
{
if(skinPartListBox.SelectedIndex > 0)
{
renderer3D1.ModelData[skinPartListBox.SelectedIndex] = boxEditorControl1.GetBOX();
_skinPartListBindingSource.ResetItem(skinPartListBox.SelectedIndex);
}
}
}
}

View File

@@ -117,159 +117,18 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="groupBox1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
</data>
<data name="sizeLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="sizeLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="sizeLabel.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="sizeLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 47</value>
</data>
<data name="sizeLabel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="sizeLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>33, 19</value>
</data>
<data name="sizeLabel.TabIndex" type="System.Int32, mscorlib">
<value>142</value>
</data>
<data name="sizeLabel.Text" xml:space="preserve">
<value>Size</value>
</data>
<data name="&gt;&gt;sizeLabel.Name" xml:space="preserve">
<value>sizeLabel</value>
</data>
<data name="&gt;&gt;sizeLabel.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;sizeLabel.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;sizeLabel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="positionLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="positionLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="positionLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="positionLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 76</value>
</data>
<data name="positionLabel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="positionLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 19</value>
</data>
<data name="positionLabel.TabIndex" type="System.Int32, mscorlib">
<value>127</value>
</data>
<data name="positionLabel.Text" xml:space="preserve">
<value>Position</value>
</data>
<data name="&gt;&gt;positionLabel.Name" xml:space="preserve">
<value>positionLabel</value>
</data>
<data name="&gt;&gt;positionLabel.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;positionLabel.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;positionLabel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="uvLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="uvLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="uvLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="uvLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 21</value>
</data>
<data name="uvLabel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="uvLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>28, 19</value>
</data>
<data name="uvLabel.TabIndex" type="System.Int32, mscorlib">
<value>131</value>
</data>
<data name="uvLabel.Text" xml:space="preserve">
<value>UV</value>
</data>
<data name="&gt;&gt;uvLabel.Name" xml:space="preserve">
<value>uvLabel</value>
</data>
<data name="&gt;&gt;uvLabel.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;uvLabel.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;uvLabel.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>19, 276</value>
</data>
<data name="groupBox1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 0</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>161, 117</value>
</data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>170</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Porperties</value>
</data>
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;groupBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="importTextureButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="importTextureButton.Location" type="System.Drawing.Point, System.Drawing">
<value>23, 249</value>
<value>30, 249</value>
</data>
<data name="importTextureButton.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 21</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="importTextureButton.TabIndex" type="System.Int32, mscorlib">
<value>128</value>
</data>
@@ -286,13 +145,13 @@
<value>$this</value>
</data>
<data name="&gt;&gt;importTextureButton.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<data name="exportTextureButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
</data>
<data name="exportTextureButton.Location" type="System.Drawing.Point, System.Drawing">
<value>90, 249</value>
<value>97, 249</value>
</data>
<data name="exportTextureButton.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 21</value>
@@ -313,7 +172,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;exportTextureButton.ZOrder" xml:space="preserve">
<value>2</value>
<value>4</value>
</data>
<metadata name="skinPartTabContextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
@@ -321,9 +180,9 @@
<data name="createToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABPSURBVDhP5ZAx
DgAgCAMZ/f+HMcbYYOmg0UmHY2ibGzB3txNSgMKsHcD9ksBL5wcBPwyPCwLFJBjjVe4LFHGsgEDBAu6x
4+AxAT9MkYJdKi90axNkwjxWAAAAAElFTkSuQmCC
</value>
</data>
<data name="createToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
@@ -335,16 +194,16 @@
<data name="cloneToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAHbSURBVDhPYyjZ
5F622bt8o1fmYpvMxdY5691T5prlrnJq2BsKFM9Z6Zix1DZruX3yAovAPrX8NS4MJZs98la7de2M/I8E
khdZJsw3m3IwacL+hIoNPkkLDEpWumYus8tf6cTQuSc6zFZj7slckEIGBhD6/z/WUr1oq0fDvtApB1Mm
H0uOtFaNmaKbPM8iykaTIcpGPSs3K8JWHVlDpK1q4gLDcFv1rHXOIfbq1UGmIfZqQJWVoVYgaQSAaYCD
aCul3KzMynCrqZk+4baaMA0QdZjo//+KMOtIa62ScMvKEPOycPuNrXEENMBBf5ZvZZjV7CwnFFFMdXCR
1jj7tgTn6TleDFtaE4FaN7emIEuXh1pNzPFHFgGqmZATMCXbj2FatmdZsHFZuBWyNAJgiIA0TM31irLT
hApAAEQdJoJqyPMH2ri7LQaIKsIsCWrwrgizqgo1n5rjMy3He0drFEgDHMDUwQFDWYhlqL3GjBzPylCL
abm+wHDY1RoLtLA2xAQsD9UANHRbW+zO1miG8hCLKTk+wAiqDrOKsFGrCLWZnu01NdezIhTJbf//72iN
nZbjNT3Hk2FKtldFmEWEjdautpjKUMsoGw1g/EfZqQMtAWmAASB3RrbHjBxPAFdnoOpP7y1ZAAAAAElF
TkSuQmCC
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAHaSURBVDhPhZDt
a9NQFMbv3yKsaQeCom7JTdJgp65JOzc196ZN29Gt/WCSmw1GSXMdwr4k4D7oxDQtyLQ4VKqizqrsxRf2
RfCvinTSLsNhH86n55wf5zkHND7NOv1cc1cxdgRjhycfZuvbU/abzMZ35PRzpHf17kvRfC3Vuuyth4nV
d9dAo59deXtjc78YxVR7wVWfTwVHy1s/q+7H/HL3QqN33XiVXu1lwINvJSwmt3/bg0EABhVFFY5Z+5Ld
+IGCo/qTX7UiP1EOzteesbqQArrAmLZZEJk4UBQnlroXNZEx38+oErN++4oqJXSBoQgO2icaAiOV4Dnb
NKgGW0ZeE1ND4O/cvxVFLuaL/GRD46g67WjSrrc4BhjpkTlHMXxqZsZEGjneouRXZ9pEAZ+9JYph36vH
200EH5P5uEMx3CILgXUThJbs3LnkaPD/G06M0JJbtqKnU3H31CWnrzoGVuYphod++dAvu5gbC+RcDO+h
6RbJhyS35+lnrIobjsohKdkhMkVsaM+1iXLgVSiG99XLccDF8Ktf2fdKoKmyAcm7mF/HsCAkXCS0LaVl
yy6KZYuiPa8SEqVNZBBYiovZgjB54Jcp4nQhSRHU0wzFx38bimLYsbIdIv8BV2eg6gZvK4UAAAAASUVO
RK5CYII=
</value>
</data>
<data name="cloneToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
@@ -356,10 +215,9 @@
<data name="deleteToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAACESURBVDhPlY0B
DoAgDAP3Dj7r09WTkqGUgJfUxtrOmHFEnL0U76FBqW8PZXmk/9uONEsIb3gsNRzoL/+R5hWC759mGsbQ
DnzdZbhmiSvhLsM1S1wJdxmuWeJKuMtwzRJXwl2Ga5a4Eu4yXLPElXCX4Zol/WCl6YGdI62n2Zv2cSXV
byIunLh7mD2ySLcAAAAASUVORK5CYII=
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABUSURBVDhP7Y1B
CgAgCAR9h5/t6UaSIGumxw4Jk6DtSJTUIBIP7q+1A+xGXErwYgXmVSAi6ykJArR3CRK8lBHCXoD9NPuC
5wUdUkFHYv8wr2XLCp+ZnLh7mCW3DEkAAAAASUVORK5CYII=
</value>
</data>
<data name="deleteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
@@ -371,14 +229,13 @@
<data name="generateUvTextureToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAFhSURBVFhH7ZY/
S8RAEMXHW23zDexFkNSSTyDYijZyYq2V4BWBmPZaK7/B1fZiK1iIrRxod4r/Gq38N+7L7B5LyFllVuF8
8Mhm55HfZJZAaBq1Zs2yjKx5C+7OiLF223EEYM+CeVaMJlxJXdt1ONZRJuBH/mHo1sPfDY2iwcO39naj
35CUkibBo4z+H/6n4EcdetSGzwHQ79BLHf5q6EYbvgTAmaFhHQ67zy2TaPvaAdy+5XUTHMexSHTpsq1r
APinoftJcFv/ctnWdW7Nb4ZOf4CrnTsezHmenywkCSbwEBMOcVmWlYuiGIVNRIHDvoGwCe2fiwrsHTYA
p2nqayri7mrKe5vLT7jiPoRnWcaJnYBE2xcPj3ev+OKAvQf99Tvs16wi7m1lY3Bo1CSiq0Y4jJpEdNUI
h1GTiK4EWGsEx4KaRPQkYO9fgzvw4f7KM/adVVVBxg24e+eOdTSF4GkQ0TdijaTdIsIqEQAAAABJRU5E
rkJggg==
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAFSSURBVFhH7Za9
SsRAFIXPZrSdN9heBEkt8wSCrWgjK9ZaCW4RiGm3tfINtrYXW8FCbGVBu1X8a9zKvys32ZHhqt3cUYgH
DgmZufnO3ElIgBZqBQDJi0nUBajXacznclxVDOx3QDTTmEPIOVralHA+T9IB3/JXg2sPfzEYJ4OHqxat
X5Pzo+oneJLW/8P/FPwgw702fJYBgwxPEj4xuNKGLzDgxGAk4ezp6+ZkUSxtMXxicCnBbN6OeeBcFsXS
kOFvBrcS7OFd4F0WxdIpf0qfDY4lOICr7TvfmIqiOJqzljtwlxLOoqqqapdlOQ5DJIGHAcIQ2j8XNfi7
AOw8z/2Yiqi3nNPO+uIDH2UA5xxZa/Xgo8PtCzrbI+/hYPVGdkQWxRL1N9wnOLQmNNQXcEsDiCC8LSkC
NGDvX4NPwfu7S4/aT7xXDQlXH4AzOVlTIbgd+gBijaTdhfUeOAAAAABJRU5ErkJggg==
</value>
</data>
<data name="generateUvTextureToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
@@ -400,10 +257,10 @@
<value>Bottom, Right</value>
</data>
<data name="buttonDone.Location" type="System.Drawing.Point, System.Drawing">
<value>627, 553</value>
<value>3, 477</value>
</data>
<data name="buttonDone.Size" type="System.Drawing.Size, System.Drawing">
<value>250, 21</value>
<value>184, 117</value>
</data>
<data name="buttonDone.TabIndex" type="System.Int32, mscorlib">
<value>111</value>
@@ -427,10 +284,10 @@
<value>Bottom, Left</value>
</data>
<data name="importSkinButton.Location" type="System.Drawing.Point, System.Drawing">
<value>27, 553</value>
<value>3, 396</value>
</data>
<data name="importSkinButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 21</value>
<value>91, 21</value>
</data>
<data name="importSkinButton.TabIndex" type="System.Int32, mscorlib">
<value>96</value>
@@ -454,10 +311,10 @@
<value>Bottom, Left</value>
</data>
<data name="exportSkinButton.Location" type="System.Drawing.Point, System.Drawing">
<value>105, 553</value>
<value>97, 396</value>
</data>
<data name="exportSkinButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 21</value>
<value>90, 21</value>
</data>
<data name="exportSkinButton.TabIndex" type="System.Int32, mscorlib">
<value>97</value>
@@ -481,7 +338,7 @@
<value>Left</value>
</data>
<data name="outlineColorButton.Location" type="System.Drawing.Point, System.Drawing">
<value>19, 429</value>
<value>19, 327</value>
</data>
<data name="outlineColorButton.Size" type="System.Drawing.Size, System.Drawing">
<value>161, 21</value>
@@ -505,7 +362,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;outlineColorButton.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<data name="generateTextureCheckBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
@@ -514,7 +371,7 @@
<value>True</value>
</data>
<data name="generateTextureCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 399</value>
<value>23, 276</value>
</data>
<data name="generateTextureCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>140, 15</value>
@@ -535,7 +392,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;generateTextureCheckBox.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="showArmorCheckbox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
@@ -544,7 +401,7 @@
<value>True</value>
</data>
<data name="showArmorCheckbox.Location" type="System.Drawing.Point, System.Drawing">
<value>23, 532</value>
<value>49, 375</value>
</data>
<data name="showArmorCheckbox.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 15</value>
@@ -565,7 +422,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;showArmorCheckbox.ZOrder" xml:space="preserve">
<value>8</value>
<value>9</value>
</data>
<data name="skinPartListBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
@@ -574,7 +431,7 @@
<value>0, 0</value>
</data>
<data name="skinPartListBox.Size" type="System.Drawing.Size, System.Drawing">
<value>242, 446</value>
<value>532, 353</value>
</data>
<data name="skinPartListBox.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -595,16 +452,16 @@
<value>Bottom, Right</value>
</data>
<data name="captureScreenshotButton.Location" type="System.Drawing.Point, System.Drawing">
<value>510, 553</value>
<value>97, 450</value>
</data>
<data name="captureScreenshotButton.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 21</value>
<value>90, 21</value>
</data>
<data name="captureScreenshotButton.TabIndex" type="System.Int32, mscorlib">
<value>163</value>
</data>
<data name="captureScreenshotButton.Text" xml:space="preserve">
<value>Capture Screenshot</value>
<value>Screenshot</value>
</data>
<data name="&gt;&gt;captureScreenshotButton.Name" xml:space="preserve">
<value>captureScreenshotButton</value>
@@ -625,10 +482,10 @@
<value>True</value>
</data>
<data name="showToolsCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>23, 511</value>
<value>49, 354</value>
</data>
<data name="showToolsCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>82, 15</value>
<value>83, 15</value>
</data>
<data name="showToolsCheckBox.TabIndex" type="System.Int32, mscorlib">
<value>164</value>
@@ -646,7 +503,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;showToolsCheckBox.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="skinNameLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -685,7 +542,7 @@
<value>4, 38</value>
</data>
<data name="skinPartsTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>242, 446</value>
<value>532, 353</value>
</data>
<data name="skinPartsTabPage.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -736,7 +593,7 @@
<value>0, 0</value>
</data>
<data name="offsetListBox.Size" type="System.Drawing.Size, System.Drawing">
<value>242, 446</value>
<value>532, 302</value>
</data>
<data name="offsetListBox.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -757,7 +614,7 @@
<value>4, 38</value>
</data>
<data name="skinOffsetsTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>242, 446</value>
<value>532, 302</value>
</data>
<data name="skinOffsetsTabPage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -781,7 +638,7 @@
<value>627, 59</value>
</data>
<data name="metroTabControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>250, 488</value>
<value>540, 395</value>
</data>
<data name="metroTabControl1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -796,7 +653,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;metroTabControl1.ZOrder" xml:space="preserve">
<value>15</value>
<value>2</value>
</data>
<data name="renderer3D1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
@@ -805,7 +662,7 @@
<value>190, 59</value>
</data>
<data name="renderer3D1.Size" type="System.Drawing.Size, System.Drawing">
<value>431, 484</value>
<value>431, 535</value>
</data>
<data name="renderer3D1.TabIndex" type="System.Int32, mscorlib">
<value>167</value>
@@ -814,7 +671,7 @@
<value>renderer3D1</value>
</data>
<data name="&gt;&gt;renderer3D1.Type" xml:space="preserve">
<value>PckStudio.Rendering.SkinRenderer, PCK-Studio, Version=7.0.0.2, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.Rendering.SkinRenderer, PCK-Studio, Version=7.0.1.2, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;renderer3D1.Parent" xml:space="preserve">
<value>$this</value>
@@ -847,13 +704,13 @@
<value>uvPictureBox</value>
</data>
<data name="&gt;&gt;uvPictureBox.Type" xml:space="preserve">
<value>PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.2, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.1.2, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;uvPictureBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;uvPictureBox.ZOrder" xml:space="preserve">
<value>11</value>
<value>12</value>
</data>
<data name="centerSelectionCheckbox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
@@ -862,7 +719,7 @@
<value>True</value>
</data>
<data name="centerSelectionCheckbox.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 465</value>
<value>23, 297</value>
</data>
<data name="centerSelectionCheckbox.Size" type="System.Drawing.Size, System.Drawing">
<value>108, 15</value>
@@ -883,7 +740,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;centerSelectionCheckbox.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="textureSizeLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
@@ -916,16 +773,16 @@
<value>$this</value>
</data>
<data name="&gt;&gt;textureSizeLabel.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="renderSettingsButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="renderSettingsButton.Location" type="System.Drawing.Point, System.Drawing">
<value>290, 553</value>
<value>97, 423</value>
</data>
<data name="renderSettingsButton.Size" type="System.Drawing.Size, System.Drawing">
<value>94, 21</value>
<value>90, 21</value>
</data>
<data name="renderSettingsButton.TabIndex" type="System.Int32, mscorlib">
<value>175</value>
@@ -943,16 +800,16 @@
<value>$this</value>
</data>
<data name="&gt;&gt;renderSettingsButton.ZOrder" xml:space="preserve">
<value>14</value>
<value>15</value>
</data>
<data name="exportTemplateButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="exportTemplateButton.Location" type="System.Drawing.Point, System.Drawing">
<value>190, 553</value>
<value>3, 423</value>
</data>
<data name="exportTemplateButton.Size" type="System.Drawing.Size, System.Drawing">
<value>94, 21</value>
<value>91, 21</value>
</data>
<data name="exportTemplateButton.TabIndex" type="System.Int32, mscorlib">
<value>176</value>
@@ -970,22 +827,22 @@
<value>$this</value>
</data>
<data name="&gt;&gt;exportTemplateButton.ZOrder" xml:space="preserve">
<value>13</value>
<value>14</value>
</data>
<data name="animEditorButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="animEditorButton.Location" type="System.Drawing.Point, System.Drawing">
<value>390, 553</value>
<value>3, 450</value>
</data>
<data name="animEditorButton.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 21</value>
<value>91, 21</value>
</data>
<data name="animEditorButton.TabIndex" type="System.Int32, mscorlib">
<value>177</value>
</data>
<data name="animEditorButton.Text" xml:space="preserve">
<value>Open anim editor</value>
<value>Edit Skin Flags</value>
</data>
<data name="&gt;&gt;animEditorButton.Name" xml:space="preserve">
<value>animEditorButton</value>
@@ -997,7 +854,28 @@
<value>$this</value>
</data>
<data name="&gt;&gt;animEditorButton.ZOrder" xml:space="preserve">
<value>12</value>
<value>13</value>
</data>
<data name="boxEditorControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>636, 405</value>
</data>
<data name="boxEditorControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>523, 192</value>
</data>
<data name="boxEditorControl1.TabIndex" type="System.Int32, mscorlib">
<value>178</value>
</data>
<data name="&gt;&gt;boxEditorControl1.Name" xml:space="preserve">
<value>boxEditorControl1</value>
</data>
<data name="&gt;&gt;boxEditorControl1.Type" xml:space="preserve">
<value>PckStudio.Controls.BoxEditorControl, PCK-Studio, Version=7.0.1.2, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;boxEditorControl1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;boxEditorControl1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@@ -1009,7 +887,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>900, 600</value>
<value>1200, 600</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -3566,6 +3444,6 @@
<value>CustomSkinEditor</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>PckStudio.Internal.EditorForm`1[[PckStudio.Internal.Skin.Skin, PCK-Studio, Version=7.0.0.2, Culture=neutral, PublicKeyToken=null]], PCK-Studio, Version=7.0.0.2, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.Controls.EditorForm`1[[PckStudio.Core.Skin.Skin, PckStudio.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], PCK-Studio, Version=7.0.1.2, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>