diff --git a/NovetusLauncher/NovetusFuncs/RobloxXMLLocalizer.cs b/NovetusLauncher/NovetusFuncs/RobloxXMLLocalizer.cs index 4019c5a..00240de 100644 --- a/NovetusLauncher/NovetusFuncs/RobloxXMLLocalizer.cs +++ b/NovetusLauncher/NovetusFuncs/RobloxXMLLocalizer.cs @@ -25,17 +25,17 @@ public static class RobloxXMLLocalizer Pants } - public static void DownloadFromNodes(string filepath, AssetCacheDef assetdef, string name = "") + public static void DownloadFromNodes(string filepath, AssetCacheDef assetdef, string name = "", string meshname = "") { - DownloadFromNodes(filepath, assetdef.Class, assetdef.Id[0], assetdef.Ext[0], assetdef.Dir[0], assetdef.GameDir[0], name); + DownloadFromNodes(filepath, assetdef.Class, assetdef.Id[0], assetdef.Ext[0], assetdef.Dir[0], assetdef.GameDir[0], name, meshname); } - public static void DownloadFromNodes(string filepath, AssetCacheDef assetdef, int idIndex, int extIndex, int outputPathIndex, int inGameDirIndex, string name = "") + public static void DownloadFromNodes(string filepath, AssetCacheDef assetdef, int idIndex, int extIndex, int outputPathIndex, int inGameDirIndex, string name = "", string meshname = "") { - DownloadFromNodes(filepath, assetdef.Class, assetdef.Id[idIndex], assetdef.Ext[extIndex], assetdef.Dir[outputPathIndex], assetdef.GameDir[inGameDirIndex], name); + DownloadFromNodes(filepath, assetdef.Class, assetdef.Id[idIndex], assetdef.Ext[extIndex], assetdef.Dir[outputPathIndex], assetdef.GameDir[inGameDirIndex], name, meshname); } - public static void DownloadFromNodes(string filepath, string itemClassValue, string itemIdValue, string fileext, string outputPath, string inGameDir, string name = "") + public static void DownloadFromNodes(string filepath, string itemClassValue, string itemIdValue, string fileext, string outputPath, string inGameDir, string name = "", string meshname = "") { string oldfile = File.ReadAllText(filepath); string fixedfile = RemoveInvalidXmlChars(ReplaceHexadecimalSymbols(oldfile)); @@ -62,24 +62,30 @@ public static class RobloxXMLLocalizer { if (!item3.Value.Contains("rbxasset")) { - //do whatever with your value - string url = item3.Value; - string urlFixed = url.Replace("&", "&").Replace("amp;", "&"); - string peram = "id="; - - if (string.IsNullOrWhiteSpace(name)) + if (string.IsNullOrWhiteSpace(meshname)) { - if (urlFixed.Contains(peram)) + string url = item3.Value; + string urlFixed = url.Replace("&", "&").Replace("amp;", "&"); + string peram = "id="; + + if (string.IsNullOrWhiteSpace(name)) { - string IDVal = urlFixed.After(peram); - DownloadFilesFromNode(urlFixed, outputPath, fileext, IDVal); - item3.Value = inGameDir + IDVal + fileext; + if (urlFixed.Contains(peram)) + { + string IDVal = urlFixed.After(peram); + DownloadFilesFromNode(urlFixed, outputPath, fileext, IDVal); + item3.Value = inGameDir + IDVal + fileext; + } + } + else + { + DownloadFilesFromNode(urlFixed, outputPath, fileext, name); + item3.Value = inGameDir + name + fileext; } } else { - DownloadFilesFromNode(urlFixed, outputPath, fileext, name); - item3.Value = inGameDir + name + fileext; + item3.Value = inGameDir + meshname; } } } diff --git a/NovetusLauncher/NovetusLauncher/SDK/AssetLocalizer.Designer.cs b/NovetusLauncher/NovetusLauncher/SDK/AssetLocalizer.Designer.cs index 9ace266..f422d28 100644 --- a/NovetusLauncher/NovetusLauncher/SDK/AssetLocalizer.Designer.cs +++ b/NovetusLauncher/NovetusLauncher/SDK/AssetLocalizer.Designer.cs @@ -35,13 +35,16 @@ this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); this.textBox1 = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); + this.comboBox2 = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); this.SuspendLayout(); // // button1 // - this.button1.Location = new System.Drawing.Point(12, 65); + this.button1.Location = new System.Drawing.Point(12, 101); this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(240, 21); + this.button1.Size = new System.Drawing.Size(254, 21); this.button1.TabIndex = 0; this.button1.Text = "Browse and Localize Asset"; this.button1.UseVisualStyleBackColor = true; @@ -60,17 +63,17 @@ "Shirt", "T-Shirt", "Pants"}); - this.comboBox1.Location = new System.Drawing.Point(12, 12); + this.comboBox1.Location = new System.Drawing.Point(81, 12); this.comboBox1.Name = "comboBox1"; - this.comboBox1.Size = new System.Drawing.Size(240, 21); + this.comboBox1.Size = new System.Drawing.Size(185, 21); this.comboBox1.TabIndex = 1; this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); // // label2 // - this.label2.Location = new System.Drawing.Point(12, 96); + this.label2.Location = new System.Drawing.Point(12, 132); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(240, 13); + this.label2.Size = new System.Drawing.Size(254, 13); this.label2.TabIndex = 3; this.label2.Text = "Idle"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -87,7 +90,7 @@ // this.textBox1.Location = new System.Drawing.Point(140, 39); this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(112, 20); + this.textBox1.Size = new System.Drawing.Size(126, 20); this.textBox1.TabIndex = 4; this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); // @@ -100,12 +103,45 @@ this.label1.TabIndex = 5; this.label1.Text = "Asset Name (Items Only):"; // + // comboBox2 + // + this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox2.FormattingEnabled = true; + this.comboBox2.Items.AddRange(new object[] { + "None"}); + this.comboBox2.Location = new System.Drawing.Point(140, 65); + this.comboBox2.Name = "comboBox2"; + this.comboBox2.Size = new System.Drawing.Size(126, 21); + this.comboBox2.TabIndex = 6; + this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(12, 68); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(118, 13); + this.label3.TabIndex = 7; + this.label3.Text = "Uses Mesh (Hats Only):"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(12, 15); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(63, 13); + this.label4.TabIndex = 8; + this.label4.Text = "Asset Type:"; + // // AssetLocalizer // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.ControlLightLight; - this.ClientSize = new System.Drawing.Size(264, 118); + this.ClientSize = new System.Drawing.Size(278, 154); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.comboBox2); this.Controls.Add(this.label1); this.Controls.Add(this.textBox1); this.Controls.Add(this.label2); @@ -131,5 +167,8 @@ private System.ComponentModel.BackgroundWorker backgroundWorker1; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Label label1; + private System.Windows.Forms.ComboBox comboBox2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; } } \ No newline at end of file diff --git a/NovetusLauncher/NovetusLauncher/SDK/AssetLocalizer.cs b/NovetusLauncher/NovetusLauncher/SDK/AssetLocalizer.cs index c7577d0..76ccee8 100644 --- a/NovetusLauncher/NovetusLauncher/SDK/AssetLocalizer.cs +++ b/NovetusLauncher/NovetusLauncher/SDK/AssetLocalizer.cs @@ -16,6 +16,7 @@ namespace NovetusLauncher private RobloxXMLLocalizer.DLType currentType; private string path; private string name; + private string meshname; public AssetLocalizer() { @@ -77,6 +78,22 @@ namespace NovetusLauncher private void AssetLocalizer_Load(object sender, EventArgs e) { comboBox1.SelectedItem = "RBXL"; + comboBox2.SelectedItem = "None"; + + if (Directory.Exists(GlobalVars.hatdirFonts)) + { + DirectoryInfo dinfo = new DirectoryInfo(GlobalVars.hatdirFonts); + FileInfo[] Files = dinfo.GetFiles("*.mesh"); + foreach (FileInfo file in Files) + { + if (file.Name.Equals(String.Empty)) + { + continue; + } + + comboBox2.Items.Add(file.Name); + } + } if (!Directory.Exists(GlobalVars.AssetCacheDirFonts)) { @@ -379,7 +396,7 @@ namespace NovetusLauncher case RobloxXMLLocalizer.DLType.Hat: //meshes worker.ReportProgress(0); - RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHatFonts, name); + RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHatFonts, name, meshname); RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHatFonts, 1, 1, 1, 1, name); worker.ReportProgress(25); RobloxXMLLocalizer.DownloadFromNodes(path, GlobalVars.ItemHatSound); @@ -464,5 +481,17 @@ namespace NovetusLauncher { name = textBox1.Text; } + + private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) + { + if (comboBox2.SelectedItem.ToString() == "None") + { + meshname = ""; + } + else + { + meshname = comboBox2.SelectedItem.ToString(); + } + } } }