diff --git a/package.json b/package.json index 0946abcda..fc7728d0b 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "build:ids": "cd packages/scripts && bun build:ids", "prunestrings": "cd packages/scripts && bun prunestrings", "dev:cli:unpack": "cd src/CLI && dotnet run unpack \"C:/Program Files (x86)/Steam/steamapps/common/World of Tanks Blitz Playtest\" --no-overwrite", - "dev:cli:test": "cd src/CLI && dotnet run test" + "dev:cli:buildassets": "cd src/CLI && dotnet run buildassets" }, "license": "MIT", "dependencies": { diff --git a/src/CLI/Functions/AssetsBuilder.cs b/src/CLI/Functions/AssetsBuilder.cs new file mode 100644 index 000000000..75dc73b2d --- /dev/null +++ b/src/CLI/Functions/AssetsBuilder.cs @@ -0,0 +1,32 @@ +using CUE4Parse.FileProvider; +using CUE4Parse.FileProvider.Objects; + +namespace CLI.Functions +{ + public static class AssetsBuilder + { + private static readonly string LOCAL_USER = "coola"; + private static readonly string LOCAL_DLC_CONTAINERS_PATH = + $"C:/Users/{LOCAL_USER}/AppData/Local/Blitz/Saved/PersistentDownloadDir/Dlc/PakCache"; + private static readonly string LOCAL_BUNDLED_CONTAINERS_PATH = + "C:/Program Files (x86)/Steam/steamapps/common/World of Tanks Blitz Playtest/Blitz/Content/Paks"; + + public static void Build(string[] args) + { + DefaultFileProvider provider = new( + directory: new DirectoryInfo(LOCAL_DLC_CONTAINERS_PATH), + extraDirectories: [new(LOCAL_BUNDLED_CONTAINERS_PATH)], + searchOption: SearchOption.TopDirectoryOnly + ); + + provider.Initialize(); + provider.Mount(); + + foreach (var file in provider.Files) + { + GameFile gameFile = file.Value; + Console.WriteLine(gameFile.Path); + } + } + } +} diff --git a/src/CLI/Functions/Debug.cs b/src/CLI/Functions/Debug.cs deleted file mode 100644 index 8c2d6e84c..000000000 --- a/src/CLI/Functions/Debug.cs +++ /dev/null @@ -1,18 +0,0 @@ -using DotNet.Globbing; - -namespace CLI.Functions -{ - public static class Debug - { - public static void Run(string[] args) - { - var glob = Glob.Parse("Blitz/Content/Tanks/**"); - - Console.WriteLine( - glob.IsMatch( - "Blitz/Content/Tanks/China/Ch01_Type59/Attachments/ATC_Ch01_Type59_hull.uasset" - ) - ); - } - } -} diff --git a/src/CLI/Program.cs b/src/CLI/Program.cs index 71839a8c1..e07b2a91b 100644 --- a/src/CLI/Program.cs +++ b/src/CLI/Program.cs @@ -20,9 +20,9 @@ namespace CLI break; } - case "test": + case "buildassets": { - Debug.Run(args); + AssetsBuilder.Build(args); break; }