コード例 #1
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            var endPos = br.BaseStream.Position + Size;

            Flags = br.ReadInt32();
            Color = new List <byte>();
            for (int i = 0; i < 4; i++)
            {
                Color.Add(br.ReadByte());
            }
            Unused     = br.ReadInt32();
            IsTextured = br.ReadInt32() == 1 ? true : false;

            if (Version > 0x30400)
            {
                Ambient  = br.ReadSingle();
                Specular = br.ReadSingle();
                Diffuse  = br.ReadSingle();
            }

            //material struct has extra data in some files not reported here :
            br.BaseStream.Position = endPos;
        }
コード例 #2
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            var startPos = br.BaseStream.Position;

            PlatformID = br.ReadInt32();

            switch (PlatformID)
            {
            case 5:
                throw new NotImplementedException("Cannot read this txd file!");

            case 8:
                ReadGta3VCFormat(br);
                break;

            case 9:
                ReadGtaSAFormat(br);
                break;

            default:
                break;
            }
        }
コード例 #3
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            TextureCount = br.ReadInt16();
            Unk1         = br.ReadInt16();
        }
コード例 #4
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            TextureFilterMode = (TextureFilterMode)br.ReadByte();
            TextureAdressMode = (TextureAdressMode)br.ReadByte();
            UseMipMapLevels   = br.ReadUInt16();
        }
コード例 #5
0
ファイル: GeometryList.cs プロジェクト: Skylumz/Rage
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            //base.Read(br); Not a actual section

            Vertex2       = br.ReadUInt16();
            Vertex1       = br.ReadUInt16();
            MaterialIndex = br.ReadUInt16();
            Vertex3       = br.ReadUInt16();
        }
コード例 #6
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            FrameIndex    = br.ReadInt32();
            GeometryIndex = br.ReadInt32();
            Flag          = (AtomicFlag)br.ReadInt32();
            Unused        = br.ReadInt32();
        }
コード例 #7
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new TextureNativeStruct();
            Struct.Read(br, this);

            Extension = new Extension();
            Extension.Read(br, this);
        }
コード例 #8
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            MaterialCount = br.ReadInt32();

            UnusedInts = new List <int>();
            for (int i = 0; i < MaterialCount; i++)
            {
                UnusedInts.Add(br.ReadInt32());
            }
        }
コード例 #9
0
ファイル: GeometryList.cs プロジェクト: Skylumz/Rage
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new GeometryStruct();
            Struct.Read(br, this);

            MaterialList = new MaterialList();
            MaterialList.Read(br, this);

            Extension = new Extension();
            Extension.Read(br, this);
        }
コード例 #10
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            FrameCount = br.ReadInt32();

            Frames = new List <Frame>();
            for (int i = 0; i < FrameCount; i++)
            {
                Frame f = new Frame();
                f.Read(br, this);
                Frames.Add(f);
            }
        }
コード例 #11
0
        }                                    //always 0

        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            if (Version < 0x33000)
            {
                AtomicCount = br.ReadInt32();
            }
            else
            {
                AtomicCount = br.ReadInt32();
                LightCount  = br.ReadInt32();
                CameraCount = br.ReadInt32();
            }
        }
コード例 #12
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new MaterialListStruct();
            Struct.Read(br, this);

            Materials = new List <Material>();
            for (int i = 0; i < Struct.MaterialCount; i++)
            {
                var mat = new Material();
                mat.Read(br, this);
                Materials.Add(mat);
            }
        }
コード例 #13
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new FrameListStruct();
            Struct.Read(br, this);

            Extensions = new List <Extension>();
            for (int i = 0; i < Struct.FrameCount; i++)
            {
                var ext = new Extension();
                ext.Read(br, this);
                Extensions.Add(ext);
            }
        }
コード例 #14
0
ファイル: GeometryList.cs プロジェクト: Skylumz/Rage
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new GeometryListStruct();
            Struct.Read(br, this);

            Geometries = new List <Geometry>();

            for (int i = 0; i < Struct.NumberOfGeometries; i++)
            {
                var geo = new Geometry();
                geo.Read(br, this);
                Geometries.Add(geo);
            }
        }
コード例 #15
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new TextureStruct();
            Struct.Read(br, this);

            DiffuseTextureName = new String();
            DiffuseTextureName.Read(br, this);

            AlphaTextureName = new String();
            AlphaTextureName.Read(br, this);

            Extension = new Extension();
            Extension.Read(br, this);
        }
コード例 #16
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new MaterialStruct();
            Struct.Read(br, this);

            if (Struct.IsTextured)
            {
                Texture = new Texture();
                Texture.Read(br, this);
            }

            Extension = new Extension();
            Extension.Read(br, this);
        }
コード例 #17
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new TextureDictionaryStruct();
            Struct.Read(br, this);

            TextureNatives = new List <TextureNative>();
            for (int i = 0; i < TextureCount; i++)
            {
                var tn = new TextureNative();
                tn.Read(br, this);
                TextureNatives.Add(tn);
            }

            Extension = new Extension();
            Extension.Read(br, this);
        }
コード例 #18
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            //base.Read(br); no section identifier on this one

            RotationMatrix = new List <float>();
            for (int i = 0; i < 9; i++)
            {
                RotationMatrix.Add(br.ReadSingle());
            }

            Position = new List <float>();
            for (int i = 0; i < 3; i++)
            {
                Position.Add(br.ReadSingle());
            }

            ParentFrame = br.ReadInt32();
            Unknown     = br.ReadInt32();
        }
コード例 #19
0
ファイル: GeometryList.cs プロジェクト: Skylumz/Rage
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            //base.Read(br); Not a actual section

            BoundingSphere = new List <float>();
            for (int i = 0; i < 4; i++)
            {
                BoundingSphere.Add(br.ReadSingle());
            }

            HasVertices = br.ReadInt32() == 1 ? true : false;
            HasNormals  = br.ReadInt32() == 1 ? true : false;

            var par = p as GeometryStruct;

            if (HasVertices)
            {
                Vertices = new List <List <float> >();
                for (int i = 0; i < par.VertexCount; i++)
                {
                    var vert = new List <float>();
                    vert.Add(br.ReadSingle()); //x
                    vert.Add(br.ReadSingle()); //y
                    vert.Add(br.ReadSingle()); //z
                    Vertices.Add(vert);
                }
            }

            if (HasNormals)
            {
                Normals = new List <List <float> >();
                for (int i = 0; i < par.VertexCount; i++)
                {
                    var norm = new List <float>();
                    norm.Add(br.ReadSingle()); //x
                    norm.Add(br.ReadSingle()); //y
                    norm.Add(br.ReadSingle()); //z
                    Normals.Add(norm);
                }
            }
        }
コード例 #20
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Struct = new ClumpStruct();
            Struct.Read(br, this);

            FrameList = new FrameList();
            FrameList.Read(br, this);

            GeometryList = new GeometryList();
            GeometryList.Read(br, this);

            Atomics = new List <Atomic>();
            for (int i = 0; i < Struct.AtomicCount; i++)
            {
                var a = new Atomic();
                a.Read(br, this);
                Atomics.Add(a);
            }

            Extension = new Extension();
            Extension.Read(br, this);
        }
コード例 #21
0
ファイル: GeometryList.cs プロジェクト: Skylumz/Rage
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            NumberOfGeometries = br.ReadInt32();
        }
コード例 #22
0
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            DataString = BinaryReaderUtilities.ReadNullStartingString(br, Size);
        }
コード例 #23
0
ファイル: Extension.cs プロジェクト: Skylumz/Rage
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            br.ReadBytes(Size);
        }
コード例 #24
0
ファイル: GeometryList.cs プロジェクト: Skylumz/Rage
        public override void Read(BinaryReader br, RenderWareSection p)
        {
            base.Read(br, p);

            Flag             = (GeometryFlag)br.ReadInt16();
            Unknown1         = br.ReadInt16();
            FaceCount        = br.ReadInt32();
            VertexCount      = br.ReadInt32();
            MorphTargetCount = br.ReadInt32();

            if (Version < 0x34000)
            {
                Ambient  = br.ReadSingle();
                Specular = br.ReadSingle();
                Diffuse  = br.ReadSingle();
            }

            if (HasVertexColors)
            {
                VertexColors = new List <List <short> >();
                for (int i = 0; i < VertexCount; i++)
                {
                    var clr = new List <short>();
                    clr.Add(br.ReadByte()); //r
                    clr.Add(br.ReadByte()); //g
                    clr.Add(br.ReadByte()); //b
                    clr.Add(br.ReadByte()); //a
                }
            }

            if (HasTextureCoords)
            {
                TextureCoords1 = new List <List <float> >();
                for (int i = 0; i < VertexCount; i++)
                {
                    var tc = new List <float>();
                    tc.Add(br.ReadSingle());
                    tc.Add(br.ReadSingle());
                    TextureCoords1.Add(tc);
                }
            }
            else if (HasTextureCoords2)
            {
                TextureCoords2 = new List <List <float> >();
                for (int i = 0; i < VertexCount * 2; i++)
                {
                    var tc = new List <float>();
                    tc.Add(br.ReadSingle());
                    tc.Add(br.ReadSingle());
                    TextureCoords2.Add(tc);
                }
            }

            Triangles = new List <GeometryTriangle>();
            for (int i = 0; i < FaceCount; i++)
            {
                var t = new GeometryTriangle();
                t.Read(br, this);
                Triangles.Add(t);
            }

            MorphTargets = new List <MorphTarget>();
            for (int i = 0; i < MorphTargetCount; i++)
            {
                var m = new MorphTarget();
                m.Read(br, this);
                MorphTargets.Add(m);
            }
        }