mirror of
https://github.com/4sval/FModel.git
synced 2026-03-24 18:54:42 -05:00
updated contributors + copy to clipboard selected file path
This commit is contained in:
parent
9c2ee65cc7
commit
fe9171adb2
11
FModel/Forms/AESManager.Designer.cs
generated
11
FModel/Forms/AESManager.Designer.cs
generated
|
|
@ -73,7 +73,7 @@
|
|||
//
|
||||
this.OKButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.OKButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.OKButton.Location = new System.Drawing.Point(480, 249);
|
||||
this.OKButton.Location = new System.Drawing.Point(480, 292);
|
||||
this.OKButton.Name = "OKButton";
|
||||
this.OKButton.Size = new System.Drawing.Size(97, 21);
|
||||
this.OKButton.TabIndex = 16;
|
||||
|
|
@ -83,12 +83,13 @@
|
|||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBox1.Controls.Add(this.panel1);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 67);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(565, 176);
|
||||
this.groupBox1.Size = new System.Drawing.Size(565, 219);
|
||||
this.groupBox1.TabIndex = 17;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Dynamic Keys:";
|
||||
|
|
@ -99,14 +100,14 @@
|
|||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(3, 16);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(559, 157);
|
||||
this.panel1.Size = new System.Drawing.Size(559, 200);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// AESManager
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(589, 282);
|
||||
this.ClientSize = new System.Drawing.Size(589, 325);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.OKButton);
|
||||
this.Controls.Add(this.groupBox3);
|
||||
|
|
|
|||
9
FModel/Forms/About.Designer.cs
generated
9
FModel/Forms/About.Designer.cs
generated
|
|
@ -48,7 +48,7 @@
|
|||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
//
|
||||
// linkLabel1
|
||||
//
|
||||
this.linkLabel1.AutoSize = true;
|
||||
|
|
@ -77,7 +77,8 @@
|
|||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(360, 40);
|
||||
this.label1.TabIndex = 3;
|
||||
this.label1.Text = "FModel is a Fortnite .PAK file explorer built in C#\r\nIf you find this project useful, feel free to give it a star on GitHub\r\n⊂(◕‿◕)つ";
|
||||
this.label1.Text = "FModel is a Fortnite .PAK file explorer built in C#\r\nIf you find this project use" +
|
||||
"ful, feel free to give it a star on GitHub\r\n⊂(◕‿◕)つ";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// label2
|
||||
|
|
@ -109,9 +110,9 @@
|
|||
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label4.Location = new System.Drawing.Point(53, 124);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(71, 12);
|
||||
this.label4.Size = new System.Drawing.Size(277, 13);
|
||||
this.label4.TabIndex = 11;
|
||||
this.label4.Text = "• Asval • Waddlesworth • AyeTSG • FireMonkey";
|
||||
this.label4.Text = "• Asval • Waddlesworth • AyeTSG • FireMonkey • Maiky M";
|
||||
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// About
|
||||
|
|
|
|||
41
FModel/MainWindow.Designer.cs
generated
41
FModel/MainWindow.Designer.cs
generated
|
|
@ -70,6 +70,7 @@
|
|||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||
this.backgroundWorker2 = new System.ComponentModel.BackgroundWorker();
|
||||
this.copySelectedFilePathToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.panel1.SuspendLayout();
|
||||
|
|
@ -146,26 +147,26 @@
|
|||
// loadOneToolStripMenuItem
|
||||
//
|
||||
this.loadOneToolStripMenuItem.Name = "loadOneToolStripMenuItem";
|
||||
this.loadOneToolStripMenuItem.Size = new System.Drawing.Size(162, 22);
|
||||
this.loadOneToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.loadOneToolStripMenuItem.Text = "Load One PAK";
|
||||
this.loadOneToolStripMenuItem.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.loadOneToolStripMenuItem_DropDownItemClicked);
|
||||
//
|
||||
// loadAllToolStripMenuItem
|
||||
//
|
||||
this.loadAllToolStripMenuItem.Name = "loadAllToolStripMenuItem";
|
||||
this.loadAllToolStripMenuItem.Size = new System.Drawing.Size(162, 22);
|
||||
this.loadAllToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.loadAllToolStripMenuItem.Text = "Load All PAKs";
|
||||
this.loadAllToolStripMenuItem.Click += new System.EventHandler(this.loadAllToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(159, 6);
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6);
|
||||
//
|
||||
// backupPAKsToolStripMenuItem
|
||||
//
|
||||
this.backupPAKsToolStripMenuItem.Name = "backupPAKsToolStripMenuItem";
|
||||
this.backupPAKsToolStripMenuItem.Size = new System.Drawing.Size(162, 22);
|
||||
this.backupPAKsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.backupPAKsToolStripMenuItem.Text = "Backup PAKs";
|
||||
this.backupPAKsToolStripMenuItem.Click += new System.EventHandler(this.backupPAKsToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -173,7 +174,7 @@
|
|||
//
|
||||
this.differenceModeToolStripMenuItem.CheckOnClick = true;
|
||||
this.differenceModeToolStripMenuItem.Name = "differenceModeToolStripMenuItem";
|
||||
this.differenceModeToolStripMenuItem.Size = new System.Drawing.Size(162, 22);
|
||||
this.differenceModeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.differenceModeToolStripMenuItem.Text = "Difference Mode";
|
||||
this.differenceModeToolStripMenuItem.CheckedChanged += new System.EventHandler(this.differenceModeToolStripMenuItem_CheckedChanged);
|
||||
//
|
||||
|
|
@ -182,27 +183,29 @@
|
|||
this.updateModeToolStripMenuItem.CheckOnClick = true;
|
||||
this.updateModeToolStripMenuItem.Enabled = false;
|
||||
this.updateModeToolStripMenuItem.Name = "updateModeToolStripMenuItem";
|
||||
this.updateModeToolStripMenuItem.Size = new System.Drawing.Size(162, 22);
|
||||
this.updateModeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.updateModeToolStripMenuItem.Text = "Update Mode";
|
||||
this.updateModeToolStripMenuItem.CheckedChanged += new System.EventHandler(this.updateModeToolStripMenuItem_CheckedChanged);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(159, 6);
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(177, 6);
|
||||
//
|
||||
// settingsToolStripMenuItem
|
||||
//
|
||||
this.settingsToolStripMenuItem.Image = global::FModel.Properties.Resources.properties_16xLG;
|
||||
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
||||
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(162, 22);
|
||||
this.settingsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
|
||||
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.settingsToolStripMenuItem.Text = "Settings";
|
||||
this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click);
|
||||
//
|
||||
// filesToolStripMenuItem
|
||||
//
|
||||
this.filesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.searchToolStripMenuItem});
|
||||
this.searchToolStripMenuItem,
|
||||
this.copySelectedFilePathToolStripMenuItem});
|
||||
this.filesToolStripMenuItem.Name = "filesToolStripMenuItem";
|
||||
this.filesToolStripMenuItem.Size = new System.Drawing.Size(42, 20);
|
||||
this.filesToolStripMenuItem.Text = "Files";
|
||||
|
|
@ -210,7 +213,8 @@
|
|||
// searchToolStripMenuItem
|
||||
//
|
||||
this.searchToolStripMenuItem.Name = "searchToolStripMenuItem";
|
||||
this.searchToolStripMenuItem.Size = new System.Drawing.Size(109, 22);
|
||||
this.searchToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F1;
|
||||
this.searchToolStripMenuItem.Size = new System.Drawing.Size(216, 22);
|
||||
this.searchToolStripMenuItem.Text = "Search";
|
||||
this.searchToolStripMenuItem.Click += new System.EventHandler(this.searchToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -228,7 +232,7 @@
|
|||
// saveImageToolStripMenuItem
|
||||
//
|
||||
this.saveImageToolStripMenuItem.Name = "saveImageToolStripMenuItem";
|
||||
this.saveImageToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
||||
this.saveImageToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.saveImageToolStripMenuItem.Text = "Save Image";
|
||||
this.saveImageToolStripMenuItem.Click += new System.EventHandler(this.saveImageToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -236,18 +240,18 @@
|
|||
//
|
||||
this.autoSaveImagesToolStripMenuItem.CheckOnClick = true;
|
||||
this.autoSaveImagesToolStripMenuItem.Name = "autoSaveImagesToolStripMenuItem";
|
||||
this.autoSaveImagesToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
||||
this.autoSaveImagesToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.autoSaveImagesToolStripMenuItem.Text = "Auto Save Images";
|
||||
//
|
||||
// toolStripSeparator3
|
||||
//
|
||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||
this.toolStripSeparator3.Size = new System.Drawing.Size(165, 6);
|
||||
this.toolStripSeparator3.Size = new System.Drawing.Size(177, 6);
|
||||
//
|
||||
// mergeImagesToolStripMenuItem
|
||||
//
|
||||
this.mergeImagesToolStripMenuItem.Name = "mergeImagesToolStripMenuItem";
|
||||
this.mergeImagesToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
||||
this.mergeImagesToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.mergeImagesToolStripMenuItem.Text = "Merge Images";
|
||||
this.mergeImagesToolStripMenuItem.Click += new System.EventHandler(this.mergeImagesToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -460,6 +464,14 @@
|
|||
this.backgroundWorker2.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker2_DoWork);
|
||||
this.backgroundWorker2.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker2_RunWorkerCompleted);
|
||||
//
|
||||
// copySelectedFilePathToolStripMenuItem
|
||||
//
|
||||
this.copySelectedFilePathToolStripMenuItem.Name = "copySelectedFilePathToolStripMenuItem";
|
||||
this.copySelectedFilePathToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F2;
|
||||
this.copySelectedFilePathToolStripMenuItem.Size = new System.Drawing.Size(216, 22);
|
||||
this.copySelectedFilePathToolStripMenuItem.Text = "Copy Selected File Path";
|
||||
this.copySelectedFilePathToolStripMenuItem.Click += new System.EventHandler(this.CopySelectedFilePathToolStripMenuItem_Click);
|
||||
//
|
||||
// MainWindow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
|
@ -533,6 +545,7 @@
|
|||
private System.Windows.Forms.ToolStripMenuItem filesToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.ToolStripMenuItem copySelectedFilePathToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1545,5 +1545,25 @@ namespace FModel
|
|||
ImagesMerger.AskMergeImages();
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void CopySelectedFilePathToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (listBox1.SelectedItem != null)
|
||||
{
|
||||
string treeviewPath = treeView1.SelectedNode.FullPath;
|
||||
if (treeviewPath.StartsWith("..\\")) { treeviewPath = treeviewPath.Substring(3); } //if loading all paks
|
||||
|
||||
string path = treeviewPath + "\\" + listBox1.SelectedItem;
|
||||
if (!path.Contains(".")) //if file uasset/uexp/ubulk
|
||||
{
|
||||
Clipboard.SetText(path.Replace("\\", "/") + ".uasset");
|
||||
}
|
||||
else
|
||||
{
|
||||
Clipboard.SetText(path.Replace("\\", "/"));
|
||||
}
|
||||
AppendText("Copied!", Color.Green, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@
|
|||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABa
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAASgBAQEoAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAATABAQEwAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ namespace FModel
|
|||
}
|
||||
AESEntries = outputList;
|
||||
}
|
||||
else { throw new Exception("Fail to locate AESManager.xml"); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ namespace FModel
|
|||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
throw new Exception(ex.Message);
|
||||
}
|
||||
return content;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,7 +62,8 @@ namespace FModel
|
|||
{
|
||||
int index = listBeforeData.IndexOf(str);
|
||||
|
||||
//Console.WriteLine("DName: " + listBeforeData[index - 3]);
|
||||
Console.WriteLine("DName: " + listBeforeData[index - 3]);
|
||||
Console.WriteLine("Description: " + listBeforeData[index - 1]);
|
||||
|
||||
myNamespacesList.Add(listBeforeData[index - 3]);
|
||||
myNamespacesList.Add(listBeforeData[index - 1]);
|
||||
|
|
@ -83,7 +84,7 @@ namespace FModel
|
|||
reader.ReadBytes(24);
|
||||
|
||||
int AssetLength = reader.ReadInt32();
|
||||
Console.WriteLine(AssetLength);
|
||||
//Console.WriteLine(AssetLength);
|
||||
|
||||
reader.ReadBytes(13);
|
||||
int NamespaceCount = reader.ReadInt32();
|
||||
|
|
|
|||
|
|
@ -99,9 +99,16 @@ namespace FModel
|
|||
}
|
||||
|
||||
currentPakToCheck = currentPak;
|
||||
/*if (File.Exists(AssetPath.Substring(0, AssetPath.LastIndexOf(".")) + ".uasset")) //TEST
|
||||
/*if (AssetPath.Contains("Athena\\Items\\") && File.Exists(AssetPath.Substring(0, AssetPath.LastIndexOf(".")) + ".uexp")) //TEST
|
||||
{
|
||||
AssetNameMap.getNameMap(AssetPath.Substring(0, AssetPath.LastIndexOf(".")) + ".uasset");
|
||||
try
|
||||
{
|
||||
AssetNameMap.searchStringsInUexp(AssetPath.Substring(0, AssetPath.LastIndexOf(".")) + ".uexp");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception(ex.Message);
|
||||
}
|
||||
}*/
|
||||
|
||||
return AssetPath;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace FModel
|
||||
|
|
@ -12,6 +14,7 @@ namespace FModel
|
|||
* */
|
||||
static class LocResSerializer
|
||||
{
|
||||
private static byte[] LocResMagic = { 0x0E, 0x14, 0x74, 0x75, 0x67, 0x4A, 0x03, 0xFC, 0x4A, 0x15, 0x90, 0x9D, 0xC3, 0x37, 0x7F, 0x1B };
|
||||
private static long LocalizedStringArrayOffset { get; set; }
|
||||
private static string[] LocalizedStringArray { get; set; }
|
||||
private static string NamespacesString { get; set; }
|
||||
|
|
@ -28,36 +31,42 @@ namespace FModel
|
|||
using (BinaryReader reader = new BinaryReader(File.Open(filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), Encoding.GetEncoding(1252)))
|
||||
{
|
||||
byte[] MagicNumber = reader.ReadBytes(16);
|
||||
|
||||
byte VersionNumber = reader.ReadByte();
|
||||
|
||||
LocalizedStringArrayOffset = reader.ReadInt64();
|
||||
if (LocalizedStringArrayOffset != -1)
|
||||
if (MagicNumber.SequenceEqual(LocResMagic))
|
||||
{
|
||||
long CurrentFileOffset = reader.BaseStream.Position;
|
||||
|
||||
reader.BaseStream.Seek(LocalizedStringArrayOffset, SeekOrigin.Begin);
|
||||
int arrayLength = reader.ReadInt32();
|
||||
|
||||
reader.BaseStream.Seek(LocalizedStringArrayOffset, SeekOrigin.Begin);
|
||||
|
||||
LocalizedStringArray = new string[arrayLength];
|
||||
for (int i = 0; i < LocalizedStringArray.Length; i++)
|
||||
byte VersionNumber = reader.ReadByte();
|
||||
if (VersionNumber == 2) //optimized
|
||||
{
|
||||
LocalizedStringArray[i] = AssetReader.readCleanString(reader);
|
||||
}
|
||||
|
||||
reader.BaseStream.Seek(CurrentFileOffset, SeekOrigin.Begin);
|
||||
|
||||
uint NamespaceCount = reader.ReadUInt32();
|
||||
reader.ReadBytes(17);
|
||||
|
||||
for (uint i = 0; i < NamespaceCount; i++)
|
||||
{
|
||||
reader.ReadInt32();
|
||||
readNamespaces(reader);
|
||||
LocalizedStringArrayOffset = reader.ReadInt64();
|
||||
if (LocalizedStringArrayOffset != -1)
|
||||
{
|
||||
long CurrentFileOffset = reader.BaseStream.Position;
|
||||
|
||||
reader.BaseStream.Seek(LocalizedStringArrayOffset, SeekOrigin.Begin);
|
||||
int arrayLength = reader.ReadInt32();
|
||||
|
||||
reader.BaseStream.Seek(LocalizedStringArrayOffset, SeekOrigin.Begin);
|
||||
|
||||
LocalizedStringArray = new string[arrayLength];
|
||||
for (int i = 0; i < LocalizedStringArray.Length; i++)
|
||||
{
|
||||
LocalizedStringArray[i] = AssetReader.readCleanString(reader);
|
||||
}
|
||||
|
||||
reader.BaseStream.Seek(CurrentFileOffset, SeekOrigin.Begin);
|
||||
|
||||
uint NamespaceCount = reader.ReadUInt32();
|
||||
reader.ReadBytes(17);
|
||||
|
||||
for (uint i = 0; i < NamespaceCount; i++)
|
||||
{
|
||||
reader.ReadInt32();
|
||||
readNamespaces(reader);
|
||||
}
|
||||
}
|
||||
}
|
||||
else { throw new Exception("Unsupported LocRes version."); }
|
||||
}
|
||||
else { throw new Exception("Wrong LocResMagic number."); }
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(LocResDict, Formatting.Indented);
|
||||
|
|
|
|||
|
|
@ -74,10 +74,10 @@ Also if you find this project useful, feel free to give it a :star: thank you :k
|
|||
- [Find & Replace for ScintillaNET](https://www.nuget.org/packages/snt.ScintillaNet.FindReplaceDialog/)
|
||||
- [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)
|
||||
### Contributors
|
||||
| <a href="https://github.com/SirWaddles" target="_blank">**Waddlesworth**</a> | <a href="https://github.com/AyeTSG" target="_blank">**AyeTSG**</a> | <a href="https://github.com/ItsFireMonkey" target="_blank">**FireMonkey**</a> |
|
||||
| :---: | :---: | :---: |
|
||||
| [](https://github.com/SirWaddles) | [](https://github.com/AyeTSG) | [](https://github.com/ItsFireMonkey) |
|
||||
| <a href="https://github.com/SirWaddles" target="_blank">`https://github.com/SirWaddles`</a> | <a href="https://twitter.com/AyeTSG" target="_blank">`https://twitter.com/AyeTSG`</a> | <a href="https://twitter.com/FireMonkeyFN" target="_blank">`https://twitter.com/FireMonkeyFN`</a> |
|
||||
| <a href="https://github.com/SirWaddles" target="_blank">**Waddlesworth**</a> | <a href="https://github.com/AyeTSG" target="_blank">**AyeTSG**</a> | <a href="https://github.com/ItsFireMonkey" target="_blank">**FireMonkey**</a> | <a href="https://github.com/MaikyM" target="_blank">**Maiky M**</a> |
|
||||
| :---: | :---: | :---: | :---: |
|
||||
| [](https://github.com/SirWaddles) | [](https://github.com/AyeTSG) | [](https://github.com/ItsFireMonkey) | [](https://github.com/MaikyM) |
|
||||
| <a href="https://github.com/SirWaddles" target="_blank">`https://github.com/SirWaddles`</a> | <a href="https://twitter.com/AyeTSG" target="_blank">`https://twitter.com/AyeTSG`</a> | <a href="https://twitter.com/FireMonkeyFN" target="_blank">`https://twitter.com/FireMonkeyFN`</a> |<a href="https://twitter.com/Mikey_Bad05" target="_blank">`https://twitter.com/Mikey_Bad05`</a> |
|
||||
### Why FModel
|
||||
This project is mainly based on what [UModel](https://github.com/gildor2/UModel) can do, in a personalized way, in case UModel doesn't work, as a temporary rescue solution.
|
||||
I'd highly suggest you to use [UModel](https://github.com/gildor2/UModel) instead if you wanna use something made professionnaly.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user