using System.Runtime.InteropServices; namespace BurnOutSharp.Models.LinearExecutable { /// /// The resource table is an array of resource table entries. Each resource table /// entry contains a type ID and name ID. These entries are used to locate resource /// objects contained in the Object table. The number of entries in the resource /// table is defined by the Resource Table Count located in the linear EXE header. /// More than one resource may be contained within a single object. Resource table /// entries are in a sorted order, (ascending, by Resource Name ID within the /// Resource Type ID). This allows the DosGetResource API function to use a binary /// search when looking up a resource in a 32-bit module instead of the linear search /// being used in the current 16-bit module. /// /// /// [StructLayout(LayoutKind.Sequential)] public class ResourceTableEntry { /// /// Resource type ID. /// /// /// The type of resources are: /// - BTMP = Bitmap /// - EMSG = Error message string /// - FONT = Fonts /// public ushort TypeID; /// /// An ID used as a name for the resource when referred to. /// public ushort NameID; /// /// The number of bytes the resource consists of. /// public uint ResourceSize; /// /// The number of the object which contains the resource. /// public ushort ObjectNumber; /// /// The offset within the specified object where the resource begins. /// public uint Offset; } }