Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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;
            }
        }