using System.Runtime.InteropServices; namespace SabreTools.Data.Models.WAD3 { /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public sealed class Font : FileEntry { /// /// Dimensions of the texture (must be divisible by 16) /// public uint Width; /// /// Dimensions of the texture (must be divisible by 16) /// public uint Height; public uint RowCount; public uint RowHeight; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public CharInfo[] FontInfo = new CharInfo[256]; /// [width][height] public byte[][]? Data; /// /// Number of colors used in the palette (always 256 for GoldSrc) /// public ushort ColorsUsed; /// /// The color palette for the mipmaps (always 256 * 3 = 768 for GoldSrc) /// /// [ColorsUsed][3] public byte[][] Palette { get; set; } = []; } }