Files
BinaryObjectScanner/BinaryObjectScanner.Models/Compression/LZ/State.cs

72 lines
1.8 KiB
C#
Raw Normal View History

2022-12-28 10:46:33 -08:00
using System.IO;
2023-03-07 16:59:14 -05:00
namespace BinaryObjectScanner.Models.Compression.LZ
2022-12-28 10:46:33 -08:00
{
public sealed class State
{
/// <summary>
/// Internal backing stream
2022-12-28 10:46:33 -08:00
/// </summary>
public Stream Source { get; set; }
2022-12-28 10:46:33 -08:00
/// <summary>
/// The last char of the filename for replacement
2022-12-28 10:46:33 -08:00
/// </summary>
public char LastChar { get; set; }
/// <summary>
/// Decompressed length of the file
2022-12-28 10:46:33 -08:00
/// </summary>
public uint RealLength { get; set; }
/// <summary>
/// Position the decompressor currently is
2022-12-28 10:46:33 -08:00
/// </summary>
public uint RealCurrent { get; set; }
/// <summary>
/// Position the user wants to read from
2022-12-28 10:46:33 -08:00
/// </summary>
public uint RealWanted { get; set; }
/// <summary>
/// The rotating LZ table
/// </summary>
public byte[] Table { get; set; }
/// <summary>
/// CURrent TABle ENTry
/// </summary>
public uint CurrentTableEntry { get; set; }
2022-12-28 10:46:33 -08:00
/// <summary>
/// Length and position of current string
/// </summary>
public byte StringLength { get; set; }
2022-12-28 10:46:33 -08:00
/// <summary>
/// From stringtable
/// </summary>
public uint StringPosition { get; set; }
2022-12-28 10:46:33 -08:00
/// <summary>
/// Bitmask within blocks
/// </summary>
public ushort ByteType { get; set; }
/// <summary>
/// GETLEN bytes
/// </summary>
public byte[] Window { get; set; }
2022-12-28 10:46:33 -08:00
/// <summary>
/// Current read
/// </summary>
public uint WindowCurrent { get; set; }
2022-12-28 10:46:33 -08:00
/// <summary>
/// Length last got
/// </summary>
public uint WindowLength { get; set; }
2022-12-28 10:46:33 -08:00
}
}