public GMFont(BinaryReader binaryReader, GMWAD w) { Name = new GMString(binaryReader); FontName = new GMString(binaryReader); FontSize = binaryReader.ReadInt32(); Bold = ReadBool(binaryReader); Italic = ReadBool(binaryReader); First = binaryReader.ReadInt32(); Last = binaryReader.ReadInt32(); uint tpag_addr = binaryReader.ReadUInt32(); if (tpag_addr != 0) { long prev_addr = binaryReader.BaseStream.Position; binaryReader.BaseStream.Position = tpag_addr; Texture = new GMTPAGEntry(binaryReader, w); binaryReader.BaseStream.Position = prev_addr; } else { Texture = null; Output.Print($"ERROR!! :: Font {Name} has no texture!"); } ScaleX = binaryReader.ReadSingle(); ScaleY = binaryReader.ReadSingle(); GlyphCount = binaryReader.ReadInt32(); Glyphs = new List <GMFontGlyph>(GlyphCount); for (int g = 0; g < GlyphCount; g++) { var glyph = new GMFontGlyph(binaryReader); Glyphs.Add(glyph); } }
public GMBackground(BinaryReader binaryReader, GMWAD w) { Name = new GMString(binaryReader); Transparent = ReadBool(binaryReader); Smooth = ReadBool(binaryReader); Preload = ReadBool(binaryReader); uint tpag_addr = binaryReader.ReadUInt32(); if (tpag_addr != 0) { long prev_addr = binaryReader.BaseStream.Position; binaryReader.BaseStream.Position = tpag_addr; Texture = new GMTPAGEntry(binaryReader, w); binaryReader.BaseStream.Position = prev_addr; } else { Texture = null; } }