public override void Parse(GameBitBuffer buffer)
 {
     Field0 = new dmFloat3();
     Field0.Parse(buffer);
     serVertices = new SerializeData();
     serVertices.Parse(buffer);
     //still checking variablearrays
     this.Vertices = new List<dmFloat3>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Vertices.Count; loop12++)
     {
         _Vertices[loop12] = new dmFloat3();
         _Vertices[loop12].Parse(buffer);
     }
     serPlanes = new SerializeData();
     serPlanes.Parse(buffer);
     //still checking variablearrays
     this.Planes = new List<dmPlane>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Planes.Count; loop12++)
     {
         _Planes[loop12] = new dmPlane();
         _Planes[loop12].Parse(buffer);
     }
     serSubEdges = new SerializeData();
     serSubEdges.Parse(buffer);
     //still checking variablearrays
     this.SubEdges = new List<dmSubEdge>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _SubEdges.Count; loop12++)
     {
         _SubEdges[loop12] = new dmSubEdge();
         _SubEdges[loop12].Parse(buffer);
     }
     serFaceSubEdges = new SerializeData();
     serFaceSubEdges.Parse(buffer);
     //still checking variablearrays
     this.FaceSubEdges = new List<byte>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _FaceSubEdges.Count; loop12++)
     {
         _FaceSubEdges[loop12] = (byte)buffer.ReadInt(0);
     }
     Field9 = buffer.ReadInt(32);
     Field10 = buffer.ReadInt(32);
     Field11 = buffer.ReadInt(32);
     Field12 = buffer.ReadFloat32();
     Field13 = buffer.ReadFloat32();
 }
 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();
 }