From fb7ac4c6650102d7f2bd5a0a7dd322ee9f4da7da Mon Sep 17 00:00:00 2001 From: Wizard Lizard Date: Thu, 13 Feb 2020 02:00:07 -0500 Subject: [PATCH] fix everything --- bC7totif/App.config | 8 +++- bC7totif/MainForm.Designer.cs | 44 +++++++++++------- bC7totif/MainForm.cs | 41 +++++++++++----- bC7totif/appSettings.Designer.cs | 7 ++- bC7totif/appSettings.settings | 4 +- bC7totif/bin/Debug/bulkTexConverter.exe | Bin 20480 -> 21504 bytes .../bin/Debug/bulkTexConverter.exe.config | 8 +++- bC7totif/bin/Release/bulkTexConverter.exe | Bin 20480 -> 20480 bytes .../bin/Release/bulkTexConverter.exe.config | 8 +++- 9 files changed, 81 insertions(+), 39 deletions(-) diff --git a/bC7totif/App.config b/bC7totif/App.config index 3646e38..4554b4a 100644 --- a/bC7totif/App.config +++ b/bC7totif/App.config @@ -1,6 +1,8 @@  + +
@@ -8,13 +10,15 @@ + + - C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers + C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Textures - C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineersModSDK\Tools\TexturePacking\Tools + diff --git a/bC7totif/MainForm.Designer.cs b/bC7totif/MainForm.Designer.cs index cb3e83a..2909d6a 100644 --- a/bC7totif/MainForm.Designer.cs +++ b/bC7totif/MainForm.Designer.cs @@ -52,6 +52,7 @@ private void InitializeComponent() this.btnRemove = new System.Windows.Forms.Button(); this.btnAdd = new System.Windows.Forms.Button(); this.lbStatus1 = new System.Windows.Forms.Label(); + this.resetSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); this.SuspendLayout(); // @@ -66,9 +67,9 @@ private void InitializeComponent() // // btnSelToolPath // - this.btnSelToolPath.Location = new System.Drawing.Point(227, 36); + this.btnSelToolPath.Location = new System.Drawing.Point(227, 39); this.btnSelToolPath.Name = "btnSelToolPath"; - this.btnSelToolPath.Size = new System.Drawing.Size(75, 23); + this.btnSelToolPath.Size = new System.Drawing.Size(75, 20); this.btnSelToolPath.TabIndex = 4; this.btnSelToolPath.Text = "Browse..."; this.btnSelToolPath.UseVisualStyleBackColor = true; @@ -80,13 +81,14 @@ private void InitializeComponent() this.lblToolPath1.ForeColor = System.Drawing.Color.Red; this.lblToolPath1.Location = new System.Drawing.Point(3, 24); this.lblToolPath1.Name = "lblToolPath1"; - this.lblToolPath1.Size = new System.Drawing.Size(53, 13); + this.lblToolPath1.Size = new System.Drawing.Size(97, 13); this.lblToolPath1.TabIndex = 6; - this.lblToolPath1.Text = "Tool Path"; + this.lblToolPath1.Text = "SEUT Tools Folder"; // // lbConsoleOutput // this.lbConsoleOutput.BackColor = System.Drawing.SystemColors.MenuText; + this.lbConsoleOutput.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbConsoleOutput.ForeColor = System.Drawing.Color.Lime; this.lbConsoleOutput.FormattingEnabled = true; this.lbConsoleOutput.Location = new System.Drawing.Point(6, 283); @@ -99,9 +101,9 @@ private void InitializeComponent() this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(7, 267); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(80, 13); + this.label2.Size = new System.Drawing.Size(84, 13); this.label2.TabIndex = 8; - this.label2.Text = "Console Output"; + this.label2.Text = "Console - Status"; // // tbOutputDir // @@ -126,7 +128,8 @@ private void InitializeComponent() // fileToolStripMenuItem // this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.loadPresetsToolStripMenuItem}); + this.loadPresetsToolStripMenuItem, + this.resetSettingsToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Text = "File"; @@ -142,7 +145,7 @@ private void InitializeComponent() // this.btnBrowseGameDir.Location = new System.Drawing.Point(227, 117); this.btnBrowseGameDir.Name = "btnBrowseGameDir"; - this.btnBrowseGameDir.Size = new System.Drawing.Size(75, 23); + this.btnBrowseGameDir.Size = new System.Drawing.Size(75, 20); this.btnBrowseGameDir.TabIndex = 11; this.btnBrowseGameDir.Text = "Browse..."; this.btnBrowseGameDir.UseVisualStyleBackColor = true; @@ -151,6 +154,7 @@ private void InitializeComponent() // btnConvert // this.btnConvert.Enabled = false; + this.btnConvert.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btnConvert.Location = new System.Drawing.Point(6, 488); this.btnConvert.Name = "btnConvert"; this.btnConvert.Size = new System.Drawing.Size(303, 60); @@ -165,9 +169,9 @@ private void InitializeComponent() this.lblOutputDir.ForeColor = System.Drawing.Color.Red; this.lblOutputDir.Location = new System.Drawing.Point(3, 62); this.lblOutputDir.Name = "lblOutputDir"; - this.lblOutputDir.Size = new System.Drawing.Size(84, 13); + this.lblOutputDir.Size = new System.Drawing.Size(112, 13); this.lblOutputDir.TabIndex = 13; - this.lblOutputDir.Text = "Output Directory"; + this.lblOutputDir.Text = "SEUT Textures Folder"; // // convertProgress // @@ -182,9 +186,9 @@ private void InitializeComponent() this.lblGameDirectory.ForeColor = System.Drawing.Color.Red; this.lblGameDirectory.Location = new System.Drawing.Point(3, 101); this.lblGameDirectory.Name = "lblGameDirectory"; - this.lblGameDirectory.Size = new System.Drawing.Size(80, 13); + this.lblGameDirectory.Size = new System.Drawing.Size(164, 13); this.lblGameDirectory.TabIndex = 15; - this.lblGameDirectory.Text = "Game Directory"; + this.lblGameDirectory.Text = "Space Engineers Textures Folder"; // // tbGameDirectory // @@ -197,9 +201,9 @@ private void InitializeComponent() // // btnBrowseOut // - this.btnBrowseOut.Location = new System.Drawing.Point(227, 76); + this.btnBrowseOut.Location = new System.Drawing.Point(227, 78); this.btnBrowseOut.Name = "btnBrowseOut"; - this.btnBrowseOut.Size = new System.Drawing.Size(75, 23); + this.btnBrowseOut.Size = new System.Drawing.Size(75, 20); this.btnBrowseOut.TabIndex = 17; this.btnBrowseOut.Text = "Browse..."; this.btnBrowseOut.UseVisualStyleBackColor = true; @@ -257,11 +261,18 @@ private void InitializeComponent() this.lbStatus1.TabIndex = 22; this.lbStatus1.Text = "lbStatus1"; // + // resetSettingsToolStripMenuItem + // + this.resetSettingsToolStripMenuItem.Name = "resetSettingsToolStripMenuItem"; + this.resetSettingsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.resetSettingsToolStripMenuItem.Text = "Reset Settings "; + this.resetSettingsToolStripMenuItem.Click += new System.EventHandler(this.resetSettingsToolStripMenuItem_Click); + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(317, 571); + this.ClientSize = new System.Drawing.Size(317, 554); this.Controls.Add(this.lbStatus1); this.Controls.Add(this.btnAdd); this.Controls.Add(this.btnRemove); @@ -283,7 +294,7 @@ private void InitializeComponent() this.Controls.Add(this.menuStrip1); this.MainMenuStrip = this.menuStrip1; this.Name = "MainForm"; - this.Text = "Bulk Texture Converter"; + this.Text = "SEUT - Texture Converter"; this.Load += new System.EventHandler(this.MainForm_Load); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); @@ -316,6 +327,7 @@ private void InitializeComponent() private System.Windows.Forms.Button btnAdd; private System.Windows.Forms.ToolStripMenuItem loadPresetsToolStripMenuItem; private System.Windows.Forms.Label lbStatus1; + private System.Windows.Forms.ToolStripMenuItem resetSettingsToolStripMenuItem; } } diff --git a/bC7totif/MainForm.cs b/bC7totif/MainForm.cs index 1040099..8f6bfd5 100644 --- a/bC7totif/MainForm.cs +++ b/bC7totif/MainForm.cs @@ -158,6 +158,18 @@ private void btnBrowseGameDir_Click(object sender, EventArgs e) } } + private void resetSettingsToolStripMenuItem_Click(object sender, EventArgs e) + { + appSettings.Default.Reset(); + tbToolPath.Text = ""; + tbOutputDir.Text = ""; + //tbGameDirectory.Text = ""; + tbToolPath.Text = appSettings.Default.toolPath; + tbOutputDir.Text = appSettings.Default.outDir; + tbGameDirectory.Text = appSettings.Default.gamePath; + //appSettings.Default.Save(); + } + private void tbToolPath_TextChanged(object sender, EventArgs e) { toolPath = tbToolPath.Text; @@ -172,6 +184,7 @@ private void tbOutputDir_TextChanged(object sender, EventArgs e) private void tbGameDirectory_TextChanged(object sender, EventArgs e) { + gamePath = tbGameDirectory.Text; updateSettings(); } @@ -212,7 +225,7 @@ public static void doConvertAll() busy = true; // I hate this - var moveDirs = new List { "Models", "Particles", "Voxels", "Sprites", "Miscellaneous", "Lights", "Logo", "GUI", "HUD", "Gizmo", "Decals", "Debug", "BackgroundCube", "FactionLogo", "SunGlare"}; + //var moveDirs = new List { "Models", "Particles", "Voxels", "Sprites", "Miscellaneous", "Lights", "Logo", "GUI", "HUD", "Gizmo", "Decals", "Debug", "BackgroundCube", "FactionLogo", "SunGlare"}; var count = 0; foreach (string obj in Items) { @@ -271,7 +284,8 @@ public static void doConvertAll() var currentFilePath = fileList[i]; var DirName = Path.GetDirectoryName(currentFilePath); var relDir = DirName.Replace(gamePath,""); - var destDir = "temp/" + relDir; + var destDir = outDir + relDir; + //var destDir = "temp/" + relDir; var convFileName = Path.GetFileName(currentFilePath); Directory.CreateDirectory(destDir); currentfiles = i; @@ -283,11 +297,9 @@ public static void doConvertAll() { newProcess.WaitForExit(); } - // Console.WriteLine(cmdArgs); - - // Sorry in advance } + /* foreach (string dir in moveDirs) { try @@ -297,17 +309,20 @@ public static void doConvertAll() } catch { - consoleBuffer.Enqueue("Did not move " + dir + " as it had no converted textures"); + consoleBuffer.Enqueue("Skipped moving " + dir + ", it may already exist"); } } - MessageBox.Show("Done"); + */ + + //Directory.Delete("temp"); + MessageBox.Show("Finished!", "Conversion completed", MessageBoxButtons.OK, MessageBoxIcon.Information); busy = false; } private void btnConvert_Click(object sender, EventArgs e) { -#if !DEBUG + if (!File.Exists(toolPath + "/texconv.exe")) { MessageBox.Show("Cannot find texconv.exe under tool directory.\n\nPlease ensure ModSDK is installed.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); @@ -318,7 +333,7 @@ private void btnConvert_Click(object sender, EventArgs e) MessageBox.Show("Game path is wrong.\n\nPlease ensure game is installed.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } -#endif + Items = lbfolderList.Items; var asyncThreadParamInit = new ThreadStart(doConvertAll); //doConvertAll(); @@ -336,11 +351,12 @@ private void btnAdd_Click(object sender, EventArgs e) var diagRes = appFolderBrowser.ShowDialog(); if (diagRes == DialogResult.OK) { + var pth1 = appFolderBrowser.SelectedPath; var pth2 = pth1.Replace(gamePath + "\\", "\\"); if (pth2 == pth1) { - MessageBox.Show("Path must be inside game directory."); + MessageBox.Show("Path must be inside game directory.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } lbfolderList.Items.Add(pth2); @@ -365,6 +381,7 @@ private void LoadPresetsToolStripMenuItem_Click(object sender, EventArgs e) { if (File.Exists("presets.ini")) { + lbfolderList.Items.Clear(); var sparr = File.ReadAllLines("presets.ini"); for (int i = 0; i < sparr.Length; i++) @@ -382,8 +399,10 @@ private void LoadPresetsToolStripMenuItem_Click(object sender, EventArgs e) } } else { - MessageBox.Show("presets.ini not found in application directory."); + MessageBox.Show("presets.ini not found in application directory.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + + } } diff --git a/bC7totif/appSettings.Designer.cs b/bC7totif/appSettings.Designer.cs index 457f559..b7c90e8 100644 --- a/bC7totif/appSettings.Designer.cs +++ b/bC7totif/appSettings.Designer.cs @@ -12,7 +12,7 @@ namespace bulkTexConverter { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] internal sealed partial class appSettings : global::System.Configuration.ApplicationSettingsBase { private static appSettings defaultInstance = ((appSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new appSettings()))); @@ -25,7 +25,7 @@ public static appSettings Default { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files (x86)\\Steam\\steamapps\\common\\SpaceEngineers")] + [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files (x86)\\Steam\\steamapps\\common\\SpaceEngineers\\Content\\Textures")] public string gamePath { get { return ((string)(this["gamePath"])); @@ -37,8 +37,7 @@ public string gamePath { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files (x86)\\Steam\\steamapps\\common\\SpaceEngineersModSDK\\Tools\\TextureP" + - "acking\\Tools")] + [global::System.Configuration.DefaultSettingValueAttribute("")] public string toolPath { get { return ((string)(this["toolPath"])); diff --git a/bC7totif/appSettings.settings b/bC7totif/appSettings.settings index 399141a..4c80180 100644 --- a/bC7totif/appSettings.settings +++ b/bC7totif/appSettings.settings @@ -3,10 +3,10 @@ - C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers + C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Textures - C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineersModSDK\Tools\TexturePacking\Tools + diff --git a/bC7totif/bin/Debug/bulkTexConverter.exe b/bC7totif/bin/Debug/bulkTexConverter.exe index 01b5e4f4bfd7be9dc9537102ea2d15964738796c..6c6b97d7cd725dc3cd0e45662318daf7b11de7be 100644 GIT binary patch literal 21504 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 diff --git a/bC7totif/bin/Debug/bulkTexConverter.exe.config b/bC7totif/bin/Debug/bulkTexConverter.exe.config index 3646e38..4554b4a 100644 --- a/bC7totif/bin/Debug/bulkTexConverter.exe.config +++ b/bC7totif/bin/Debug/bulkTexConverter.exe.config @@ -1,6 +1,8 @@  + +
@@ -8,13 +10,15 @@ + + - C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers + C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Textures - C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineersModSDK\Tools\TexturePacking\Tools + diff --git a/bC7totif/bin/Release/bulkTexConverter.exe b/bC7totif/bin/Release/bulkTexConverter.exe index 7e26092eb42aaf35954cfea419f8c41a860d9533..7da21e4acebe9b458c9abd63ebf954581038d7c1 100644 GIT binary patch delta 9095 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 + +
@@ -8,13 +10,15 @@ + + - C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers + C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Textures - C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineersModSDK\Tools\TexturePacking\Tools +