diff --git a/.vs/Switch_Toolbox/v15/.suo b/.vs/Switch_Toolbox/v15/.suo
index 5f619942..c8f412e6 100644
Binary files a/.vs/Switch_Toolbox/v15/.suo and b/.vs/Switch_Toolbox/v15/.suo differ
diff --git a/.vs/Switch_Toolbox/v15/Server/sqlite3/storage.ide b/.vs/Switch_Toolbox/v15/Server/sqlite3/storage.ide
index 33524d75..c0f115b9 100644
Binary files a/.vs/Switch_Toolbox/v15/Server/sqlite3/storage.ide and b/.vs/Switch_Toolbox/v15/Server/sqlite3/storage.ide differ
diff --git a/.vs/Switch_Toolbox/v15/Server/sqlite3/storage.ide-wal b/.vs/Switch_Toolbox/v15/Server/sqlite3/storage.ide-wal
index e4128e78..1c157550 100644
Binary files a/.vs/Switch_Toolbox/v15/Server/sqlite3/storage.ide-wal and b/.vs/Switch_Toolbox/v15/Server/sqlite3/storage.ide-wal differ
diff --git a/Switch_FileFormatsMain/obj/Release/DesignTimeResolveAssemblyReferences.cache b/Switch_FileFormatsMain/obj/Release/DesignTimeResolveAssemblyReferences.cache
index 02789495..06a4bf54 100644
Binary files a/Switch_FileFormatsMain/obj/Release/DesignTimeResolveAssemblyReferences.cache and b/Switch_FileFormatsMain/obj/Release/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/Switch_FileFormatsMain/obj/Release/Switch_FileFormatsMain.csprojAssemblyReference.cache b/Switch_FileFormatsMain/obj/Release/Switch_FileFormatsMain.csprojAssemblyReference.cache
index 28555a6c..2dbecbab 100644
Binary files a/Switch_FileFormatsMain/obj/Release/Switch_FileFormatsMain.csprojAssemblyReference.cache and b/Switch_FileFormatsMain/obj/Release/Switch_FileFormatsMain.csprojAssemblyReference.cache differ
diff --git a/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.Designer.cs b/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.Designer.cs
new file mode 100644
index 00000000..a992796c
--- /dev/null
+++ b/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.Designer.cs
@@ -0,0 +1,111 @@
+namespace Switch_Toolbox.Library.Forms
+{
+ partial class ImageProgramSettings
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.stLabel1 = new Switch_Toolbox.Library.Forms.STLabel();
+ this.textureImageFormatCB = new Switch_Toolbox.Library.Forms.STComboBox();
+ this.textureFileFormatCB = new Switch_Toolbox.Library.Forms.STComboBox();
+ this.stLabel2 = new Switch_Toolbox.Library.Forms.STLabel();
+ this.contentContainer.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // contentContainer
+ //
+ this.contentContainer.Controls.Add(this.textureFileFormatCB);
+ this.contentContainer.Controls.Add(this.stLabel2);
+ this.contentContainer.Controls.Add(this.textureImageFormatCB);
+ this.contentContainer.Controls.Add(this.stLabel1);
+ this.contentContainer.Controls.SetChildIndex(this.stLabel1, 0);
+ this.contentContainer.Controls.SetChildIndex(this.textureImageFormatCB, 0);
+ this.contentContainer.Controls.SetChildIndex(this.stLabel2, 0);
+ this.contentContainer.Controls.SetChildIndex(this.textureFileFormatCB, 0);
+ //
+ // stLabel1
+ //
+ this.stLabel1.AutoSize = true;
+ this.stLabel1.Location = new System.Drawing.Point(20, 67);
+ this.stLabel1.Name = "stLabel1";
+ this.stLabel1.Size = new System.Drawing.Size(121, 13);
+ this.stLabel1.TabIndex = 11;
+ this.stLabel1.Text = "Format to save back as:";
+ //
+ // textureImageFormatCB
+ //
+ this.textureImageFormatCB.BorderColor = System.Drawing.Color.Empty;
+ this.textureImageFormatCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
+ this.textureImageFormatCB.ButtonColor = System.Drawing.Color.Empty;
+ this.textureImageFormatCB.FormattingEnabled = true;
+ this.textureImageFormatCB.Location = new System.Drawing.Point(148, 64);
+ this.textureImageFormatCB.Name = "textureImageFormatCB";
+ this.textureImageFormatCB.ReadOnly = true;
+ this.textureImageFormatCB.Size = new System.Drawing.Size(236, 21);
+ this.textureImageFormatCB.TabIndex = 12;
+ //
+ // textureFileFormatCB
+ //
+ this.textureFileFormatCB.BorderColor = System.Drawing.Color.Empty;
+ this.textureFileFormatCB.BorderStyle = System.Windows.Forms.ButtonBorderStyle.Solid;
+ this.textureFileFormatCB.ButtonColor = System.Drawing.Color.Empty;
+ this.textureFileFormatCB.FormattingEnabled = true;
+ this.textureFileFormatCB.Location = new System.Drawing.Point(147, 38);
+ this.textureFileFormatCB.Name = "textureFileFormatCB";
+ this.textureFileFormatCB.ReadOnly = true;
+ this.textureFileFormatCB.Size = new System.Drawing.Size(236, 21);
+ this.textureFileFormatCB.TabIndex = 14;
+ //
+ // stLabel2
+ //
+ this.stLabel2.AutoSize = true;
+ this.stLabel2.Location = new System.Drawing.Point(20, 41);
+ this.stLabel2.Name = "stLabel2";
+ this.stLabel2.Size = new System.Drawing.Size(61, 13);
+ this.stLabel2.TabIndex = 13;
+ this.stLabel2.Text = "File Format:";
+ //
+ // ImageProgramSettings
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(549, 398);
+ this.Name = "ImageProgramSettings";
+ this.Text = "ImageProgramSettings";
+ this.contentContainer.ResumeLayout(false);
+ this.contentContainer.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private STLabel stLabel1;
+ private STComboBox textureImageFormatCB;
+ private STComboBox textureFileFormatCB;
+ private STLabel stLabel2;
+ }
+}
\ No newline at end of file
diff --git a/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.cs b/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.cs
new file mode 100644
index 00000000..c828f7ae
--- /dev/null
+++ b/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Switch_Toolbox.Library.Forms
+{
+ public partial class ImageProgramSettings : STForm
+ {
+ public ImageProgramSettings()
+ {
+ InitializeComponent();
+
+ CanResize = false;
+ }
+
+ public void LoadImage(STGenericTexture texture)
+ {
+ foreach (var format in texture.SupportedFormats)
+ {
+ textureImageFormatCB.Items.Add(format);
+ }
+
+ textureImageFormatCB.SelectedItem = texture.Format;
+ }
+ }
+}
diff --git a/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.resx b/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.resx
new file mode 100644
index 00000000..1af7de15
--- /dev/null
+++ b/Switch_Toolbox_Library/Forms/Editors/ImageEditor/ImageProgramSettings.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Switch_Toolbox_Library/Switch_Toolbox_Library.csproj b/Switch_Toolbox_Library/Switch_Toolbox_Library.csproj
index b9b4d6a7..f1d3e8e2 100644
--- a/Switch_Toolbox_Library/Switch_Toolbox_Library.csproj
+++ b/Switch_Toolbox_Library/Switch_Toolbox_Library.csproj
@@ -334,6 +334,12 @@
SearchHex.cs
+
+ Form
+
+
+ ImageProgramSettings.cs
+
UserControl
@@ -668,6 +674,9 @@
SearchHex.cs
+
+ ImageProgramSettings.cs
+
ImagePropertiesEditor.cs
diff --git a/Toolbox/Lib/KCLExt.dll b/Toolbox/Lib/KCLExt.dll
index 95a5cc5e..e5d8d17b 100644
Binary files a/Toolbox/Lib/KCLExt.dll and b/Toolbox/Lib/KCLExt.dll differ
diff --git a/Toolbox/Lib/KCLExt.pdb b/Toolbox/Lib/KCLExt.pdb
index 5edfa81c..502eb489 100644
Binary files a/Toolbox/Lib/KCLExt.pdb and b/Toolbox/Lib/KCLExt.pdb differ