YtdForm improvements

This commit is contained in:
dexyfex 2018-01-12 21:38:49 +11:00
parent 8d30a1ff77
commit 947611765e
3 changed files with 323 additions and 21 deletions

View File

@ -31,6 +31,7 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(YtdForm));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.FileMenu = new System.Windows.Forms.ToolStripMenuItem();
this.FileSaveAllMenu = new System.Windows.Forms.ToolStripMenuItem();
this.EditMenu = new System.Windows.Forms.ToolStripMenuItem();
this.ViewMenu = new System.Windows.Forms.ToolStripMenuItem();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
@ -47,13 +48,21 @@
this.SelTextureNameTextBox = new System.Windows.Forms.TextBox();
this.TextureTabControl = new System.Windows.Forms.TabControl();
this.TextureTabPage = new System.Windows.Forms.TabPage();
this.label1 = new System.Windows.Forms.Label();
this.SelTextureZoomCombo = new System.Windows.Forms.ComboBox();
this.SelTexturePanel = new System.Windows.Forms.Panel();
this.SelTexturePictureBox = new System.Windows.Forms.PictureBox();
this.SelTextureMipLabel = new System.Windows.Forms.Label();
this.SelTextureDimensionsLabel = new System.Windows.Forms.Label();
this.SelTextureMipTrackBar = new System.Windows.Forms.TrackBar();
this.label4 = new System.Windows.Forms.Label();
this.SelTexturePictureBox = new System.Windows.Forms.PictureBox();
this.DetailsTabPage = new System.Windows.Forms.TabPage();
this.DetailsPropertyGrid = new CodeWalker.WinForms.PropertyGridFix();
this.SaveFileDialog = new System.Windows.Forms.SaveFileDialog();
this.FolderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
this.FileSaveAsMenu = new System.Windows.Forms.ToolStripMenuItem();
this.ToolbarSaveAsMenu = new System.Windows.Forms.ToolStripMenuItem();
this.ToolbarSaveAllMenu = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.MainToolbar.SuspendLayout();
@ -63,8 +72,9 @@
this.MainSplitContainer.SuspendLayout();
this.TextureTabControl.SuspendLayout();
this.TextureTabPage.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.SelTextureMipTrackBar)).BeginInit();
this.SelTexturePanel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.SelTexturePictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.SelTextureMipTrackBar)).BeginInit();
this.DetailsTabPage.SuspendLayout();
this.SuspendLayout();
//
@ -82,11 +92,23 @@
//
// FileMenu
//
this.FileMenu.Enabled = false;
this.FileMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.FileSaveAsMenu,
this.FileSaveAllMenu});
this.FileMenu.Name = "FileMenu";
this.FileMenu.Size = new System.Drawing.Size(37, 20);
this.FileMenu.Text = "File";
//
// FileSaveAllMenu
//
this.FileSaveAllMenu.Image = ((System.Drawing.Image)(resources.GetObject("FileSaveAllMenu.Image")));
this.FileSaveAllMenu.Name = "FileSaveAllMenu";
this.FileSaveAllMenu.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.S)));
this.FileSaveAllMenu.Size = new System.Drawing.Size(196, 22);
this.FileSaveAllMenu.Text = "Save All...";
this.FileSaveAllMenu.Click += new System.EventHandler(this.FileSaveAllMenu_Click);
//
// EditMenu
//
this.EditMenu.Enabled = false;
@ -136,12 +158,15 @@
// SaveButton
//
this.SaveButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.SaveButton.Enabled = false;
this.SaveButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolbarSaveAsMenu,
this.ToolbarSaveAllMenu});
this.SaveButton.Image = ((System.Drawing.Image)(resources.GetObject("SaveButton.Image")));
this.SaveButton.ImageTransparentColor = System.Drawing.Color.Magenta;
this.SaveButton.Name = "SaveButton";
this.SaveButton.Size = new System.Drawing.Size(32, 22);
this.SaveButton.Text = "Save YTD...";
this.SaveButton.ButtonClick += new System.EventHandler(this.SaveButton_ButtonClick);
//
// MainToolbar
//
@ -241,11 +266,13 @@
//
// TextureTabPage
//
this.TextureTabPage.Controls.Add(this.label1);
this.TextureTabPage.Controls.Add(this.SelTextureZoomCombo);
this.TextureTabPage.Controls.Add(this.SelTexturePanel);
this.TextureTabPage.Controls.Add(this.SelTextureMipLabel);
this.TextureTabPage.Controls.Add(this.SelTextureDimensionsLabel);
this.TextureTabPage.Controls.Add(this.SelTextureMipTrackBar);
this.TextureTabPage.Controls.Add(this.label4);
this.TextureTabPage.Controls.Add(this.SelTexturePictureBox);
this.TextureTabPage.Location = new System.Drawing.Point(4, 22);
this.TextureTabPage.Name = "TextureTabPage";
this.TextureTabPage.Padding = new System.Windows.Forms.Padding(3);
@ -254,6 +281,57 @@
this.TextureTabPage.Text = "Texture";
this.TextureTabPage.UseVisualStyleBackColor = true;
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(452, 426);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(37, 13);
this.label1.TabIndex = 54;
this.label1.Text = "Zoom:";
//
// SelTextureZoomCombo
//
this.SelTextureZoomCombo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.SelTextureZoomCombo.FormattingEnabled = true;
this.SelTextureZoomCombo.Items.AddRange(new object[] {
"Fill",
"100%",
"200%"});
this.SelTextureZoomCombo.Location = new System.Drawing.Point(495, 423);
this.SelTextureZoomCombo.Name = "SelTextureZoomCombo";
this.SelTextureZoomCombo.Size = new System.Drawing.Size(69, 21);
this.SelTextureZoomCombo.TabIndex = 53;
this.SelTextureZoomCombo.Text = "Fill";
this.SelTextureZoomCombo.TextChanged += new System.EventHandler(this.SelTextureZoomCombo_TextChanged);
//
// SelTexturePanel
//
this.SelTexturePanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.SelTexturePanel.AutoScroll = true;
this.SelTexturePanel.BackColor = System.Drawing.Color.DarkGray;
this.SelTexturePanel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("SelTexturePanel.BackgroundImage")));
this.SelTexturePanel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.SelTexturePanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.SelTexturePanel.Controls.Add(this.SelTexturePictureBox);
this.SelTexturePanel.Location = new System.Drawing.Point(6, 6);
this.SelTexturePanel.Name = "SelTexturePanel";
this.SelTexturePanel.Size = new System.Drawing.Size(559, 408);
this.SelTexturePanel.TabIndex = 52;
//
// SelTexturePictureBox
//
this.SelTexturePictureBox.BackColor = System.Drawing.Color.Transparent;
this.SelTexturePictureBox.Location = new System.Drawing.Point(0, 0);
this.SelTexturePictureBox.Name = "SelTexturePictureBox";
this.SelTexturePictureBox.Size = new System.Drawing.Size(133, 96);
this.SelTexturePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.SelTexturePictureBox.TabIndex = 45;
this.SelTexturePictureBox.TabStop = false;
//
// SelTextureMipLabel
//
this.SelTextureMipLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
@ -298,20 +376,6 @@
this.label4.TabIndex = 47;
this.label4.Text = "Mip:";
//
// SelTexturePictureBox
//
this.SelTexturePictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.SelTexturePictureBox.BackColor = System.Drawing.Color.DarkGray;
this.SelTexturePictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.SelTexturePictureBox.Location = new System.Drawing.Point(6, 6);
this.SelTexturePictureBox.Name = "SelTexturePictureBox";
this.SelTexturePictureBox.Size = new System.Drawing.Size(558, 408);
this.SelTexturePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.SelTexturePictureBox.TabIndex = 45;
this.SelTexturePictureBox.TabStop = false;
//
// DetailsTabPage
//
this.DetailsTabPage.Controls.Add(this.DetailsPropertyGrid);
@ -334,6 +398,35 @@
this.DetailsPropertyGrid.Size = new System.Drawing.Size(558, 445);
this.DetailsPropertyGrid.TabIndex = 0;
//
// SaveFileDialog
//
this.SaveFileDialog.Filter = "DDS files|*.dds|All files|*.*";
//
// FileSaveAsMenu
//
this.FileSaveAsMenu.Image = ((System.Drawing.Image)(resources.GetObject("FileSaveAsMenu.Image")));
this.FileSaveAsMenu.Name = "FileSaveAsMenu";
this.FileSaveAsMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
this.FileSaveAsMenu.Size = new System.Drawing.Size(196, 22);
this.FileSaveAsMenu.Text = "Save As...";
this.FileSaveAsMenu.Click += new System.EventHandler(this.FileSaveAsMenu_Click);
//
// ToolbarSaveAsMenu
//
this.ToolbarSaveAsMenu.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSaveAsMenu.Image")));
this.ToolbarSaveAsMenu.Name = "ToolbarSaveAsMenu";
this.ToolbarSaveAsMenu.Size = new System.Drawing.Size(152, 22);
this.ToolbarSaveAsMenu.Text = "Save as...";
this.ToolbarSaveAsMenu.Click += new System.EventHandler(this.ToolbarSaveAsMenu_Click);
//
// ToolbarSaveAllMenu
//
this.ToolbarSaveAllMenu.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSaveAllMenu.Image")));
this.ToolbarSaveAllMenu.Name = "ToolbarSaveAllMenu";
this.ToolbarSaveAllMenu.Size = new System.Drawing.Size(152, 22);
this.ToolbarSaveAllMenu.Text = "Save All...";
this.ToolbarSaveAllMenu.Click += new System.EventHandler(this.ToolbarSaveAllMenu_Click);
//
// YtdForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -361,8 +454,10 @@
this.TextureTabControl.ResumeLayout(false);
this.TextureTabPage.ResumeLayout(false);
this.TextureTabPage.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.SelTextureMipTrackBar)).EndInit();
this.SelTexturePanel.ResumeLayout(false);
this.SelTexturePanel.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.SelTexturePictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.SelTextureMipTrackBar)).EndInit();
this.DetailsTabPage.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@ -396,5 +491,14 @@
private System.Windows.Forms.ListView TexturesListView;
private System.Windows.Forms.ColumnHeader TextureNameColumnHeader;
private System.Windows.Forms.ColumnHeader TextureSizeColumnHeader;
private System.Windows.Forms.Panel SelTexturePanel;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox SelTextureZoomCombo;
private System.Windows.Forms.ToolStripMenuItem FileSaveAllMenu;
private System.Windows.Forms.SaveFileDialog SaveFileDialog;
private System.Windows.Forms.FolderBrowserDialog FolderBrowserDialog;
private System.Windows.Forms.ToolStripMenuItem FileSaveAsMenu;
private System.Windows.Forms.ToolStripMenuItem ToolbarSaveAsMenu;
private System.Windows.Forms.ToolStripMenuItem ToolbarSaveAllMenu;
}
}

View File

@ -6,6 +6,7 @@ using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
@ -19,6 +20,9 @@ namespace CodeWalker.Forms
private string fileName;
private YtdFile Ytd { get; set; }
private TextureDictionary TexDict { get; set; }
private Texture CurrentTexture = null;
private float CurrentZoom = 0.0f; //1.0 = 100%, 0.0 = stretch
public YtdForm()
{
@ -90,6 +94,9 @@ namespace CodeWalker.Forms
private void ShowTextureMip(Texture tex, int mip, bool mipchange)
{
CurrentTexture = tex;
UpdateSaveAs();
if (tex == null)
{
SelTexturePictureBox.Image = null;
@ -157,6 +164,7 @@ namespace CodeWalker.Forms
SelTexturePictureBox.Image = null;
}
UpdateZoom();
}
@ -171,6 +179,92 @@ namespace CodeWalker.Forms
StatusLabel.Text = text;
}
private void UpdateZoom()
{
//update the image controls for the current zoom level
var img = SelTexturePictureBox.Image;
if (CurrentZoom <= 0.0f)
{
//stretch image to fit the area available.
SelTexturePanel.AutoScroll = false;
SelTexturePictureBox.SizeMode = PictureBoxSizeMode.Zoom;
SelTexturePictureBox.Width = SelTexturePanel.Width - 2;
SelTexturePictureBox.Height = SelTexturePanel.Height - 2;
SelTexturePictureBox.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
}
else
{
//zoom to the given pixel ratio...
var w = (int)(img.Width * CurrentZoom);
var h = (int)(img.Height * CurrentZoom);
SelTexturePictureBox.Anchor = AnchorStyles.Top | AnchorStyles.Left;
SelTexturePictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
SelTexturePictureBox.Width = w;
SelTexturePictureBox.Height = h;
SelTexturePanel.AutoScroll = true;
}
}
private void UpdateSaveAs()
{
if (CurrentTexture == null)
{
FileSaveAsMenu.Text = "Save As...";
ToolbarSaveAsMenu.Text = "Save As...";
FileSaveAsMenu.Enabled = false;
ToolbarSaveAsMenu.Enabled = false;
}
else
{
string fname = CurrentTexture.Name + ".dds";
string sas = "Save " + fname + " As...";
FileSaveAsMenu.Text = sas;
ToolbarSaveAsMenu.Text = sas;
FileSaveAsMenu.Enabled = true;
ToolbarSaveAsMenu.Enabled = true;
}
}
private void SaveAs()
{
if (CurrentTexture == null) return;
string fname = CurrentTexture.Name + ".dds";
SaveFileDialog.FileName = fname;
if (SaveFileDialog.ShowDialog() != DialogResult.OK) return;
string fpath = SaveFileDialog.FileName;
byte[] dds = DDSIO.GetDDSFile(CurrentTexture);
File.WriteAllBytes(fpath, dds);
}
private void SaveAll()
{
if (TexDict?.Textures?.data_items == null) return;
if (FolderBrowserDialog.ShowDialog() != DialogResult.OK) return;
var folder = FolderBrowserDialog.SelectedPath;
foreach (var tex in TexDict.Textures.data_items)
{
byte[] dds = DDSIO.GetDDSFile(tex);
string bpath = folder + "\\" + tex.Name;
string fpath = bpath + ".dds";
int c = 1;
while (File.Exists(fpath))
{
fpath = bpath + "_Copy" + c.ToString() + ".dds";
c++;
}
File.WriteAllBytes(fpath, dds);
}
}
private void TexturesListView_SelectedIndexChanged(object sender, EventArgs e)
{
@ -192,5 +286,47 @@ namespace CodeWalker.Forms
SelTextureMipLabel.Text = SelTextureMipTrackBar.Value.ToString();
ShowTextureMip(tex, SelTextureMipTrackBar.Value, true);
}
private void SelTextureZoomCombo_TextChanged(object sender, EventArgs e)
{
string s = SelTextureZoomCombo.Text;
if (s.EndsWith("%")) s = s.Substring(0, s.Length - 1);
float f;
if (!float.TryParse(s, out f))
{
CurrentZoom = 0.0f;
}
else
{
CurrentZoom = Math.Min(Math.Max(f, 0.0f), 5000.0f) * 0.01f;
}
UpdateZoom();
}
private void FileSaveAllMenu_Click(object sender, EventArgs e)
{
SaveAll();
}
private void FileSaveAsMenu_Click(object sender, EventArgs e)
{
SaveAs();
}
private void SaveButton_ButtonClick(object sender, EventArgs e)
{
SaveAs();
}
private void ToolbarSaveAsMenu_Click(object sender, EventArgs e)
{
SaveAs();
}
private void ToolbarSaveAllMenu_Click(object sender, EventArgs e)
{
SaveAll();
}
}
}

View File

@ -120,10 +120,26 @@
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="FileSaveAsMenu.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABUSURBVDhPY/j//z9FGEx8+/btPwn4PRAbMAABigFOTk5w
/OH9RzhGFgPRbW1tcEPIMgCEYYaQbQAIg/QQZQAyRlZDWwOIwaMGDEoDyMFwA8jH/xkAuAOq5KQIy40A
AAAASUVORK5CYII=
</value>
</data>
<data name="FileSaveAllMenu.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHZJREFUOE/tkLENwCAMBBkpMzCcF2IwgmTRJnpiSyhgQ5EyLx128VzhYKXWejlk
Zj6kOg+KMcbGmUtDdyJaSzwBpkqkPmYm6EUAHamP6QUW3wjwWKSUph8VdNxj4VCeZCnA9CSmoBdp0WL/
WFZ+wSPYQeqvhHADNufwigti+3EAAAAASUVORK5CYII=
</value>
</data>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="NewButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@ -143,6 +159,22 @@
ajugDypMiBJQluU3f2DiZ+YmT3eANWIyIyKgFsv/AOs2k4wSgIXneRBFEaRpyhew10ZbwNb3fU1oYrPe
qAF5no/CMNSEJsbjiRqAty9JEk1ownEcNaA6BeK6riY2cdgf+SwC2Gf8BEGgCU2slis+iwB2mQZ4Ak3h
K0QAIeQTi/cp4B9tCZE2c6oRhQAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolbarSaveAsMenu.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABUSURBVDhPY/j//z9FGEx8+/btPwn4PRAbMAABigFOTk5w
/OH9RzhGFgPRbW1tcEPIMgCEYYaQbQAIg/QQZQAyRlZDWwOIwaMGDEoDyMFwA8jH/xkAuAOq5KQIy40A
AAAASUVORK5CYII=
</value>
</data>
<data name="ToolbarSaveAllMenu.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHZJREFUOE/tkLENwCAMBBkpMzCcF2IwgmTRJnpiSyhgQ5EyLx128VzhYKXWejlk
Zj6kOg+KMcbGmUtDdyJaSzwBpkqkPmYm6EUAHamP6QUW3wjwWKSUph8VdNxj4VCeZCnA9CSmoBdp0WL/
WFZ+wSPYQeqvhHADNufwigti+3EAAAAASUVORK5CYII=
</value>
</data>
<data name="SaveButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -156,6 +188,36 @@
<metadata name="MainToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>237, 17</value>
</metadata>
<data name="SelTexturePanel.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAAEAAAQACAIAAACvZKRoAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAQUSURBVFhHlYvZVipJEEXj/xcIoqLgBI6IIyoO4IB4
HQAVEdTf6XMiMqsSuui7+mGvvU9klfz+/soPoGN+7PZDrH9ws2+50bjrt7TrH36Lf8x/4dvzLd96g7HZ
32zdwU07vE9hNIJHMtL+lhFQ6w3ozazf8XvdCQzjHgYejob6pj0cgrCn8SVf9NeXoe3u8BduhHff0xjQ
A8fXQPcATXgbDHAD+uY6iU/6022YW2F/fhp8G7geo+9A9z+lr+5LPwTvfbzx7t8+/JvfH/7+oW903/cH
nMD7xztAv5vf39k0thJ2wFvYb/IGv/HmeOMtkZ65BxNu7TfpoXtowpvvXrcnXQd3t9fFrWu3sNUJdMwd
uNPpqHnT7nbQvHXkVf0qnVfbnddXu9G8qf+DF/PL64u8vADvRJ7l2ffzs22YhD3GU9hP8JM8wYTNm9/k
j/qPswf7z995jPwoj49TaNNtuC1t7Da6PdkBDw7thwfg7w/S5obtHtMirZZ1i7ulO3IS9/dyr7TMLeIa
3Pn3u7jv2Hd32A72BLfet8bd7a1repwb+uYGBjfWt/ANb2M0x2k2pancSHNsGw3SoBvSbDR009oB1wGN
69DXcn0dcqW+Uq4U2+gr22rHpXIpV5cErR5v2nNxMb4vucHFxYW+mT11dZ2u09ZKfYLzupzD53C9fo4G
546wyRl9JmeTnMWcRj6Vs1P2qWs4gRpd866pa9xobr15TgKfnMgJTGo19gTHvo/lGD7m1hs3OA45chzL
ETnyHCVySA4PIx+xD9nuTg5iHxwcAPjwINjT2d/fl4P9ce+7e0h1vwpXpVrFrtLW5mT2qnuyt0fQak/F
XNmTCtBdialMsluR3couDNTcAHsqO+ad3R1jZwc7bmU7Zht7W3sb7WDzTe3Zku0tY2tr2+GbJptRbzq2
NuFN3AG96fZGtDdkc8PtDbR720AbbFBml90tdhku0+VJSlGXSMlchsulku2oY9bXnUvr2uvavHMns0bW
1mR9jbY2wgarDvTq2qqsuq2tO2TFWLG9Qit2415Br+AbNVlekWXX9DK2Nr287G7wGEVZLloXHXovFqWI
u+GbDigUpVAsSAEu0p6CB++ul7yXvJekgFYX2Ev4Jr55FiMWZWkRt0UYvYheZAN94zdskHeOyJM8Oi95
dB6d1zb4xn/8jlgIvLCgLJB80BHzDtvzDu153AP8ppOYm5+T+Tkaew7tbgr2VHIkF9xyksPO4U7zzfe/
mDVmCTbJ5WaD+6ySc1b4XbhDsrOSnbhls1nAO53FN+bJjskYmaxkMhlA2z3jv9G7f0vqcWYiZpTMDO5g
ZsZa39D/j7Sk02lrOA1z+5va7TS/1e/jb5JJqVNwKoUNtHnndvdU8E0qxXdzmh3ZvXlSqX8AvThRdO5j
+6sAAAAASUVORK5CYII=
</value>
</data>
<metadata name="SaveFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>358, 17</value>
</metadata>
<metadata name="FolderBrowserDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>489, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAMAICAAAAAAGACoDAAANgAAABAQAAAAABgAaAMAAN4MAABAQAAAAAAYACgyAABGEAAAKAAAACAA