2023-09-04 00:12:49 -04:00
|
|
|
namespace SabreTools.Models.Quantum
|
2023-09-04 00:11:04 -04:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Quantum archive file descriptor
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <see href="https://handwiki.org/wiki/Software:Quantum_compression"/>
|
|
|
|
|
public class FileDescriptor
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Length of file name
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public int FileNameSize { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// File name, variable length string, not zero-terminated
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
#if NET48
|
2023-09-10 21:24:10 -04:00
|
|
|
public string FileName { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#else
|
2023-09-10 21:24:10 -04:00
|
|
|
public string? FileName { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#endif
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Length of comment field
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public int CommentFieldSize { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Comment field, variable length string, not zero-terminated
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
#if NET48
|
2023-09-10 21:24:10 -04:00
|
|
|
public string CommentField { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#else
|
2023-09-10 21:24:10 -04:00
|
|
|
public string? CommentField { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#endif
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fully expanded file size in bytes
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint ExpandedFileSize { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// File time (DOS format)
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public ushort FileTime { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// File date (DOS format)
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public ushort FileDate { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Unknown data, Checksum?
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>Minor version 22</remarks>
|
2023-09-10 21:24:10 -04:00
|
|
|
public ushort? Unknown { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
}
|
|
|
|
|
}
|