mirror of
https://github.com/4sval/FModel.git
synced 2026-03-21 17:24:26 -05:00
more support for icon creation + settings about that added
This commit is contained in:
parent
8bedfcd980
commit
0f1c328adf
133
FModel/Options.Designer.cs
generated
133
FModel/Options.Designer.cs
generated
|
|
@ -37,22 +37,29 @@
|
|||
this.textBox3 = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.imgsPerRow = new System.Windows.Forms.NumericUpDown();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.imgsPerRow = new System.Windows.Forms.NumericUpDown();
|
||||
this.groupBox4 = new System.Windows.Forms.GroupBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox3 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox4 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox5 = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.imgsPerRow)).BeginInit();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.imgsPerRow)).BeginInit();
|
||||
this.groupBox4.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// optionsOKButton
|
||||
//
|
||||
this.optionsOKButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.optionsOKButton.Location = new System.Drawing.Point(475, 169);
|
||||
this.optionsOKButton.Location = new System.Drawing.Point(475, 218);
|
||||
this.optionsOKButton.Name = "optionsOKButton";
|
||||
this.optionsOKButton.Size = new System.Drawing.Size(97, 21);
|
||||
this.optionsOKButton.TabIndex = 1;
|
||||
|
|
@ -120,13 +127,37 @@
|
|||
this.groupBox1.Controls.Add(this.label5);
|
||||
this.groupBox1.Controls.Add(this.textBox3);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 144);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 193);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(414, 46);
|
||||
this.groupBox1.TabIndex = 10;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Merger";
|
||||
//
|
||||
// imgsPerRow
|
||||
//
|
||||
this.imgsPerRow.Location = new System.Drawing.Point(364, 19);
|
||||
this.imgsPerRow.Maximum = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.imgsPerRow.Name = "imgsPerRow";
|
||||
this.imgsPerRow.ReadOnly = true;
|
||||
this.imgsPerRow.Size = new System.Drawing.Size(44, 20);
|
||||
this.imgsPerRow.TabIndex = 12;
|
||||
this.imgsPerRow.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.imgsPerRow.ThousandsSeparator = true;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(270, 22);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(88, 13);
|
||||
this.label5.TabIndex = 10;
|
||||
this.label5.Text = "Images Per Row:";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.textBox1);
|
||||
|
|
@ -167,35 +198,75 @@
|
|||
this.label3.TabIndex = 3;
|
||||
this.label3.Text = "Input:";
|
||||
//
|
||||
// label5
|
||||
// groupBox4
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(270, 22);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(88, 13);
|
||||
this.label5.TabIndex = 10;
|
||||
this.label5.Text = "Images Per Row:";
|
||||
this.groupBox4.Controls.Add(this.checkBox5);
|
||||
this.groupBox4.Controls.Add(this.checkBox4);
|
||||
this.groupBox4.Controls.Add(this.checkBox3);
|
||||
this.groupBox4.Controls.Add(this.checkBox2);
|
||||
this.groupBox4.Controls.Add(this.label6);
|
||||
this.groupBox4.Location = new System.Drawing.Point(12, 144);
|
||||
this.groupBox4.Name = "groupBox4";
|
||||
this.groupBox4.Size = new System.Drawing.Size(560, 43);
|
||||
this.groupBox4.TabIndex = 13;
|
||||
this.groupBox4.TabStop = false;
|
||||
this.groupBox4.Text = "Icon Creation";
|
||||
//
|
||||
// imgsPerRow
|
||||
// label6
|
||||
//
|
||||
this.imgsPerRow.Location = new System.Drawing.Point(364, 19);
|
||||
this.imgsPerRow.Maximum = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.imgsPerRow.Name = "imgsPerRow";
|
||||
this.imgsPerRow.ReadOnly = true;
|
||||
this.imgsPerRow.Size = new System.Drawing.Size(44, 20);
|
||||
this.imgsPerRow.TabIndex = 12;
|
||||
this.imgsPerRow.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.imgsPerRow.ThousandsSeparator = true;
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(6, 20);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(112, 13);
|
||||
this.label6.TabIndex = 0;
|
||||
this.label6.Text = "Supported Subfolders:";
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.AutoSize = true;
|
||||
this.checkBox2.Location = new System.Drawing.Point(124, 19);
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.Size = new System.Drawing.Size(74, 17);
|
||||
this.checkBox2.TabIndex = 1;
|
||||
this.checkBox2.Text = "Cosmetics";
|
||||
this.checkBox2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox3
|
||||
//
|
||||
this.checkBox3.AutoSize = true;
|
||||
this.checkBox3.Location = new System.Drawing.Point(329, 19);
|
||||
this.checkBox3.Name = "checkBox3";
|
||||
this.checkBox3.Size = new System.Drawing.Size(147, 17);
|
||||
this.checkBox3.TabIndex = 2;
|
||||
this.checkBox3.Text = "Consumables && Weapons";
|
||||
this.checkBox3.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox4
|
||||
//
|
||||
this.checkBox4.AutoSize = true;
|
||||
this.checkBox4.Location = new System.Drawing.Point(501, 19);
|
||||
this.checkBox4.Name = "checkBox4";
|
||||
this.checkBox4.Size = new System.Drawing.Size(53, 17);
|
||||
this.checkBox4.TabIndex = 3;
|
||||
this.checkBox4.Text = "Traps";
|
||||
this.checkBox4.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox5
|
||||
//
|
||||
this.checkBox5.AutoSize = true;
|
||||
this.checkBox5.Location = new System.Drawing.Point(230, 19);
|
||||
this.checkBox5.Name = "checkBox5";
|
||||
this.checkBox5.Size = new System.Drawing.Size(64, 17);
|
||||
this.checkBox5.TabIndex = 4;
|
||||
this.checkBox5.Text = "Variants";
|
||||
this.checkBox5.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// OptionsWindow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(584, 198);
|
||||
this.ClientSize = new System.Drawing.Size(584, 249);
|
||||
this.Controls.Add(this.groupBox4);
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
|
|
@ -209,11 +280,13 @@
|
|||
this.Text = "FModel Options";
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.imgsPerRow)).EndInit();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.imgsPerRow)).EndInit();
|
||||
this.groupBox4.ResumeLayout(false);
|
||||
this.groupBox4.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
|
@ -233,5 +306,11 @@
|
|||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.NumericUpDown imgsPerRow;
|
||||
private System.Windows.Forms.GroupBox groupBox4;
|
||||
private System.Windows.Forms.CheckBox checkBox2;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.CheckBox checkBox3;
|
||||
private System.Windows.Forms.CheckBox checkBox4;
|
||||
private System.Windows.Forms.CheckBox checkBox5;
|
||||
}
|
||||
}
|
||||
|
|
@ -25,6 +25,10 @@ namespace FModel
|
|||
textBox2.Text = Properties.Settings.Default.FortnitePAKs;
|
||||
textBox3.Text = Properties.Settings.Default.mergerFileName;
|
||||
imgsPerRow.Value = Properties.Settings.Default.mergerImagesRow;
|
||||
checkBox2.Checked = Properties.Settings.Default.createIconForCosmetics;
|
||||
checkBox5.Checked = Properties.Settings.Default.createIconForVariants;
|
||||
checkBox3.Checked = Properties.Settings.Default.createIconForConsumablesWeapons;
|
||||
checkBox4.Checked = Properties.Settings.Default.createIconForTraps;
|
||||
|
||||
PAKBefore = Properties.Settings.Default.FortnitePAKs;
|
||||
OutputBefore = Properties.Settings.Default.ExtractOutput;
|
||||
|
|
@ -40,6 +44,40 @@ namespace FModel
|
|||
{
|
||||
Properties.Settings.Default.ExtractAndSerialize = false;
|
||||
}
|
||||
if (checkBox2.Checked == true)
|
||||
{
|
||||
Properties.Settings.Default.createIconForCosmetics = true;
|
||||
}
|
||||
if (checkBox2.Checked == false)
|
||||
{
|
||||
Properties.Settings.Default.createIconForCosmetics = false;
|
||||
}
|
||||
if (checkBox5.Checked == true)
|
||||
{
|
||||
Properties.Settings.Default.createIconForVariants = true;
|
||||
}
|
||||
if (checkBox5.Checked == false)
|
||||
{
|
||||
Properties.Settings.Default.createIconForVariants = false;
|
||||
}
|
||||
if (checkBox3.Checked == true)
|
||||
{
|
||||
Properties.Settings.Default.createIconForConsumablesWeapons = true;
|
||||
}
|
||||
if (checkBox3.Checked == false)
|
||||
{
|
||||
Properties.Settings.Default.createIconForConsumablesWeapons = false;
|
||||
}
|
||||
if (checkBox4.Checked == true)
|
||||
{
|
||||
Properties.Settings.Default.createIconForTraps = true;
|
||||
}
|
||||
if (checkBox4.Checked == false)
|
||||
{
|
||||
Properties.Settings.Default.createIconForTraps = false;
|
||||
}
|
||||
|
||||
|
||||
Properties.Settings.Default.ExtractOutput = textBox1.Text;
|
||||
Properties.Settings.Default.FortnitePAKs = textBox2.Text;
|
||||
Properties.Settings.Default.mergerFileName = textBox3.Text;
|
||||
|
|
|
|||
|
|
@ -93,6 +93,10 @@ namespace FModel
|
|||
|
||||
SetTreeViewTheme(PAKTreeView.Handle);
|
||||
Properties.Settings.Default.ExtractAndSerialize = true; //SERIALIZE BY DEFAULT
|
||||
Properties.Settings.Default.createIconForCosmetics = true;
|
||||
Properties.Settings.Default.createIconForVariants = true;
|
||||
Properties.Settings.Default.createIconForConsumablesWeapons = true;
|
||||
Properties.Settings.Default.createIconForTraps = true;
|
||||
|
||||
docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString() + "\\FModel";
|
||||
if (string.IsNullOrEmpty(Properties.Settings.Default.ExtractOutput))
|
||||
|
|
@ -717,17 +721,18 @@ namespace FModel
|
|||
AppendText("Auto loading data set to ", Color.Black);
|
||||
AppendText("True", Color.Green, true);
|
||||
|
||||
if (filesJSON.Contains("Athena\\Items\\Cosmetics") || filesJSON.Contains("Athena\\Items\\CosmeticVariantTokens") || filesJSON.Contains("Athena\\Items\\Weapons")) //ASSET IS AN ID => CREATE ICON
|
||||
if (filesJSON.Contains("Athena\\Items\\") && (filesJSON.Contains("Cosmetics") || filesJSON.Contains("Consumables") || filesJSON.Contains("Traps") || filesJSON.Contains("Gameplay") || filesJSON.Contains("Weapons") || filesJSON.Contains("CosmeticVariantTokens"))) //ASSET IS AN ID => CREATE ICON
|
||||
{
|
||||
AppendText("Parsing...", Color.Black, true);
|
||||
for (int iii = 0; iii < IDParser.Length; iii++)
|
||||
{
|
||||
if (IDParser[iii].ExportType.Contains("Item") && IDParser[iii].ExportType.Contains("Definition"))
|
||||
if (Properties.Settings.Default.createIconForCosmetics == true && (IDParser[iii].ExportType.Contains("Athena") && IDParser[iii].ExportType.Contains("Item") && IDParser[iii].ExportType.Contains("Definition")))
|
||||
{
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(currentItem, Color.DarkRed);
|
||||
AppendText(" is an ", Color.Black);
|
||||
AppendText("ID file", Color.SteelBlue, true);
|
||||
AppendText(" is a ", Color.Black);
|
||||
AppendText("Cosmetic ID", Color.SteelBlue);
|
||||
AppendText(" file", Color.Black, true);
|
||||
|
||||
ItemName = IDParser[iii].DisplayName;
|
||||
Bitmap bmp = new Bitmap(522, 522);
|
||||
|
|
@ -1001,7 +1006,7 @@ namespace FModel
|
|||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else if (IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/"))
|
||||
else if (IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Items/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
|
|
@ -1074,7 +1079,7 @@ namespace FModel
|
|||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else if (IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/"))
|
||||
else if (IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Items/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
|
|
@ -1181,28 +1186,12 @@ namespace FModel
|
|||
}
|
||||
catch (IndexOutOfRangeException)
|
||||
{
|
||||
try
|
||||
{
|
||||
g.DrawString(IDParser[iii].GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(IDParser[iii].GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Weapon.Ranged."))].Substring(14), new Font(pfc.Families[0], 13), new SolidBrush(Color.White), new Point(522 - 5, 500), rightString);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
AppendText("[NullReferenceException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("GameplayTags ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
}
|
||||
catch (IndexOutOfRangeException)
|
||||
{
|
||||
AppendText("[IndexOutOfRangeException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("GameplayTags ", Color.SteelBlue);
|
||||
AppendText("as ", Color.Black);
|
||||
AppendText("Cosmetics.Source ", Color.SteelBlue);
|
||||
AppendText("or ", Color.Black);
|
||||
AppendText("Weapon.Ranged ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
}
|
||||
AppendText("[IndexOutOfRangeException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("GameplayTags ", Color.SteelBlue);
|
||||
AppendText("as ", Color.Black);
|
||||
AppendText("Cosmetics.Source ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
} //COSMETIC SOURCE
|
||||
|
||||
ItemIconPictureBox.Image = bmp;
|
||||
|
|
@ -1217,13 +1206,14 @@ namespace FModel
|
|||
AppendText(" successfully saved to ", Color.Black);
|
||||
AppendText(docPath + "\\Generated Icons\\" + ItemName + ".png", Color.SteelBlue, true);
|
||||
}
|
||||
}
|
||||
if (IDParser[iii].ExportType == "FortVariantTokenType")
|
||||
} //Cosmetics
|
||||
if (Properties.Settings.Default.createIconForConsumablesWeapons == true && (IDParser[iii].ExportType.Contains("FortWeaponRangedItemDefinition") || IDParser[iii].ExportType.Contains("FortWeaponMeleeItemDefinition")))
|
||||
{
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(currentItem, Color.DarkRed);
|
||||
AppendText(" is an ", Color.Black);
|
||||
AppendText("Cosmetic Variant file", Color.SteelBlue, true);
|
||||
AppendText("ID", Color.SteelBlue);
|
||||
AppendText(" file", Color.Black, true);
|
||||
|
||||
ItemName = IDParser[iii].DisplayName;
|
||||
Bitmap bmp = new Bitmap(522, 522);
|
||||
|
|
@ -1261,7 +1251,7 @@ namespace FModel
|
|||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else if (IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/"))
|
||||
else if (IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Items/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
|
|
@ -1334,7 +1324,471 @@ namespace FModel
|
|||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else if (IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/"))
|
||||
else if (IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Items/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0_s7-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
});
|
||||
filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
if (filesPath != null)
|
||||
{
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" successfully extracted to ", Color.Black);
|
||||
AppendText(filesPath.Substring(0, filesPath.LastIndexOf('.')), Color.SteelBlue, true);
|
||||
|
||||
itemIconPath = filesPath.Substring(0, filesPath.LastIndexOf('.')) + ".png";
|
||||
if (!File.Exists(itemIconPath))
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
jwpmProcess("texture \"" + filesPath.Substring(0, filesPath.LastIndexOf('.')) + "\"");
|
||||
});
|
||||
itemIconPath = filesPath.Substring(0, filesPath.LastIndexOf('.')) + ".png";
|
||||
}
|
||||
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" successfully converted to a PNG image with path ", Color.Black);
|
||||
AppendText(itemIconPath, Color.SteelBlue, true);
|
||||
}
|
||||
}
|
||||
catch (IndexOutOfRangeException)
|
||||
{
|
||||
AppendText("[IndexOutOfRangeException] ", Color.Red);
|
||||
AppendText("Can't extract ", Color.Black);
|
||||
AppendText(textureFile, Color.SteelBlue);
|
||||
AppendText(" in ", Color.Black);
|
||||
AppendText("pakchunk0_s7-WindowsClient.pak", Color.DarkRed, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (File.Exists(itemIconPath))
|
||||
{
|
||||
Image ItemIcon = Image.FromFile(itemIconPath);
|
||||
g.DrawImage(ItemIcon, new Point(5, 5));
|
||||
}
|
||||
else
|
||||
{
|
||||
Image ItemIcon = Properties.Resources.unknown512;
|
||||
g.DrawImage(ItemIcon, new Point(0, 0));
|
||||
}
|
||||
|
||||
Image bg512 = Properties.Resources.BG512;
|
||||
g.DrawImage(bg512, new Point(5, 383));
|
||||
|
||||
try
|
||||
{
|
||||
g.DrawString(ItemName, new Font(pfc.Families[0], 35), new SolidBrush(Color.White), new Point(522 / 2, 395), centeredString);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
AppendText("[NullReferenceException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("DisplayName ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
} //NAME
|
||||
try
|
||||
{
|
||||
g.DrawString(IDParser[iii].Description, new Font("Arial", 10), new SolidBrush(Color.White), new Point(522 / 2, 465), centeredStringLine);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
AppendText("[NullReferenceException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("Description ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
} //DESCRIPTION
|
||||
try
|
||||
{
|
||||
g.DrawString(IDParser[iii].GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(IDParser[iii].GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Athena.ItemAction."))].Substring(18), new Font(pfc.Families[0], 13), new SolidBrush(Color.White), new Point(522 - 5, 500), rightString);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
AppendText("[NullReferenceException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("GameplayTags ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
}
|
||||
catch (IndexOutOfRangeException)
|
||||
{
|
||||
try
|
||||
{
|
||||
g.DrawString(IDParser[iii].GameplayTags.GameplayTagsGameplayTags[Array.FindIndex(IDParser[iii].GameplayTags.GameplayTagsGameplayTags, x => x.StartsWith("Weapon."))].Substring(7), new Font(pfc.Families[0], 13), new SolidBrush(Color.White), new Point(522 - 5, 500), rightString);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
AppendText("[NullReferenceException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("GameplayTags ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
}
|
||||
catch (IndexOutOfRangeException)
|
||||
{
|
||||
AppendText("[IndexOutOfRangeException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("GameplayTags ", Color.SteelBlue);
|
||||
AppendText("as ", Color.Black);
|
||||
AppendText("Athena.ItemAction ", Color.SteelBlue);
|
||||
AppendText("or ", Color.Black);
|
||||
AppendText("Weapon ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
}
|
||||
} //ACTION
|
||||
|
||||
ItemIconPictureBox.Image = bmp;
|
||||
if (((ToolStripMenuItem)ExtractAsset.Items[1]).Checked == true)
|
||||
{
|
||||
AppendText("Auto saving icons set to ", Color.Black);
|
||||
AppendText("True", Color.Green, true);
|
||||
ItemIconPictureBox.Image.Save(docPath + "\\Generated Icons\\" + ItemName + ".png", ImageFormat.Png);
|
||||
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(ItemName, Color.DarkRed);
|
||||
AppendText(" successfully saved to ", Color.Black);
|
||||
AppendText(docPath + "\\Generated Icons\\" + ItemName + ".png", Color.SteelBlue, true);
|
||||
}
|
||||
} //Consumables & Weapons
|
||||
if (Properties.Settings.Default.createIconForTraps == true && (IDParser[iii].ExportType.Contains("FortTrapItemDefinition") || IDParser[iii].ExportType.Contains("FortContextTrapItemDefinition")))
|
||||
{
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(currentItem, Color.DarkRed);
|
||||
AppendText(" is a ", Color.Black);
|
||||
AppendText("Trap ID", Color.SteelBlue);
|
||||
AppendText(" file", Color.Black, true);
|
||||
|
||||
ItemName = IDParser[iii].DisplayName;
|
||||
Bitmap bmp = new Bitmap(522, 522);
|
||||
Graphics g = Graphics.FromImage(bmp);
|
||||
g.TextRenderingHint = TextRenderingHint.AntiAlias;
|
||||
|
||||
getItemRarity(IDParser[iii], g);
|
||||
|
||||
string itemIconPath = string.Empty;
|
||||
|
||||
if (IDParser[iii].LargePreviewImage != null)
|
||||
{
|
||||
string textureFile = Path.GetFileName(IDParser[iii].LargePreviewImage.AssetPathName).Substring(0, Path.GetFileName(IDParser[iii].LargePreviewImage.AssetPathName).LastIndexOf('.'));
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" detected as a ", Color.Black);
|
||||
AppendText("Texture2D file", Color.SteelBlue, true);
|
||||
|
||||
var filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
if (!File.Exists(filesPath))
|
||||
{
|
||||
if (currentGUID != "0-0-0-0") //DYNAMIC PAK
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
});
|
||||
filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
}
|
||||
else //NORMAL PAK
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
if (IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/2dAssets/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else if (IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Items/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0_s7-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
});
|
||||
filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
if (filesPath != null)
|
||||
{
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" successfully extracted to ", Color.Black);
|
||||
AppendText(filesPath.Substring(0, filesPath.LastIndexOf('.')), Color.SteelBlue, true);
|
||||
|
||||
itemIconPath = filesPath.Substring(0, filesPath.LastIndexOf('.')) + ".png";
|
||||
if (!File.Exists(itemIconPath))
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
jwpmProcess("texture \"" + filesPath.Substring(0, filesPath.LastIndexOf('.')) + "\"");
|
||||
});
|
||||
itemIconPath = filesPath.Substring(0, filesPath.LastIndexOf('.')) + ".png";
|
||||
}
|
||||
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" successfully converted to a PNG image with path ", Color.Black);
|
||||
AppendText(itemIconPath, Color.SteelBlue, true);
|
||||
}
|
||||
}
|
||||
catch (IndexOutOfRangeException)
|
||||
{
|
||||
AppendText("[IndexOutOfRangeException] ", Color.Red);
|
||||
AppendText("Can't extract ", Color.Black);
|
||||
AppendText(textureFile, Color.SteelBlue);
|
||||
AppendText(" in ", Color.Black);
|
||||
AppendText("pakchunk0_s7-WindowsClient.pak", Color.DarkRed, true);
|
||||
}
|
||||
}
|
||||
else if (IDParser[iii].SmallPreviewImage != null)
|
||||
{
|
||||
string textureFile = Path.GetFileName(IDParser[iii].SmallPreviewImage.AssetPathName).Substring(0, Path.GetFileName(IDParser[iii].SmallPreviewImage.AssetPathName).LastIndexOf('.'));
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" detected as a ", Color.Black);
|
||||
AppendText("Texture2D file", Color.SteelBlue, true);
|
||||
|
||||
var filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
if (!File.Exists(filesPath))
|
||||
{
|
||||
if (currentGUID != "0-0-0-0")
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
});
|
||||
filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
}
|
||||
else
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
if (IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/2dAssets/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else if (IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Items/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0_s7-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
});
|
||||
filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
if (filesPath != null)
|
||||
{
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" successfully extracted to ", Color.Black);
|
||||
AppendText(filesPath.Substring(0, filesPath.LastIndexOf('.')), Color.SteelBlue, true);
|
||||
|
||||
itemIconPath = filesPath.Substring(0, filesPath.LastIndexOf('.')) + ".png";
|
||||
if (!File.Exists(itemIconPath))
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
jwpmProcess("texture \"" + filesPath.Substring(0, filesPath.LastIndexOf('.')) + "\"");
|
||||
});
|
||||
itemIconPath = filesPath.Substring(0, filesPath.LastIndexOf('.')) + ".png";
|
||||
}
|
||||
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" successfully converted to a PNG image with path ", Color.Black);
|
||||
AppendText(itemIconPath, Color.SteelBlue, true);
|
||||
}
|
||||
}
|
||||
catch (IndexOutOfRangeException)
|
||||
{
|
||||
AppendText("[IndexOutOfRangeException] ", Color.Red);
|
||||
AppendText("Can't extract ", Color.Black);
|
||||
AppendText(textureFile, Color.SteelBlue);
|
||||
AppendText(" in ", Color.Black);
|
||||
AppendText("pakchunk0_s7-WindowsClient.pak", Color.DarkRed, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (File.Exists(itemIconPath))
|
||||
{
|
||||
Image ItemIcon = Image.FromFile(itemIconPath);
|
||||
g.DrawImage(ItemIcon, new Point(5, 5));
|
||||
}
|
||||
else
|
||||
{
|
||||
Image ItemIcon = Properties.Resources.unknown512;
|
||||
g.DrawImage(ItemIcon, new Point(0, 0));
|
||||
}
|
||||
|
||||
Image bg512 = Properties.Resources.BG512;
|
||||
g.DrawImage(bg512, new Point(5, 383));
|
||||
|
||||
try
|
||||
{
|
||||
g.DrawString(ItemName, new Font(pfc.Families[0], 35), new SolidBrush(Color.White), new Point(522 / 2, 395), centeredString);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
AppendText("[NullReferenceException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("DisplayName ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
} //NAME
|
||||
try
|
||||
{
|
||||
g.DrawString(IDParser[iii].Description, new Font("Arial", 10), new SolidBrush(Color.White), new Point(522 / 2, 465), centeredStringLine);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
AppendText("[NullReferenceException] ", Color.Red);
|
||||
AppendText("No ", Color.Black);
|
||||
AppendText("Description ", Color.SteelBlue);
|
||||
AppendText("found", Color.Black, true);
|
||||
} //DESCRIPTION
|
||||
|
||||
ItemIconPictureBox.Image = bmp;
|
||||
if (((ToolStripMenuItem)ExtractAsset.Items[1]).Checked == true)
|
||||
{
|
||||
AppendText("Auto saving icons set to ", Color.Black);
|
||||
AppendText("True", Color.Green, true);
|
||||
ItemIconPictureBox.Image.Save(docPath + "\\Generated Icons\\" + ItemName + ".png", ImageFormat.Png);
|
||||
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(ItemName, Color.DarkRed);
|
||||
AppendText(" successfully saved to ", Color.Black);
|
||||
AppendText(docPath + "\\Generated Icons\\" + ItemName + ".png", Color.SteelBlue, true);
|
||||
}
|
||||
} //Traps
|
||||
if (Properties.Settings.Default.createIconForVariants == true && (IDParser[iii].ExportType == "FortVariantTokenType"))
|
||||
{
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(currentItem, Color.DarkRed);
|
||||
AppendText(" is a ", Color.Black);
|
||||
AppendText("Cosmetic Variant", Color.SteelBlue);
|
||||
AppendText(" file", Color.Black, true);
|
||||
|
||||
ItemName = IDParser[iii].DisplayName;
|
||||
Bitmap bmp = new Bitmap(522, 522);
|
||||
Graphics g = Graphics.FromImage(bmp);
|
||||
g.TextRenderingHint = TextRenderingHint.AntiAlias;
|
||||
|
||||
getItemRarity(IDParser[iii], g);
|
||||
|
||||
string itemIconPath = string.Empty;
|
||||
|
||||
if (IDParser[iii].LargePreviewImage != null)
|
||||
{
|
||||
string textureFile = Path.GetFileName(IDParser[iii].LargePreviewImage.AssetPathName).Substring(0, Path.GetFileName(IDParser[iii].LargePreviewImage.AssetPathName).LastIndexOf('.'));
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" detected as a ", Color.Black);
|
||||
AppendText("Texture2D file", Color.SteelBlue, true);
|
||||
|
||||
var filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
if (!File.Exists(filesPath))
|
||||
{
|
||||
if (currentGUID != "0-0-0-0") //DYNAMIC PAK
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
});
|
||||
filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
}
|
||||
else //NORMAL PAK
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
if (IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/2dAssets/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else if (IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Items/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0_s7-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
});
|
||||
filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
if (filesPath != null)
|
||||
{
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" successfully extracted to ", Color.Black);
|
||||
AppendText(filesPath.Substring(0, filesPath.LastIndexOf('.')), Color.SteelBlue, true);
|
||||
|
||||
itemIconPath = filesPath.Substring(0, filesPath.LastIndexOf('.')) + ".png";
|
||||
if (!File.Exists(itemIconPath))
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
jwpmProcess("texture \"" + filesPath.Substring(0, filesPath.LastIndexOf('.')) + "\"");
|
||||
});
|
||||
itemIconPath = filesPath.Substring(0, filesPath.LastIndexOf('.')) + ".png";
|
||||
}
|
||||
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" successfully converted to a PNG image with path ", Color.Black);
|
||||
AppendText(itemIconPath, Color.SteelBlue, true);
|
||||
}
|
||||
}
|
||||
catch (IndexOutOfRangeException)
|
||||
{
|
||||
AppendText("[IndexOutOfRangeException] ", Color.Red);
|
||||
AppendText("Can't extract ", Color.Black);
|
||||
AppendText(textureFile, Color.SteelBlue);
|
||||
AppendText(" in ", Color.Black);
|
||||
AppendText("pakchunk0_s7-WindowsClient.pak", Color.DarkRed, true);
|
||||
}
|
||||
}
|
||||
else if (IDParser[iii].SmallPreviewImage != null)
|
||||
{
|
||||
string textureFile = Path.GetFileName(IDParser[iii].SmallPreviewImage.AssetPathName).Substring(0, Path.GetFileName(IDParser[iii].SmallPreviewImage.AssetPathName).LastIndexOf('.'));
|
||||
AppendText("✔ ", Color.Green);
|
||||
AppendText(textureFile, Color.DarkRed);
|
||||
AppendText(" detected as a ", Color.Black);
|
||||
AppendText("Texture2D file", Color.SteelBlue, true);
|
||||
|
||||
var filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
if (!File.Exists(filesPath))
|
||||
{
|
||||
if (currentGUID != "0-0-0-0")
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
});
|
||||
filesPath = Directory.GetFiles(docPath + "\\Extracted", textureFile + ".*", SearchOption.AllDirectories).FirstOrDefault();
|
||||
}
|
||||
else
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
if (IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/2dAssets/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\pakchunk0-WindowsClient.pak" + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
else if (IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/TestAssets/") || IDParser[iii].SmallPreviewImage.AssetPathName.Contains("/Game/Athena/Prototype/") || IDParser[iii].LargePreviewImage.AssetPathName.Contains("/Game/Athena/Items/"))
|
||||
{
|
||||
jwpmProcess("extract \"" + Properties.Settings.Default.FortnitePAKs + "\\" + currentPAK + "\" \"" + textureFile + "\" \"" + docPath + "\"");
|
||||
}
|
||||
|
|
@ -1452,7 +1906,7 @@ namespace FModel
|
|||
AppendText(" successfully saved to ", Color.Black);
|
||||
AppendText(docPath + "\\Generated Icons\\" + ItemName + ".png", Color.SteelBlue, true);
|
||||
}
|
||||
}
|
||||
} //CosmeticVariantTokens
|
||||
}
|
||||
}
|
||||
for (int ii = 0; ii < IDParser.Length; ii++)
|
||||
|
|
|
|||
44
FModel/Properties/Settings.Designer.cs
generated
44
FModel/Properties/Settings.Designer.cs
generated
|
|
@ -81,5 +81,49 @@ namespace FModel.Properties {
|
|||
this["mergerImagesRow"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public bool createIconForCosmetics {
|
||||
get {
|
||||
return ((bool)(this["createIconForCosmetics"]));
|
||||
}
|
||||
set {
|
||||
this["createIconForCosmetics"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public bool createIconForConsumablesWeapons {
|
||||
get {
|
||||
return ((bool)(this["createIconForConsumablesWeapons"]));
|
||||
}
|
||||
set {
|
||||
this["createIconForConsumablesWeapons"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public bool createIconForTraps {
|
||||
get {
|
||||
return ((bool)(this["createIconForTraps"]));
|
||||
}
|
||||
set {
|
||||
this["createIconForTraps"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public bool createIconForVariants {
|
||||
get {
|
||||
return ((bool)(this["createIconForVariants"]));
|
||||
}
|
||||
set {
|
||||
this["createIconForVariants"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,5 +17,17 @@
|
|||
<Setting Name="mergerImagesRow" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="createIconForCosmetics" GenerateDefaultValueInCode="false" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="createIconForConsumablesWeapons" GenerateDefaultValueInCode="false" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="createIconForTraps" GenerateDefaultValueInCode="false" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="createIconForVariants" GenerateDefaultValueInCode="false" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
Loading…
Reference in New Issue
Block a user