Example #1
0
        private void ReadVertices(long address, int bufferIndex, int count)
        {
            _reader.BaseStream.Seek(address, SeekOrigin.Begin);

            for (var i = bufferIndex; i < bufferIndex + count; i++)
            {
                _vertices[i] = new VertexAC(_reader.ReadInt16().Reverse(), _reader.ReadInt16().Reverse(),
                                            _reader.ReadInt16().Reverse(),
                                            _reader.ReadInt16().Reverse(),
                                            (short)(_reader.ReadInt16().Reverse() * 0.03125), (short)(_reader.ReadInt16().Reverse() * 0.03125),
                                            _reader.ReadByte(), _reader.ReadByte(), _reader.ReadByte(), _reader.ReadByte());
            }
        }
Example #2
0
        private (Point3D[], VertexAC[]) LoadVertices(BinaryReader reader, long vtxOffset, int count)
        {
            var vectors = new VertexAC[count];
            var points  = new Point3D[count];

            // Seek to the vertex begin offset.
            reader.BaseStream.Seek(vtxOffset, SeekOrigin.Begin);

            // Read vectors from file.
            for (var i = 0; i < count; i++)
            {
                vectors[i] = new VertexAC(reader.ReadInt16().Reverse(), reader.ReadInt16().Reverse(),
                                          reader.ReadInt16().Reverse(), reader.ReadInt16().Reverse(), reader.ReadInt16().Reverse(),
                                          reader.ReadInt16().Reverse(), reader.ReadByte(), reader.ReadByte(), reader.ReadByte(),
                                          reader.ReadByte());

                points[i] = vectors[i].ToPoint3D();
            }

            return(points, vectors);
        }