wah getting fucked up on endian business

This commit is contained in:
Lani Aung
2024-09-29 15:17:58 -06:00
parent 94ab274246
commit 6dbc577566
11 changed files with 2430 additions and 57 deletions
@@ -2,8 +2,9 @@ using fxl.codes.kisekae.data.Archives.Algorithms;
namespace fxl.codes.kisekae.data.Archives.LhMethods;
internal abstract class BaseLhMethod(LhContainer container, int slidingWindowBytes, int matchingWindowBytes, IAlgorithm? algorithm)
internal abstract class BaseLhMethod(LhContainer container, int slidingWindowBytes, int matchingWindowBytes, IAlgorithm? algorithm = null)
{
internal static readonly IAlgorithm Lzw = new LZW();
public int SlidingWindow => slidingWindowBytes * 1024;
public void InitializeAlgorithm()
@@ -11,22 +12,22 @@ internal abstract class BaseLhMethod(LhContainer container, int slidingWindowByt
}
}
internal class Lzs(LhContainer container) : BaseLhMethod(container, 2, 17, null);
internal class Lzs(LhContainer container) : BaseLhMethod(container, 2, 17);
internal class Lz4(LhContainer container) : BaseLhMethod(container, 0, 0, null);
internal class Lz4(LhContainer container) : BaseLhMethod(container, 0, 0);
internal class Lh0(LhContainer container) : BaseLhMethod(container, 0, 0, null);
internal class Lh0(LhContainer container) : BaseLhMethod(container, 0, 0);
internal class Lh1(LhContainer container) : BaseLhMethod(container, 4, 60, new HuffmanDynamic());
internal class Lh1(LhContainer container) : BaseLhMethod(container, 4, 60, Lzw);
internal class Lh2(LhContainer container) : BaseLhMethod(container, 8, 256, new HuffmanDynamic());
internal class Lh2(LhContainer container) : BaseLhMethod(container, 8, 256, Lzw);
internal class Lh3(LhContainer container) : BaseLhMethod(container, 8, 256, new HuffmanStatic());
internal class Lh3(LhContainer container) : BaseLhMethod(container, 8, 256, Lzw);
internal class Lh4(LhContainer container) : BaseLhMethod(container, 4, 256, new HuffmanStatic());
internal class Lh4(LhContainer container) : BaseLhMethod(container, 4, 256, Lzw);
internal class Lh5(LhContainer container) : BaseLhMethod(container, 8, 256, new HuffmanStatic());
internal class Lh5(LhContainer container) : BaseLhMethod(container, 8, 256, Lzw);
internal class Lh6(LhContainer container) : BaseLhMethod(container, 32, 256, new HuffmanStatic());
internal class Lh6(LhContainer container) : BaseLhMethod(container, 32, 256, Lzw);
internal class Lh7(LhContainer container) : BaseLhMethod(container, 64, 256, new HuffmanStatic());
internal class Lh7(LhContainer container) : BaseLhMethod(container, 64, 256, Lzw);