示例#1
0
        private void ReadSkeleton()
        {
            ms.Seek(pBase + pBones, SeekOrigin.Begin);

            if (ms.Position > ms.Length)
            {
                return; //error handler
            }
            bones = new Bone[cSkeletonBones];
            for (int i = 0; i < cSkeletonBones; i++)
            {
                bones[i] = MakiExtended.ByteArrayToStructure <Bone>(br.ReadBytes(64));
            }

            return;
        }
示例#2
0
        private void ReadGeometry()
        {
            ms.Seek(pBase + pVertices, SeekOrigin.Begin);
            if (ms.Position > ms.Length || pVertices + ms.Position > ms.Length) //pvert error handler
            {
                return;                                                         //error handler
            }
            vertices = new Vector4[cVertices];
            for (int i = 0; i < vertices.Length; i++)
            {
                vertices[i] = new Vector4(br.ReadInt16(), br.ReadInt16(), br.ReadInt16(), br.ReadInt16());
            }

            ms.Seek(pBase + pFaces, SeekOrigin.Begin);
            List <Face> face = new List <Face>();

            for (int i = 0; i < cFaces; i++)
            {
                face.Add(MakiExtended.ByteArrayToStructure <Face>(br.ReadBytes(64)));
            }
            faces = face.ToArray();
            return;
        }