Files
YarikStudio/AssetStudio/LZ4/LZ4Inv.cs
Maverick Chang 8446538322 Fix Endfield
2025-06-17 19:46:59 +09:00

19 lines
555 B
C#

using System;
namespace AssetStudio;
public class LZ4Inv : LZ4
{
public new static LZ4Inv Instance => new();
protected override (int encCount, int litCount) GetLiteralToken(ReadOnlySpan<byte> cmp, ref int cmpPos)
{
var val = cmp[cmpPos++];
var lit = val & 0b00110011;
var enc = val & 0b11001100;
enc >>= 2;
return ((enc & 0b11) | enc >> 2, (lit & 0b11) | lit >> 2);
}
protected override int GetChunkEnd(ReadOnlySpan<byte> cmp, ref int cmpPos) => cmp[cmpPos++] << 8 | cmp[cmpPos++] << 0;
}