feat: first proof of concept of reading

This commit is contained in:
tresabhi committed 2025-01-25 13:20:55 -06:00
1 parent 6f9336d067
commit df93c986f9
4 files changed
+28 -27

No files matched your search

+1
View File
@@ -0,0 +1 @@
/submodules/
+1
View File
@@ -0,0 +1 @@
/submodules/
+23 -19
View File
@@ -1,11 +1,6 @@
using CLI.Constants;
using CLI.Models;
using CUE4Parse.FileProvider;
using CUE4Parse.FileProvider.Objects;
using CUE4Parse.UE4.Pak;
using CUE4Parse.UE4.Readers;
using CUE4Parse.UE4.Versions;
using CUE4Parse.UE4.VirtualFileSystem;
using UE4Config.Parsing;
namespace CLI.Functions
{
@@ -13,25 +8,34 @@ namespace CLI.Functions
{
public static void Run(Arguments args)
{
// string[] bundledContainers = Directory.GetFiles(Containers.BundledContainersDirectory);
// DefaultFileProvider provider = new(
// directory: new(BlitzConstants.AppDataDirectory),
// searchOption: SearchOption.AllDirectories,
// isCaseInsensitive: false,
// extraDirectories: [new(BlitzConstants.InstallationDirectory)]
// );
// foreach (string bundledContainer in bundledContainers)
// provider.Initialize();
// Console.WriteLine("Mounted containers: " + provider.MountedVfs.Count);
// foreach (var file in provider.Files)
// {
// string fileName = Path.GetFileName(bundledContainer);
// Console.WriteLine($"Parsing bundled container \"{fileName}\"...");
// GameFile gameFile = file.Value;
// Console.WriteLine(gameFile.Name);
// }
DefaultFileProvider provider = new(
directory: ContainerConstants.DLCContainersDirectory,
searchOption: SearchOption.TopDirectoryOnly,
isCaseInsensitive: false,
versions: new VersionContainer(BlitzConstants.EngineVersion)
PakFileReader reader = new(
"C:/Program Files (x86)/Steam/steamapps/common/World of Tanks Blitz Playtest/Blitz/Content/Paks/pakchunk0-Windows.pak"
);
provider.Initialize();
reader.Mount();
foreach (var file in reader.Files)
{
GameFile gameFile = file.Value;
// Console.WriteLine(gameFile);
}
}
}
}
+3 -8
View File
@@ -5,18 +5,13 @@ namespace CLI.Constants
public static class ContainerConstants
{
public const string ContentGroup = "p14y73c7_p5e_b10gg3RS_big_play";
// public const string BundledPaksDirectory = "./temp/blitz/Blitz/Content/Paks";
public const string BundledContainersDirectory =
"C:/Program Files (x86)/Steam/steamapps/common/World of Tanks Blitz Playtest/Blitz/Content/Paks";
// public const string DLCContainersDirectory = "./temp/unpacked";
public const string DLCContainersDirectory =
"C:/Users/coola/AppData/Local/Blitz/Saved/PersistentDownloadDir/Dlc/PakCache";
}
public static class BlitzConstants
{
public const EGame EngineVersion = EGame.GAME_UE5_3;
public const string InstallationDirectory =
"C:/Program Files (x86)/Steam/steamapps/common/World of Tanks Blitz Playtest";
public const string AppDataDirectory = "C:/Users/coola/AppData/Local/Blitz/";
}
}