mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-02-11 21:29:18 +00:00
62 lines
1.9 KiB
C#
62 lines
1.9 KiB
C#
namespace BinaryObjectScanner.Models.MoPaQ
|
|
{
|
|
/// <summary>
|
|
/// MPQ (MoPaQ) is an archive format developed by Blizzard Entertainment,
|
|
/// purposed for storing data files, images, sounds, music and videos for
|
|
/// their games. The name MoPaQ comes from the author of the format,
|
|
/// Mike O'Brien (Mike O'brien PaCK).
|
|
/// </summary>
|
|
/// <see href="http://zezula.net/en/mpq/mpqformat.html"/>
|
|
public sealed class Archive
|
|
{
|
|
// TODO: Data before archive, ignored
|
|
|
|
/// <summary>
|
|
/// MPQ User Data (optional)
|
|
/// </summary>
|
|
public UserData UserData { get; set; }
|
|
|
|
/// <summary>
|
|
/// MPQ Header (required)
|
|
/// </summary>
|
|
public ArchiveHeader ArchiveHeader { get; set; }
|
|
|
|
// TODO: Files (optional)
|
|
// TODO: Special files (optional)
|
|
|
|
/// <summary>
|
|
/// HET Table (optional)
|
|
/// </summary>
|
|
public HetTable HetTable { get; set; }
|
|
|
|
/// <summary>
|
|
/// BET Table (optional)
|
|
/// </summary>
|
|
public BetTable BetTable { get; set; }
|
|
|
|
/// <summary>
|
|
/// Hash Table (optional)
|
|
/// </summary>
|
|
public HashEntry[] HashTable { get; set; }
|
|
|
|
/// <summary>
|
|
/// Block Table (optional)
|
|
/// </summary>
|
|
public BlockEntry[] BlockTable { get; set; }
|
|
|
|
/// <summary>
|
|
/// Hi-Block Table (optional)
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Since World of Warcraft - The Burning Crusade, Blizzard extended
|
|
/// the MPQ format to support archives larger than 4GB. The hi-block
|
|
/// table holds the higher 16-bits of the file position in the MPQ.
|
|
/// Hi-block table is plain array of 16-bit values. This table is
|
|
/// not encrypted.
|
|
/// </remarks>
|
|
public short[] HiBlockTable { get; set; }
|
|
|
|
// TODO: Strong digital signature
|
|
}
|
|
}
|