public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); serVertices = new SerializeData(); serVertices.Parse(buffer); //still checking variablearrays this.Vertices = new List<Vector3D>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _Vertices.Count; loop12++) { _Vertices[loop12] = new Vector3D(); _Vertices[loop12].Parse(buffer); } Field3 = buffer.ReadInt(32); serTriangles = new SerializeData(); serTriangles.Parse(buffer); //still checking variablearrays this.Triangles = new List<IndexedTriangle>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _Triangles.Count; loop12++) { _Triangles[loop12] = new IndexedTriangle(); _Triangles[loop12].Parse(buffer); } Field6 = buffer.ReadInt(32); serPlanes = new SerializeData(); serPlanes.Parse(buffer); //still checking variablearrays this.Planes = new List<Plane>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _Planes.Count; loop12++) { _Planes[loop12] = new Plane(); _Planes[loop12].Parse(buffer); } Field9 = new Matrix3x3(); Field9.Parse(buffer); Field10 = new Vector3D(); Field10.Parse(buffer); Field11 = buffer.ReadFloat32(); Field12 = buffer.ReadFloat32(); }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 0; Field0 = stream.ReadValueS32(); stream.Position = offset + 4; serVertices = new SerializeData(); serVertices.FileRead(stream, stream.Position); stream.Position = offset + 12; //still checking variablearrays Vertices = new List<Vector3D>(); for(int i = 0; i < (int)(serVertices.Field1 / 12); i++) { stream.Position = serVertices.Field0 + 16 + (12*i) ; Vector3D temp12_Vertices; temp12_Vertices = new Vector3D(); temp12_Vertices.FileRead(stream, stream.Position); _Vertices.Add(temp12_Vertices); } stream.Position = offset + 16; Field3 = stream.ReadValueS32(); stream.Position = offset + 20; serTriangles = new SerializeData(); serTriangles.FileRead(stream, stream.Position); stream.Position = offset + 28; //still checking variablearrays Triangles = new List<IndexedTriangle>(); for(int i = 0; i < (int)(serTriangles.Field1 / 12); i++) { stream.Position = serTriangles.Field0 + 16 + (12*i) ; IndexedTriangle temp12_Triangles; temp12_Triangles = new IndexedTriangle(); temp12_Triangles.FileRead(stream, stream.Position); _Triangles.Add(temp12_Triangles); } stream.Position = offset + 32; Field6 = stream.ReadValueS32(); stream.Position = offset + 36; serPlanes = new SerializeData(); serPlanes.FileRead(stream, stream.Position); stream.Position = offset + 44; //still checking variablearrays Planes = new List<Plane>(); for(int i = 0; i < (int)(serPlanes.Field1 / 16); i++) { stream.Position = serPlanes.Field0 + 16 + (16*i) ; Plane temp12_Planes; temp12_Planes = new Plane(); temp12_Planes.FileRead(stream, stream.Position); _Planes.Add(temp12_Planes); } stream.Position = offset + 48; Field9 = new Matrix3x3(); Field9.FileRead(stream, stream.Position); stream.Position = offset + 84; Field10 = new Vector3D(); Field10.FileRead(stream, stream.Position); stream.Position = offset + 96; Field11 = stream.ReadValueF32(); stream.Position = offset + 100; Field12 = stream.ReadValueF32(); }