Skip to content

Commit

Permalink
fix improper cmd int version parsing, allow specifying mappings in cm…
Browse files Browse the repository at this point in the history
…d when opening file
  • Loading branch information
atenfyr committed Jan 19, 2025
1 parent 79c0df7 commit 37d58e6
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 7 deletions.
11 changes: 9 additions & 2 deletions UAssetGUI/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -387,10 +387,17 @@ private void Form1_Load(object sender, EventArgs e)
if (args.Length > 1)
{
EngineVersion selectedVer = EngineVersion.UNKNOWN;
if (args.Length > 2 && !Enum.TryParse(args[2], out selectedVer))

if (args.Length > 2)
{
if (int.TryParse(args[2], out int selectedVerRaw)) selectedVer = EngineVersion.VER_UE4_0 + selectedVerRaw;
else Enum.TryParse(args[2], out selectedVer);
}
if (args.Length > 3)
{
if (int.TryParse(args[2], out int selectedVerRaw)) selectedVer = (EngineVersion)selectedVerRaw;
UpdateMappings(args[3]);
}

if (selectedVer > EngineVersion.UNKNOWN) SetParsingVersion(selectedVer);
LoadFileAt(args[1]);
}
Expand Down
8 changes: 3 additions & 5 deletions UAssetGUI/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,16 @@ static void Main()
switch (args[1].ToLowerInvariant())
{
// tojson <source> <destination> <engine version> [mappings name]
// UAssetGUI tojson A.umap B.json 514 Outriders
// UAssetGUI tojson A.umap B.json 23 Outriders
case "tojson":
UAGConfig.LoadMappings();

if (args.Length < 5) break;
if (args.Length >= 6) UAGConfig.TryGetMappings(args[5], out selectedMappings);

EngineVersion selectedVer = EngineVersion.UNKNOWN;
if (!Enum.TryParse(args[4], out selectedVer))
{
if (int.TryParse(args[4], out int selectedVerRaw)) selectedVer = EngineVersion.VER_UE4_0 + selectedVerRaw;
}
if (int.TryParse(args[4], out int selectedVerRaw)) selectedVer = EngineVersion.VER_UE4_0 + selectedVerRaw;
else Enum.TryParse(args[4], out selectedVer);

string jsonSerializedAsset = new UAsset(args[2], selectedVer, selectedMappings).SerializeJson(Newtonsoft.Json.Formatting.Indented);
File.WriteAllText(args[3], jsonSerializedAsset);
Expand Down

0 comments on commit 37d58e6

Please sign in to comment.