2025-09-26 22:12:27 -04:00
|
|
|
namespace SabreTools.Data.Models.SpoonInstaller
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Represents the structure at the end of a Spoon Installer
|
|
|
|
|
/// SFX file. These SFX files store all files bz2-compressed
|
|
|
|
|
/// sequentially in the overlay of an executable.
|
2025-10-30 23:41:40 -04:00
|
|
|
///
|
2025-09-26 22:12:27 -04:00
|
|
|
/// The design is similar to the end of central directory
|
|
|
|
|
/// in a PKZIP file. The footer needs to be read before
|
|
|
|
|
/// the entry table as both the pointer to the start of
|
|
|
|
|
/// the table as well as the entry count are included there.
|
2025-10-30 23:41:40 -04:00
|
|
|
///
|
2025-09-26 22:12:27 -04:00
|
|
|
/// The layout of this is derived from the layout in the
|
|
|
|
|
/// physical file.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class SFX
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Set of file entries
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
public FileEntry[] Entries { get; set; } = [];
|
2025-09-26 22:12:27 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Footer representing the central directory
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
public Footer Footer { get; set; } = new();
|
2025-09-26 22:12:27 -04:00
|
|
|
}
|
|
|
|
|
}
|