- [Core] Added new entry

This commit is contained in:
Razmoth
2023-11-11 19:21:46 +04:00
parent e863310354
commit 740b8725b2
12 changed files with 524 additions and 62 deletions

View File

@@ -35,6 +35,7 @@ namespace AssetStudio
Lz4HC,
Lzham,
Lz4Mr0k,
Lz4Inv = 5,
Zstd = 5
}
@@ -542,8 +543,12 @@ namespace AssetStudio
{
NetEaseUtils.Decrypt(compressedBytesSpan);
}
if (Game.Type.IsOPFP())
if (Game.Type.IsArknightsEndfield() && i == 0)
{
FairGuardUtils.Decrypt(compressedBytesSpan);
}
if (Game.Type.IsOPFP())
{
OPFPUtils.Decrypt(compressedBytesSpan, reader.FullPath);
}
var uncompressedSize = (int)blockInfo.uncompressedSize;
@@ -559,6 +564,26 @@ namespace AssetStudio
BigArrayPool<byte>.Shared.Return(uncompressedBytes);
break;
}
case CompressionType.Lz4Inv when Game.Type.IsArknightsEndfield():
{
var compressedSize = (int)blockInfo.compressedSize;
var compressedBytes = BigArrayPool<byte>.Shared.Rent(compressedSize);
reader.Read(compressedBytes, 0, compressedSize);
var compressedBytesSpan = compressedBytes.AsSpan(0, compressedSize);
if (i == 0)
{
FairGuardUtils.Decrypt(compressedBytesSpan);
}
var uncompressedSize = (int)blockInfo.uncompressedSize;
var uncompressedBytes = BigArrayPool<byte>.Shared.Rent(uncompressedSize);
var uncompressedBytesSpan = uncompressedBytes.AsSpan(0, uncompressedSize);
FairGuardUtils.Lz4.Decompress(compressedBytesSpan, uncompressedBytesSpan);
blocksStream.Write(uncompressedBytes, 0, uncompressedSize);
BigArrayPool<byte>.Shared.Return(compressedBytes);
BigArrayPool<byte>.Shared.Return(uncompressedBytes);
break;
}
case CompressionType.Zstd when !Game.Type.IsMhyGroup(): //Zstd
{
var compressedSize = (int)blockInfo.compressedSize;