public override void Parse(GameBitBuffer buffer) { Field0 = new dmFloat3(); Field0.Parse(buffer); Field1 = new dmFloat3(); Field1.Parse(buffer); Field2 = new dmFloat3(); Field2.Parse(buffer); DominoNodeCount = buffer.ReadInt(32); serDominoVertices = new SerializeData(); serDominoVertices.Parse(buffer); //still checking variablearrays this.DominoVertices = new List<dmFloat3>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _DominoVertices.Count; loop12++) { _DominoVertices[loop12] = new dmFloat3(); _DominoVertices[loop12].Parse(buffer); } Field6 = buffer.ReadInt(32); serDominoTriangles = new SerializeData(); serDominoTriangles.Parse(buffer); //still checking variablearrays this.DominoTriangles = new List<dmMeshTriangle>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _DominoTriangles.Count; loop12++) { _DominoTriangles[loop12] = new dmMeshTriangle(); _DominoTriangles[loop12].Parse(buffer); } Field9 = buffer.ReadInt(32); serDominoEdges = new SerializeData(); serDominoEdges.Parse(buffer); //still checking variablearrays this.DominoEdges = new List<dmMeshEdge>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _DominoEdges.Count; loop12++) { _DominoEdges[loop12] = new dmMeshEdge(); _DominoEdges[loop12].Parse(buffer); } Field12 = buffer.ReadInt(32); serDominoNodes = new SerializeData(); serDominoNodes.Parse(buffer); //still checking variablearrays this.DominoNodes = new List<dmMeshNode>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _DominoNodes.Count; loop12++) { _DominoNodes[loop12] = new dmMeshNode(); _DominoNodes[loop12].Parse(buffer); } Field15 = buffer.ReadInt(32); Field16 = buffer.ReadInt(32); Field17 = buffer.ReadInt(32); Field18 = buffer.ReadInt(32); }
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(); }