Alexandria.Engines.DarkSouls.ModelMesh.ReadVertexHeaders C# (CSharp) Method

ReadVertexHeaders() private method

private ReadVertexHeaders ( BinaryReader reader, int dataOffset, ArrayBackedList bufferData ) : void
reader System.IO.BinaryReader
dataOffset int
bufferData ArrayBackedList
return void
        internal void ReadVertexHeaders(BinaryReader reader, int dataOffset, ArrayBackedList<byte> bufferData)
        {
            reader.RequireZeroes(4 * 1);
            VertexDeclarationIndex = reader.ReadInt32();
            VertexSize = reader.ReadInt32();
            VertexCount = reader.ReadInt32();
            reader.RequireZeroes(4 * 2);
            int vertexDataSize = reader.ReadInt32();
            if (VertexSize * VertexCount != vertexDataSize)
                throw new Exception();
            VertexDataOffset = reader.ReadInt32() + dataOffset;

            // Read vertex data.
            long reset = reader.BaseStream.Position;
            reader.BaseStream.Position = VertexDataOffset;
            BufferDataOffset = bufferData.Count;
            bufferData.AddRange(reader, vertexDataSize);
            reader.BaseStream.Position = reset;
        }