public void EndToEndTest(byte[] data) { var compressor = new Lz77Compressor(12); var(compressed, compressedSize) = compressor.Compress(data); var decompressed = new byte[data.Length]; Lz77Decompressor.Decompress(decompressed, compressed.AsSpan()[..compressedSize], 12);
/// <summary> /// Creates a new <c>GbaReader</c> from an LZ77-compressed data block. /// </summary> /// <param name="offset">source offset</param> /// <returns>new <c>GbaReader</c> operating on the decompressed data</returns> public GbaReader FromLz77Compressed(int offset) { var compressor = new Lz77Compressor(true); return(new GbaReader(new BinaryReader(compressor.Decompress(Reader.Source, offset)))); }