From 018110cb55d142ae86471c177a54e909c50a96f6 Mon Sep 17 00:00:00 2001 From: Bitl Date: Wed, 13 Nov 2019 12:33:55 -0700 Subject: [PATCH] status reporting works! --- .../NovetusFuncs/RobloxXMLLocalizer.cs | 271 ------------- .../AssetLocalizer.Designer.cs | 14 +- .../NovetusLauncher/AssetLocalizer.cs | 370 +++++++++++++++++- .../NovetusLauncher/AssetLocalizer.resx | 3 + .../NovetusLauncher/NovetusSDK.Designer.cs | 1 + 5 files changed, 382 insertions(+), 277 deletions(-) diff --git a/NovetusLauncher/NovetusFuncs/RobloxXMLLocalizer.cs b/NovetusLauncher/NovetusFuncs/RobloxXMLLocalizer.cs index 39cd912..d4d535d 100644 --- a/NovetusLauncher/NovetusFuncs/RobloxXMLLocalizer.cs +++ b/NovetusLauncher/NovetusFuncs/RobloxXMLLocalizer.cs @@ -25,277 +25,6 @@ public static class RobloxXMLLocalizer Pants } - public static void LoadRBXFile(DLType type, string stringToUpdate = "") - { - OpenFileDialog openFileDialog1 = new OpenFileDialog() - { - FileName = "Select a ROBLOX level or model", - Filter = "ROBLOX Level (*.rbxl)|*.rbxl|ROBLOX Model (*.rbxm)|*.rbxm", - Title = "Open ROBLOX level or model" - }; - - if (openFileDialog1.ShowDialog() == DialogResult.OK) - { - string path = openFileDialog1.FileName; - - switch (type) - { - case DLType.RBXL: - //backup the original copy - try - { - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Backing up RBXL..."; - } - File.Copy(path, path.Replace(".rbxl", " BAK.rbxl")); - } - catch(Exception ex) when (!Env.Debugging) - { - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Failed to back up RBXL. " + ex.Message; - } - } - //meshes - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Meshes and Textures..."; - } - DownloadFromNodes(path, GlobalVars.Fonts); - DownloadFromNodes(path, GlobalVars.Fonts, 1, 1, 1, 1); - //skybox - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Skybox Textures..."; - } - DownloadFromNodes(path, GlobalVars.Sky); - DownloadFromNodes(path, GlobalVars.Sky, 1, 0, 0, 0); - DownloadFromNodes(path, GlobalVars.Sky, 2, 0, 0, 0); - DownloadFromNodes(path, GlobalVars.Sky, 3, 0, 0, 0); - DownloadFromNodes(path, GlobalVars.Sky, 4, 0, 0, 0); - DownloadFromNodes(path, GlobalVars.Sky, 5, 0, 0, 0); - //decal - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Decal Textures..."; - } - DownloadFromNodes(path, GlobalVars.Decal); - //texture - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Textures..."; - } - DownloadFromNodes(path, GlobalVars.Texture); - //tools and hopperbin - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Tool Textures..."; - } - DownloadFromNodes(path, GlobalVars.Tool); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL HopperBin Textures..."; - } - DownloadFromNodes(path, GlobalVars.HopperBin); - //sound - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Sounds..."; - } - DownloadFromNodes(path, GlobalVars.Sound); - //gui - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL GUI Textures..."; - } - DownloadFromNodes(path, GlobalVars.ImageLabel); - //clothing - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Shirt Textures..."; - } - DownloadFromNodes(path, GlobalVars.Shirt); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL T-Shirt Textures..."; - } - DownloadFromNodes(path, GlobalVars.ShirtGraphic); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Pants Textures..."; - } - DownloadFromNodes(path, GlobalVars.Pants); - //scripts - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Linked Scripts..."; - } - DownloadFromNodes(path, GlobalVars.Script); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXL Linked LocalScripts..."; - } - DownloadFromNodes(path, GlobalVars.LocalScript); - goto default; - case DLType.RBXM: - //meshes - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Meshes and Textures..."; - } - DownloadFromNodes(path, GlobalVars.Fonts); - DownloadFromNodes(path, GlobalVars.Fonts, 1, 1, 1, 1); - //skybox - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Skybox Textures..."; - } - DownloadFromNodes(path, GlobalVars.Sky); - DownloadFromNodes(path, GlobalVars.Sky, 1, 0, 0, 0); - DownloadFromNodes(path, GlobalVars.Sky, 2, 0, 0, 0); - DownloadFromNodes(path, GlobalVars.Sky, 3, 0, 0, 0); - DownloadFromNodes(path, GlobalVars.Sky, 4, 0, 0, 0); - DownloadFromNodes(path, GlobalVars.Sky, 5, 0, 0, 0); - //decal - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Decal Textures..."; - } - DownloadFromNodes(path, GlobalVars.Decal); - //texture - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Textures..."; - } - DownloadFromNodes(path, GlobalVars.Texture); - //tools and hopperbin - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Tool Textures..."; - } - DownloadFromNodes(path, GlobalVars.Tool); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM HopperBin Textures..."; - } - DownloadFromNodes(path, GlobalVars.HopperBin); - //sound - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Sounds..."; - } - DownloadFromNodes(path, GlobalVars.Sound); - //gui - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM GUI Textures..."; - } - DownloadFromNodes(path, GlobalVars.ImageLabel); - //clothing - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Shirt Textures..."; - } - DownloadFromNodes(path, GlobalVars.Shirt); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM T-Shirt Textures..."; - } - DownloadFromNodes(path, GlobalVars.ShirtGraphic); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Pants Textures..."; - } - DownloadFromNodes(path, GlobalVars.Pants); - //scripts - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Linked Scripts..."; - } - DownloadFromNodes(path, GlobalVars.Script); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading RBXM Linked LocalScripts..."; - } - DownloadFromNodes(path, GlobalVars.LocalScript); - goto default; - case DLType.Hat: - //meshes - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading Hat Meshes and Textures..."; - } - DownloadFromNodes(path, GlobalVars.ItemHatFonts); - DownloadFromNodes(path, GlobalVars.ItemHatFonts, 1, 1, 1, 1); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading Hat Sounds..."; - } - DownloadFromNodes(path, GlobalVars.ItemHatSound); - //scripts - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading Hat Linked Scripts..."; - } - DownloadFromNodes(path, GlobalVars.Script); - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading Hat Linked LocalScripts..."; - } - DownloadFromNodes(path, GlobalVars.LocalScript); - goto default; - case DLType.Head: - //meshes - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading Head Meshes and Textures..."; - } - DownloadFromNodes(path, GlobalVars.ItemHeadFonts); - DownloadFromNodes(path, GlobalVars.ItemHeadFonts, 1, 1, 1, 1); - goto default; - case DLType.Face: - //decal - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading Face Textures..."; - } - DownloadFromNodes(path, GlobalVars.ItemFaceTexture); - goto default; - case DLType.TShirt: - //texture - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading T-Shirt Textures..."; - } - DownloadFromNodes(path, GlobalVars.ItemTShirtTexture); - goto default; - case DLType.Shirt: - //texture - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading Shirt Textures..."; - } - DownloadFromNodes(path, GlobalVars.ItemShirtTexture); - goto default; - case DLType.Pants: - //texture - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Downloading Pants Textures..."; - } - DownloadFromNodes(path, GlobalVars.ItemPantsTexture); - goto default; - default: - if (!string.IsNullOrWhiteSpace(stringToUpdate)) - { - stringToUpdate = "Doing Nothing"; - } - break; - } - } - } - public static void DownloadFromNodes(string filepath, AssetCacheDef assetdef) { DownloadFromNodes(filepath, assetdef.Class, assetdef.Id[0], assetdef.Ext[0], assetdef.Dir[0], assetdef.GameDir[0]); diff --git a/NovetusLauncher/NovetusLauncher/AssetLocalizer.Designer.cs b/NovetusLauncher/NovetusLauncher/AssetLocalizer.Designer.cs index 1781b2e..d85c693 100644 --- a/NovetusLauncher/NovetusLauncher/AssetLocalizer.Designer.cs +++ b/NovetusLauncher/NovetusLauncher/AssetLocalizer.Designer.cs @@ -32,6 +32,7 @@ this.button1 = new System.Windows.Forms.Button(); this.comboBox1 = new System.Windows.Forms.ComboBox(); this.label2 = new System.Windows.Forms.Label(); + this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); this.SuspendLayout(); // // button1 @@ -69,9 +70,17 @@ this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(240, 13); this.label2.TabIndex = 3; - this.label2.Text = "Doing Nothing"; + this.label2.Text = "Idle"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // + // backgroundWorker1 + // + this.backgroundWorker1.WorkerReportsProgress = true; + this.backgroundWorker1.WorkerSupportsCancellation = true; + this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork); + this.backgroundWorker1.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorker1_ProgressChanged); + this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted); + // // AssetLocalizer // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -83,9 +92,11 @@ this.Controls.Add(this.button1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; this.Name = "AssetLocalizer"; this.Text = "Novetus Asset Localizer"; this.Load += new System.EventHandler(this.AssetLocalizer_Load); + this.Closing += new System.ComponentModel.CancelEventHandler(this.AssetLocalizer_Close); this.ResumeLayout(false); } @@ -95,5 +106,6 @@ private System.Windows.Forms.Button button1; private System.Windows.Forms.ComboBox comboBox1; private System.Windows.Forms.Label label2; + private System.ComponentModel.BackgroundWorker backgroundWorker1; } } \ No newline at end of file diff --git a/NovetusLauncher/NovetusLauncher/AssetLocalizer.cs b/NovetusLauncher/NovetusLauncher/AssetLocalizer.cs index 3a5a4a9..5f95201 100644 --- a/NovetusLauncher/NovetusLauncher/AssetLocalizer.cs +++ b/NovetusLauncher/NovetusLauncher/AssetLocalizer.cs @@ -14,6 +14,7 @@ namespace NovetusLauncher public partial class AssetLocalizer : Form { private RobloxXMLLocalizer.DLType currentType; + private string path; public AssetLocalizer() { @@ -22,13 +23,17 @@ namespace NovetusLauncher private void button1_Click(object sender, EventArgs e) { - try + OpenFileDialog openFileDialog1 = new OpenFileDialog() { - RobloxXMLLocalizer.LoadRBXFile(currentType, label2.Text); - } - catch (Exception ex) when (!Env.Debugging) + Filter = (currentType == RobloxXMLLocalizer.DLType.RBXL) ? "ROBLOX Level (*.rbxl)|*.rbxl" : "ROBLOX Model (*.rbxm)|*.rbxm", + Title = "Open ROBLOX level or model" + }; + + if (openFileDialog1.ShowDialog() == DialogResult.OK) { - MessageBox.Show("Error: Unable to localize the asset. " + ex.Message, "Novetus Asset Localizer", MessageBoxButtons.OK, MessageBoxIcon.Error); + path = openFileDialog1.FileName; + + backgroundWorker1.RunWorkerAsync(); } } @@ -97,5 +102,360 @@ namespace NovetusLauncher Directory.CreateDirectory(GlobalVars.AssetCacheDirScripts); } } + + private string GetProgressString(RobloxXMLLocalizer.DLType type, int percent) + { + string progressString = ""; + + switch (currentType) + { + case RobloxXMLLocalizer.DLType.RBXL: + switch (percent) + { + case 0: + progressString = "Backing up RBXL..."; + break; + case 5: + progressString = "Downloading RBXL Meshes and Textures..."; + break; + case 10: + progressString = "Downloading RBXL Skybox Textures..."; + break; + case 15: + progressString = "Downloading RBXL Decal Textures..."; + break; + case 20: + progressString = "Downloading RBXL Textures..."; + break; + case 25: + progressString = "Downloading RBXL Tool Textures..."; + break; + case 30: + progressString = "Downloading RBXL HopperBin Textures..."; + break; + case 40: + progressString = "Downloading RBXL Sounds..."; + break; + case 50: + progressString = "Downloading RBXL GUI Textures..."; + break; + case 60: + progressString = "Downloading RBXL Shirt Textures..."; + break; + case 65: + progressString = "Downloading RBXL T-Shirt Textures..."; + break; + case 70: + progressString = "Downloading RBXL Pants Textures..."; + break; + case 80: + progressString = "Downloading RBXL Linked Scripts..."; + break; + case 90: + progressString = "Downloading RBXL Linked LocalScripts..."; + break; + } + break; + case RobloxXMLLocalizer.DLType.RBXM: + switch (percent) + { + case 0: + progressString = "Downloading RBXL Meshes and Textures..."; + break; + case 10: + progressString = "Downloading RBXL Skybox Textures..."; + break; + case 15: + progressString = "Downloading RBXL Decal Textures..."; + break; + case 20: + progressString = "Downloading RBXL Textures..."; + break; + case 25: + progressString = "Downloading RBXL Tool Textures..."; + break; + case 30: + progressString = "Downloading RBXL HopperBin Textures..."; + break; + case 40: + progressString = "Downloading RBXL Sounds..."; + break; + case 50: + progressString = "Downloading RBXL GUI Textures..."; + break; + case 60: + progressString = "Downloading RBXL Shirt Textures..."; + break; + case 65: + progressString = "Downloading RBXL T-Shirt Textures..."; + break; + case 70: + progressString = "Downloading RBXL Pants Textures..."; + break; + case 80: + progressString = "Downloading RBXL Linked Scripts..."; + break; + case 90: + progressString = "Downloading RBXL Linked LocalScripts..."; + break; + } + break; + case RobloxXMLLocalizer.DLType.Hat: + switch (percent) + { + case 0: + progressString = "Downloading Hat Meshes and Textures..."; + break; + case 25: + progressString = "Downloading Hat Sounds..."; + break; + case 50: + progressString = "Downloading Hat Linked Scripts..."; + break; + case 75: + progressString = "Downloading Hat Linked LocalScripts..."; + break; + } + break; + case RobloxXMLLocalizer.DLType.Head: + //meshes + switch (percent) + { + case 0: + progressString = "Downloading Head Meshes and Textures..."; + break; + } + break; + case RobloxXMLLocalizer.DLType.Face: + //decal + switch (percent) + { + case 0: + progressString = "Downloading Face Textures..."; + break; + } + break; + case RobloxXMLLocalizer.DLType.TShirt: + //texture + switch (percent) + { + case 0: + progressString = "Downloading T-Shirt Textures..."; + break; + } + break; + case RobloxXMLLocalizer.DLType.Shirt: + //texture + switch (percent) + { + case 0: + progressString = "Downloading Shirt Textures..."; + break; + } + break; + case RobloxXMLLocalizer.DLType.Pants: + //texture + switch (percent) + { + case 0: + progressString = "Downloading Pants Textures..."; + break; + } + break; + default: + progressString = "Idle"; + break; + } + + return progressString + " " + percent.ToString() + "%"; + } + + // This event handler is where the time-consuming work is done. + private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) + { + BackgroundWorker worker = sender as BackgroundWorker; + + try + { + switch (currentType) + { + case RobloxXMLLocalizer.DLType.RBXL: + //backup the original copy + try + { + worker.ReportProgress(0); + File.Copy(path, path.Replace(".rbxl", " BAK.rbxl")); + } + catch (Exception) when (!Env.Debugging) + { + worker.ReportProgress(100); + } + //meshes + worker.ReportProgress(5); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Fonts); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Fonts, 1, 1, 1, 1); + //skybox + worker.ReportProgress(10); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 1, 0, 0, 0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 2, 0, 0, 0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 3, 0, 0, 0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 4, 0, 0, 0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 5, 0, 0, 0); + //decal + worker.ReportProgress(15); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Decal); + //texture + worker.ReportProgress(20); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Texture); + //tools and hopperbin + worker.ReportProgress(25); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Tool); + worker.ReportProgress(30); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.HopperBin); + //sound + worker.ReportProgress(40); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sound); + worker.ReportProgress(50); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ImageLabel); + //clothing + worker.ReportProgress(60); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Shirt); + worker.ReportProgress(65); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ShirtGraphic); + worker.ReportProgress(70); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Pants); + //scripts + worker.ReportProgress(80); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Script); + worker.ReportProgress(90); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.LocalScript); + worker.ReportProgress(100); + break; + case RobloxXMLLocalizer.DLType.RBXM: + //meshes + worker.ReportProgress(0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Fonts); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Fonts, 1, 1, 1, 1); + //skybox + worker.ReportProgress(10); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 1, 0, 0, 0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 2, 0, 0, 0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 3, 0, 0, 0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 4, 0, 0, 0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sky, 5, 0, 0, 0); + //decal + worker.ReportProgress(15); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Decal); + //texture + worker.ReportProgress(20); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Texture); + //tools and hopperbin + worker.ReportProgress(25); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Tool); + worker.ReportProgress(30); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.HopperBin); + //sound + worker.ReportProgress(40); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Sound); + worker.ReportProgress(50); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ImageLabel); + //clothing + worker.ReportProgress(60); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Shirt); + worker.ReportProgress(65); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ShirtGraphic); + worker.ReportProgress(70); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Pants); + //scripts + worker.ReportProgress(80); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Script); + worker.ReportProgress(90); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.LocalScript); + worker.ReportProgress(100); + break; + case RobloxXMLLocalizer.DLType.Hat: + //meshes + worker.ReportProgress(0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHatFonts); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHatFonts, 1, 1, 1, 1); + worker.ReportProgress(25); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHatSound); + //scripts + worker.ReportProgress(50); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.Script); + worker.ReportProgress(75); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.LocalScript); + worker.ReportProgress(100); + break; + case RobloxXMLLocalizer.DLType.Head: + //meshes + worker.ReportProgress(0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHeadFonts); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHeadFonts, 1, 1, 1, 1); + worker.ReportProgress(100); + break; + case RobloxXMLLocalizer.DLType.Face: + //decal + worker.ReportProgress(0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemFaceTexture); + worker.ReportProgress(100); + break; + case RobloxXMLLocalizer.DLType.TShirt: + //texture + worker.ReportProgress(0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemTShirtTexture); + worker.ReportProgress(100); + break; + case RobloxXMLLocalizer.DLType.Shirt: + //texture + worker.ReportProgress(0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemShirtTexture); + worker.ReportProgress(100); + break; + case RobloxXMLLocalizer.DLType.Pants: + //texture + worker.ReportProgress(0); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemPantsTexture); + worker.ReportProgress(100); + break; + default: + break; + } + } + catch (Exception ex) when (!Env.Debugging) + { + MessageBox.Show("Error: Unable to localize the asset. " + ex.Message, "Novetus Asset Localizer", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + // This event handler updates the progress. + private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) + { + label2.Text = GetProgressString(currentType, e.ProgressPercentage); + } + + // This event handler deals with the results of the background operation. + private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + if (e.Cancelled == true) + { + label2.Text = "Canceled!"; + } + else if (e.Error != null) + { + label2.Text = "Error: " + e.Error.Message; + } + else + { + label2.Text = "Done!"; + } + } + + void AssetLocalizer_Close(object sender, CancelEventArgs e) + { + backgroundWorker1.CancelAsync(); + } } } diff --git a/NovetusLauncher/NovetusLauncher/AssetLocalizer.resx b/NovetusLauncher/NovetusLauncher/AssetLocalizer.resx index dc6496e..062a969 100644 --- a/NovetusLauncher/NovetusLauncher/AssetLocalizer.resx +++ b/NovetusLauncher/NovetusLauncher/AssetLocalizer.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + diff --git a/NovetusLauncher/NovetusLauncher/NovetusSDK.Designer.cs b/NovetusLauncher/NovetusLauncher/NovetusSDK.Designer.cs index d465b31..0ffbeff 100644 --- a/NovetusLauncher/NovetusLauncher/NovetusSDK.Designer.cs +++ b/NovetusLauncher/NovetusLauncher/NovetusSDK.Designer.cs @@ -78,6 +78,7 @@ this.Controls.Add(this.label1); this.Controls.Add(this.pictureBox2); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; this.Name = "NovetusSDK"; this.Text = "Novetus SDK"; this.Load += new System.EventHandler(this.NovetusSDK_Load);