2023-09-04 00:11:04 -04:00
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
2023-09-04 00:12:49 -04:00
|
|
|
namespace SabreTools.Models.NCF
|
2023-09-04 00:11:04 -04:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Half-Life No Cache File
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <see href="https://github.com/RavuAlHemio/hllib/blob/master/HLLib/NCFFile.h"/>
|
|
|
|
|
public sealed class File
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Header data
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
public Header? Header { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Directory header data
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
public DirectoryHeader? DirectoryHeader { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Directory entries data
|
|
|
|
|
/// </summary>
|
2023-09-10 20:47:25 -04:00
|
|
|
public DirectoryEntry?[]? DirectoryEntries { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Directory names data
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
public Dictionary<long, string?>? DirectoryNames { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Directory info 1 entries data
|
|
|
|
|
/// </summary>
|
2023-09-10 20:47:25 -04:00
|
|
|
public DirectoryInfo1Entry?[]? DirectoryInfo1Entries { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Directory info 2 entries data
|
|
|
|
|
/// </summary>
|
2023-09-10 20:47:25 -04:00
|
|
|
public DirectoryInfo2Entry?[]? DirectoryInfo2Entries { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Directory copy entries data
|
|
|
|
|
/// </summary>
|
2023-09-10 20:47:25 -04:00
|
|
|
public DirectoryCopyEntry?[]? DirectoryCopyEntries { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Directory local entries data
|
|
|
|
|
/// </summary>
|
2023-09-10 20:47:25 -04:00
|
|
|
public DirectoryLocalEntry?[]? DirectoryLocalEntries { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Unknown header data
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
public UnknownHeader? UnknownHeader { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Unknown entries data
|
|
|
|
|
/// </summary>
|
2023-09-10 20:47:25 -04:00
|
|
|
public UnknownEntry?[]? UnknownEntries { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Checksum header data
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
public ChecksumHeader? ChecksumHeader { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Checksum map header data
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
public ChecksumMapHeader? ChecksumMapHeader { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Checksum map entries data
|
|
|
|
|
/// </summary>
|
2023-09-10 20:47:25 -04:00
|
|
|
public ChecksumMapEntry?[]? ChecksumMapEntries { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Checksum entries data
|
|
|
|
|
/// </summary>
|
2023-09-10 20:47:25 -04:00
|
|
|
public ChecksumEntry?[]? ChecksumEntries { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
}
|
|
|
|
|
}
|