status reporting works!
This commit is contained in:
parent
a4d10036bc
commit
018110cb55
|
|
@ -25,277 +25,6 @@ public static class RobloxXMLLocalizer
|
||||||
Pants
|
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)
|
public static void DownloadFromNodes(string filepath, AssetCacheDef assetdef)
|
||||||
{
|
{
|
||||||
DownloadFromNodes(filepath, assetdef.Class, assetdef.Id[0], assetdef.Ext[0], assetdef.Dir[0], assetdef.GameDir[0]);
|
DownloadFromNodes(filepath, assetdef.Class, assetdef.Id[0], assetdef.Ext[0], assetdef.Dir[0], assetdef.GameDir[0]);
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@
|
||||||
this.button1 = new System.Windows.Forms.Button();
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// button1
|
// button1
|
||||||
|
|
@ -69,9 +70,17 @@
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
this.label2.Size = new System.Drawing.Size(240, 13);
|
this.label2.Size = new System.Drawing.Size(240, 13);
|
||||||
this.label2.TabIndex = 3;
|
this.label2.TabIndex = 3;
|
||||||
this.label2.Text = "Doing Nothing";
|
this.label2.Text = "Idle";
|
||||||
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
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
|
// AssetLocalizer
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
|
@ -83,9 +92,11 @@
|
||||||
this.Controls.Add(this.button1);
|
this.Controls.Add(this.button1);
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.MaximizeBox = false;
|
||||||
this.Name = "AssetLocalizer";
|
this.Name = "AssetLocalizer";
|
||||||
this.Text = "Novetus Asset Localizer";
|
this.Text = "Novetus Asset Localizer";
|
||||||
this.Load += new System.EventHandler(this.AssetLocalizer_Load);
|
this.Load += new System.EventHandler(this.AssetLocalizer_Load);
|
||||||
|
this.Closing += new System.ComponentModel.CancelEventHandler(this.AssetLocalizer_Close);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -95,5 +106,6 @@
|
||||||
private System.Windows.Forms.Button button1;
|
private System.Windows.Forms.Button button1;
|
||||||
private System.Windows.Forms.ComboBox comboBox1;
|
private System.Windows.Forms.ComboBox comboBox1;
|
||||||
private System.Windows.Forms.Label label2;
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.ComponentModel.BackgroundWorker backgroundWorker1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -14,6 +14,7 @@ namespace NovetusLauncher
|
||||||
public partial class AssetLocalizer : Form
|
public partial class AssetLocalizer : Form
|
||||||
{
|
{
|
||||||
private RobloxXMLLocalizer.DLType currentType;
|
private RobloxXMLLocalizer.DLType currentType;
|
||||||
|
private string path;
|
||||||
|
|
||||||
public AssetLocalizer()
|
public AssetLocalizer()
|
||||||
{
|
{
|
||||||
|
|
@ -22,13 +23,17 @@ namespace NovetusLauncher
|
||||||
|
|
||||||
private void button1_Click(object sender, EventArgs e)
|
private void button1_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
try
|
OpenFileDialog openFileDialog1 = new OpenFileDialog()
|
||||||
{
|
{
|
||||||
RobloxXMLLocalizer.LoadRBXFile(currentType, label2.Text);
|
Filter = (currentType == RobloxXMLLocalizer.DLType.RBXL) ? "ROBLOX Level (*.rbxl)|*.rbxl" : "ROBLOX Model (*.rbxm)|*.rbxm",
|
||||||
}
|
Title = "Open ROBLOX level or model"
|
||||||
catch (Exception ex) when (!Env.Debugging)
|
};
|
||||||
|
|
||||||
|
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);
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,9 @@
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<metadata name="backgroundWorker1.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" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,7 @@
|
||||||
this.Controls.Add(this.label1);
|
this.Controls.Add(this.label1);
|
||||||
this.Controls.Add(this.pictureBox2);
|
this.Controls.Add(this.pictureBox2);
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.MaximizeBox = false;
|
||||||
this.Name = "NovetusSDK";
|
this.Name = "NovetusSDK";
|
||||||
this.Text = "Novetus SDK";
|
this.Text = "Novetus SDK";
|
||||||
this.Load += new System.EventHandler(this.NovetusSDK_Load);
|
this.Load += new System.EventHandler(this.NovetusSDK_Load);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue