public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 0; Field0 = new dmFloat3(); Field0.FileRead(stream, stream.Position); stream.Position = offset + 12; Field1 = stream.ReadValueF32(); }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 32; Field0 = new dmFloat3(); Field0.FileRead(stream, stream.Position); stream.Position = offset + 64; serVertices = new SerializeData(); serVertices.FileRead(stream, stream.Position); stream.Position = offset + 0; //still checking variablearrays Vertices = new List<dmFloat3>(); for(int i = 0; i < (int)(serVertices.Field1 / 12); i++) { stream.Position = serVertices.Field0 + 16 + (12*i) ; dmFloat3 temp12_Vertices; temp12_Vertices = new dmFloat3(); temp12_Vertices.FileRead(stream, stream.Position); _Vertices.Add(temp12_Vertices); } stream.Position = offset + 72; serPlanes = new SerializeData(); serPlanes.FileRead(stream, stream.Position); stream.Position = offset + 8; //still checking variablearrays Planes = new List<dmPlane>(); for(int i = 0; i < (int)(serPlanes.Field1 / 16); i++) { stream.Position = serPlanes.Field0 + 16 + (16*i) ; dmPlane temp12_Planes; temp12_Planes = new dmPlane(); temp12_Planes.FileRead(stream, stream.Position); _Planes.Add(temp12_Planes); } stream.Position = offset + 80; serSubEdges = new SerializeData(); serSubEdges.FileRead(stream, stream.Position); stream.Position = offset + 16; //still checking variablearrays SubEdges = new List<dmSubEdge>(); for(int i = 0; i < (int)(serSubEdges.Field1 / 4); i++) { stream.Position = serSubEdges.Field0 + 16 + (4*i) ; dmSubEdge temp12_SubEdges; temp12_SubEdges = new dmSubEdge(); temp12_SubEdges.FileRead(stream, stream.Position); _SubEdges.Add(temp12_SubEdges); } stream.Position = offset + 88; serFaceSubEdges = new SerializeData(); serFaceSubEdges.FileRead(stream, stream.Position); stream.Position = offset + 24; //still checking variablearrays FaceSubEdges = new List<byte>(); for(int i = 0; i < (int)(serFaceSubEdges.Field1 / 1); i++) { stream.Position = serFaceSubEdges.Field0 + 16 + (1*i) ; byte temp12_FaceSubEdges; temp12_FaceSubEdges = (byte)stream.ReadByte(); _FaceSubEdges.Add(temp12_FaceSubEdges); } stream.Position = offset + 44; Field9 = stream.ReadValueS32(); stream.Position = offset + 48; Field10 = stream.ReadValueS32(); stream.Position = offset + 52; Field11 = stream.ReadValueS32(); stream.Position = offset + 56; Field12 = stream.ReadValueF32(); stream.Position = offset + 60; Field13 = stream.ReadValueF32(); }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 0; Field0 = new dmFloat3(); Field0.FileRead(stream, stream.Position); stream.Position = offset + 12; Field1 = new dmFloat3(); Field1.FileRead(stream, stream.Position); stream.Position = offset + 24; Field2 = new dmFloat3(); Field2.FileRead(stream, stream.Position); stream.Position = offset + 76; DominoNodeCount = stream.ReadValueS32(); stream.Position = offset + 96; serDominoVertices = new SerializeData(); serDominoVertices.FileRead(stream, stream.Position); stream.Position = offset + 48; //still checking variablearrays DominoVertices = new List<dmFloat3>(); for(int i = 0; i < (int)(serDominoVertices.Field1 / 12); i++) { stream.Position = serDominoVertices.Field0 + 16 + (12*i) ; dmFloat3 temp12_DominoVertices; temp12_DominoVertices = new dmFloat3(); temp12_DominoVertices.FileRead(stream, stream.Position); _DominoVertices.Add(temp12_DominoVertices); } stream.Position = offset + 80; Field6 = stream.ReadValueS32(); stream.Position = offset + 104; serDominoTriangles = new SerializeData(); serDominoTriangles.FileRead(stream, stream.Position); stream.Position = offset + 56; //still checking variablearrays DominoTriangles = new List<dmMeshTriangle>(); for(int i = 0; i < (int)(serDominoTriangles.Field1 / 28); i++) { stream.Position = serDominoTriangles.Field0 + 16 + (28*i) ; dmMeshTriangle temp12_DominoTriangles; temp12_DominoTriangles = new dmMeshTriangle(); temp12_DominoTriangles.FileRead(stream, stream.Position); _DominoTriangles.Add(temp12_DominoTriangles); } stream.Position = offset + 84; Field9 = stream.ReadValueS32(); stream.Position = offset + 120; serDominoEdges = new SerializeData(); serDominoEdges.FileRead(stream, stream.Position); stream.Position = offset + 64; //still checking variablearrays DominoEdges = new List<dmMeshEdge>(); for(int i = 0; i < (int)(serDominoEdges.Field1 / 20); i++) { stream.Position = serDominoEdges.Field0 + 16 + (20*i) ; dmMeshEdge temp12_DominoEdges; temp12_DominoEdges = new dmMeshEdge(); temp12_DominoEdges.FileRead(stream, stream.Position); _DominoEdges.Add(temp12_DominoEdges); } stream.Position = offset + 72; Field12 = stream.ReadValueS32(); stream.Position = offset + 112; serDominoNodes = new SerializeData(); serDominoNodes.FileRead(stream, stream.Position); stream.Position = offset + 40; //still checking variablearrays DominoNodes = new List<dmMeshNode>(); for(int i = 0; i < (int)(serDominoNodes.Field1 / 12); i++) { stream.Position = serDominoNodes.Field0 + 16 + (12*i) ; dmMeshNode temp12_DominoNodes; temp12_DominoNodes = new dmMeshNode(); temp12_DominoNodes.FileRead(stream, stream.Position); _DominoNodes.Add(temp12_DominoNodes); } stream.Position = offset + 88; Field15 = stream.ReadValueS32(); stream.Position = offset + 92; Field16 = stream.ReadValueS32(); stream.Position = offset + 128; Field17 = stream.ReadValueS32(); stream.Position = offset + 132; Field18 = stream.ReadValueS32(); }