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();
 }