mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
44 lines
1.1 KiB
C#
44 lines
1.1 KiB
C#
using System.Runtime.InteropServices;
|
|
|
|
namespace SabreTools.Data.Models.Quantum
|
|
{
|
|
/// <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)]
|
|
public string Signature = string.Empty;
|
|
|
|
/// <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;
|
|
}
|
|
}
|