public SmdFileV44 ToV44() { SmdFileV44 output; if (_Reference) { output = new SmdFileV44(SmdType.Reference); } else { output = new SmdFileV44(SmdType.Animation); } output.NodeCollection = _NodeCollection; output.TimeCollection = _TimeCollection; foreach (Triangle <VertexV10> triangle in _TriangleCollection) { Triangle <VertexV44> newtriangle = new Triangle <VertexV44>(); newtriangle.Texture = triangle.Texture; foreach (VertexV10 vertex in triangle.Vertices) { List <LinkV44> links = new List <LinkV44>(); links.Add(new LinkV44(vertex.Bone, 1.0000F)); newtriangle.Vertices.Add(new VertexV44(vertex.Bone, vertex.Position, vertex.Normal, vertex.TextureCoordinate, links)); } output.TriangleCollection.Add(newtriangle); } return(output); }
public SmdFileV44 ToV44() { SmdFileV44 output; if (_Reference) { output = new SmdFileV44(SmdType.Reference); } else { output = new SmdFileV44(SmdType.Animation); } output.NodeCollection = _NodeCollection; output.TimeCollection = _TimeCollection; foreach (Triangle <VertexV11> triangle in _TriangleCollection) { Triangle <VertexV44> newtriangle = new Triangle <VertexV44>(); newtriangle.Texture = triangle.Texture; foreach (VertexV11 vertex in triangle.Vertices) { List <LinkV44> links = new List <LinkV44>(); for (int i = 0; i < vertex.Blends.Length; i++) { if (vertex.Blends[i].Bone != -1) { links.Add(new LinkV44(vertex.Blends[i].Bone, vertex.Blends[i].Scale)); } } newtriangle.Vertices.Add(new VertexV44(vertex.Blends[0].Bone, vertex.Position, vertex.Normal, vertex.TextureCoordinate, links)); } output.TriangleCollection.Add(newtriangle); } return(output); }