2025-09-26 10:57:15 -04:00
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
2025-09-26 13:06:18 -04:00
|
|
|
namespace SabreTools.Data.Models.Quantum
|
2025-09-26 10:57:15 -04:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Quantum archive file header
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <see href="https://handwiki.org/wiki/Software:Quantum_compression"/>
|
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
|
|
|
|
public class Header
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Quantum signature: 0x44 0x53
|
|
|
|
|
/// </summary>
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 2)]
|
2025-10-31 13:59:28 -04:00
|
|
|
public string Signature = string.Empty;
|
2025-09-26 10:57:15 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Quantum major version number
|
|
|
|
|
/// </summary>
|
|
|
|
|
public byte MajorVersion;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Quantum minor version number
|
|
|
|
|
/// </summary>
|
|
|
|
|
public byte MinorVersion;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Number of files within this archive
|
|
|
|
|
/// </summary>
|
|
|
|
|
public ushort FileCount;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Table size required for decompression
|
|
|
|
|
/// </summary>
|
|
|
|
|
public byte TableSize;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Compression flags
|
|
|
|
|
/// </summary>
|
|
|
|
|
public byte CompressionFlags;
|
|
|
|
|
}
|
2025-10-30 23:30:45 -04:00
|
|
|
}
|