2023-09-04 00:12:49 -04:00
|
|
|
namespace SabreTools.Models.GCF
|
2023-09-04 00:11:04 -04:00
|
|
|
{
|
|
|
|
|
/// <see href="https://github.com/RavuAlHemio/hllib/blob/master/HLLib/GCFFile.h"/>
|
|
|
|
|
public sealed class DirectoryHeader
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Always 0x00000004
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint Dummy0 { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Cache ID.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint CacheID { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// GCF file version.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint LastVersionPlayed { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Number of items in the directory.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint ItemCount { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Number of files in the directory.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint FileCount { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Always 0x00008000. Data per checksum?
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint Dummy1 { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Size of lpGCFDirectoryEntries & lpGCFDirectoryNames & lpGCFDirectoryInfo1Entries & lpGCFDirectoryInfo2Entries & lpGCFDirectoryCopyEntries & lpGCFDirectoryLocalEntries in bytes.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint DirectorySize { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Size of the directory names in bytes.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint NameSize { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Number of Info1 entires.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint Info1Count { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Number of files to copy.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint CopyCount { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Number of files to keep local.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint LocalCount { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Reserved
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint Dummy2 { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Reserved
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint Dummy3 { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Header checksum.
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint Checksum { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
}
|
|
|
|
|
}
|