Files
blitzkit/packages/game/Models/BlitzFileProvider.cs
T

41 lines
1.0 KiB
C#
Raw Normal View History

2026-02-02 19:04:54 -06:00
using System.Runtime.InteropServices;
using CUE4Parse.Compression;
2026-02-02 18:07:20 -06:00
using CUE4Parse.FileProvider;
2026-02-02 17:08:37 -06:00
using CUE4Parse.MappingsProvider;
using CUE4Parse.UE4.Versions;
2026-02-02 17:28:24 -06:00
namespace BlitzKit.Game.Models;
2026-02-02 17:08:37 -06:00
2026-02-02 18:07:20 -06:00
public class BlitzFileProvider : DefaultFileProvider
2026-02-02 17:08:37 -06:00
{
public BlitzFileProvider(string directory)
: base(
directory: directory,
searchOption: SearchOption.AllDirectories,
versions: new(EGame.GAME_UE5_5),
pathComparer: StringComparer.OrdinalIgnoreCase
)
{
MappingsContainer = new FileUsmapTypeMappingsProvider("../../packages/closed/blitz.usmap");
2026-02-02 19:04:54 -06:00
Initialize();
Mount();
string libraryExtension;
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
libraryExtension = "dll";
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
libraryExtension = "so";
}
else
{
throw new Exception("Unsupported OS");
}
OodleHelper.DownloadOodleDll($"../../temp/oodle.{libraryExtension}");
OodleHelper.Initialize($"../../temp/oodle.{libraryExtension}");
2026-02-02 17:08:37 -06:00
}
}