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);