Esempio n. 1
0
        public CFont(CR2WFile cr2w) : base(cr2w)
        {
            unicodemapping = new CArray(cr2w)
            {
                Name = "Unicode mappings"
            };

            linedist = new CInt32(cr2w)
            {
                Name = "Line distance"
            };

            maxglyphheight = new CInt32(cr2w)
            {
                Name = "Max glyph height"
            };

            kerning = new CBool(cr2w)
            {
                Name = "Kerning"
            };

            glyphs = new CArray(cr2w)
            {
                Name = "Glyphs"
            };
        }
Esempio n. 2
0
        public override void Read(BinaryReader file, uint size)
        {
            base.Read(file, size);

            var cnt = file.ReadInt32();

            for (int i = 0; i < cnt; i++)
            {
                CArray group = new CArray(cr2w)
                {
                    Name = "Group - " + i
                };

                CInt16 lod1 = new CInt16(cr2w)
                {
                    Name = "Lod1"
                };
                lod1.val = file.ReadInt16();
                group.AddVariable(lod1);

                CInt16 lod2 = new CInt16(cr2w)
                {
                    Name = "Lod2"
                };
                lod2.val = file.ReadInt16();
                group.AddVariable(lod2);

                CInt16 lod3 = new CInt16(cr2w)
                {
                    Name = "Lod3"
                };
                lod3.val = file.ReadInt16();
                group.AddVariable(lod3);

                CInt32 res = new CInt32(cr2w)
                {
                    Name = "Resolution"
                };
                res.val = file.ReadInt32();
                group.AddVariable(res);

                groups.AddVariable(group);
            }
            var maxres = file.ReadInt32();
        }
Esempio n. 3
0
 public CSwarmCellMap(CR2WFile cr2w, CVariable parent, string name) : base(cr2w, parent, name)
 {
     Data = new CBytes(cr2w, this, nameof(Data))
     {
         IsSerialized = true
     };
     CornerPositionX = new CFloat(cr2w, this, nameof(CornerPositionX))
     {
         IsSerialized = true
     };
     CornerPositionY = new CFloat(cr2w, this, nameof(CornerPositionY))
     {
         IsSerialized = true
     };
     CornerPositionZ = new CFloat(cr2w, this, nameof(CornerPositionZ))
     {
         IsSerialized = true
     };
     DataSizeX = new CInt32(cr2w, this, nameof(DataSizeX))
     {
         IsSerialized = true
     };
     DataSizeY = new CInt32(cr2w, this, nameof(DataSizeY))
     {
         IsSerialized = true
     };
     DataSizeZ = new CInt32(cr2w, this, nameof(DataSizeZ))
     {
         IsSerialized = true
     };
     DataSizeBits = new CInt32(cr2w, this, nameof(DataSizeBits))
     {
         IsSerialized = true
     };
     SizeInKbytes = new CFloat(cr2w, this, nameof(SizeInKbytes))
     {
         IsSerialized = true
     };
 }
Esempio n. 4
0
 public CFont(IRed3EngineFile cr2w, CVariable parent, string name) : base(cr2w, parent, name)
 {
     Unicodemapping = new CArray <CUInt16>(cr2w, this, nameof(Unicodemapping))
     {
         IsSerialized = true, Elementtype = "Uint16"
     };
     Linedist = new CInt32(cr2w, this, nameof(Linedist))
     {
         IsSerialized = true
     };
     Maxglyphheight = new CInt32(cr2w, this, nameof(Maxglyphheight))
     {
         IsSerialized = true
     };
     Kerning = new CBool(cr2w, this, nameof(Kerning))
     {
         IsSerialized = true
     };
     Glyphs = new CArray <CArray <CFloat> >(cr2w, this, nameof(Glyphs))
     {
         IsSerialized = true, Elementtype = "array:2,0,Float"
     };
 }
Esempio n. 5
0
        public override void Read(BinaryReader file, uint size)
        {
            base.Read(file, size);
            var cnt = file.ReadVLQInt32();

            for (int i = 0; i < cnt; i++)
            {
                //This is actually a byte-byte pair but no idea why or how anyone would edit this
                var mapping = new CUInt16(cr2w);
                mapping.Read(file, size);
                unicodemapping.AddVariable(mapping);
            }
            linedist.Read(file, size);
            maxglyphheight.Read(file, size);
            kerning.Read(file, size);

            var num = file.ReadVLQInt32();

            for (int i = 0; i < num; i++)
            {
                CArray glyph = new CArray(cr2w)
                {
                    Name = "Glyph - " + i
                };
                // UVs
                CFloat uv00 = new CFloat(cr2w)
                {
                    Name = "UV[0][0]"
                };
                uv00.Read(file, size);
                glyph.AddVariable(uv00);
                CFloat uv01 = new CFloat(cr2w)
                {
                    Name = "UV[0][1]"
                };
                uv01.Read(file, size);
                glyph.AddVariable(uv01);
                CFloat uv10 = new CFloat(cr2w)
                {
                    Name = "UV[1][0]"
                };
                uv10.Read(file, size);
                glyph.AddVariable(uv10);
                CFloat uv11 = new CFloat(cr2w)
                {
                    Name = "UV[1][1]"
                };
                uv11.Read(file, size);
                glyph.AddVariable(uv11);

                CInt32 textureindex = new CInt32(cr2w)
                {
                    Name = "Texture index"
                };
                textureindex.Read(file, size);
                glyph.AddVariable(textureindex);
                CInt32 width = new CInt32(cr2w)
                {
                    Name = "Width"
                };
                width.Read(file, size);
                glyph.AddVariable(width);
                CInt32 height = new CInt32(cr2w)
                {
                    Name = "Height"
                };
                height.Read(file, size);
                glyph.AddVariable(height);
                CInt32 advance_x = new CInt32(cr2w)
                {
                    Name = "Advance X"
                };
                advance_x.Read(file, size);
                glyph.AddVariable(advance_x);
                CInt32 bearing_x = new CInt32(cr2w)
                {
                    Name = "Bearing X"
                };
                bearing_x.Read(file, size);
                glyph.AddVariable(bearing_x);
                CInt32 bearing_y = new CInt32(cr2w)
                {
                    Name = "Bearing Y"
                };
                bearing_y.Read(file, size);
                glyph.AddVariable(bearing_y);

                glyphs.AddVariable(glyph);
            }
        }
Esempio n. 6
0
        public override void Read(BinaryReader file, uint size)
        {
            base.Read(file, size);

            var cnt = file.ReadVLQInt32();

            for (int i = 0; i < cnt; i++)
            {
                //This is actually a byte-byte pair but no idea why or how anyone would edit this
                var mapping = new CUInt16(cr2w, Unicodemapping, "");
                mapping.Read(file, size);
                Unicodemapping.AddVariable(mapping);
            }
            Linedist.Read(file, size);
            Maxglyphheight.Read(file, size);
            Kerning.Read(file, size);

            var num = file.ReadVLQInt32();

            for (int i = 0; i < num; i++)
            {
                var glyph = new CArray <CFloat>(cr2w, Glyphs, "Glyph - " + i)
                {
                    Elementtype = "Float"
                };
                // UVs
                CFloat uv00 = new CFloat(cr2w, glyph, "UV[0][0]");
                uv00.Read(file, size);
                glyph.AddVariable(uv00);
                CFloat uv01 = new CFloat(cr2w, glyph, "UV[0][1]");
                uv01.Read(file, size);
                glyph.AddVariable(uv01);
                CFloat uv10 = new CFloat(cr2w, glyph, "UV[1][0]");
                uv10.Read(file, size);
                glyph.AddVariable(uv10);
                CFloat uv11 = new CFloat(cr2w, glyph, "UV[1][1]");
                uv11.Read(file, size);
                glyph.AddVariable(uv11);

                CInt32 textureindex = new CInt32(cr2w, glyph, "Texture index");
                textureindex.Read(file, size);
                glyph.AddVariable(textureindex);
                CInt32 width = new CInt32(cr2w, glyph, "Width");
                width.Read(file, size);
                glyph.AddVariable(width);
                CInt32 height = new CInt32(cr2w, glyph, "Height");
                height.Read(file, size);
                glyph.AddVariable(height);
                CInt32 advance_x = new CInt32(cr2w, glyph, "Advance X");
                advance_x.Read(file, size);
                glyph.AddVariable(advance_x);
                CInt32 bearing_x = new CInt32(cr2w, glyph, "Bearing X");
                bearing_x.Read(file, size);
                glyph.AddVariable(bearing_x);
                CInt32 bearing_y = new CInt32(cr2w, glyph, "Bearing Y");
                bearing_y.Read(file, size);
                glyph.AddVariable(bearing_y);

                Glyphs.AddVariable(glyph);
            }
        }
 public void AddInputOutputParameter(String name, CInt32 value)
 {
     _parameters.Add(new Parameter(name, value, ParameterDirection.InputOutput));
 }