Skip to content

Commit

Permalink
CacheWriter can be loaded from within SDK or FrostySdk
Browse files Browse the repository at this point in the history
  • Loading branch information
paulov-t committed May 12, 2023
1 parent e7b5c40 commit 4dd9aed
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions Libraries/FrostySdk/Frostbite/Cache/CacheManager.cs
Expand Up @@ -56,7 +56,7 @@ public async Task<bool> LoadDataAsync(string GameVersion, string gameLocation, I
public bool Load(ReadOnlySpan<char> gameLocation, ILogger logger, bool loadSDK, bool forceDeleteOfOld)
{
var profileName = string.Empty;
if(gameLocation.EndsWith(".exe"))
if (gameLocation.EndsWith(".exe"))
{
var FileInfoEXE = new FileInfo(gameLocation.ToString());
gameLocation = Directory.GetParent(FileInfoEXE.FullName).FullName;//.Replace(".exe", "");
Expand All @@ -82,7 +82,7 @@ public bool Load(ReadOnlySpan<char> gameLocation, ILogger logger, bool loadSDK,
logger = this;

logger.Log("Loaded Type Library SDK");
if(FileSystem.Instance == null)
if (FileSystem.Instance == null)
FileSystem.Instance = new FileSystem(gameLocation.ToString());

if (File.Exists(CachePath) && forceDeleteOfOld)
Expand Down Expand Up @@ -135,11 +135,11 @@ protected static async ValueTask<IEnumerable<EbxAssetEntry>> EnumerateEbx(string
nativeReader.Position = (long)EbxDataOffset;
var ebxCount = nativeReader.ReadUInt();
var positionOfAsset = -1L;
for(var i = 0; i < ebxCount; i++)
for (var i = 0; i < ebxCount; i++)
{
var ebxName = nativeReader.ReadLengthPrefixedString();
var ebxPositions = nativeReader.ReadLong();
if(ebxName == name)
if (ebxName == name)
{
positionOfAsset = ebxPositions;
break;
Expand Down Expand Up @@ -263,7 +263,17 @@ public static void CacheWrite()
{
if (!string.IsNullOrEmpty(ProfileManager.CacheWriter))
{
((ICacheWriter)AssetManager.Instance.LoadTypeFromPlugin(ProfileManager.CacheWriter)).Write();
//((ICacheWriter)AssetManager.Instance.LoadTypeFromPlugin(ProfileManager.CacheWriter)).Write();
var cacheWriter = AssetManager.Instance.LoadTypeFromPlugin(ProfileManager.CacheWriter);
if (cacheWriter == null)
cacheWriter = AssetManager.LoadTypeByName(ProfileManager.CacheWriter);


if (cacheWriter != null)
{
((ICacheWriter)cacheWriter).Write();
}

return;
}

Expand Down

0 comments on commit 4dd9aed

Please sign in to comment.