public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     nVertCount = buffer.ReadInt(32);
     serVertList = new SerializeData();
     serVertList.Parse(buffer);
     //still checking variablearrays
     this.VertList = new List<FatVertex>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _VertList.Count; loop12++)
     {
         _VertList[loop12] = new FatVertex();
         _VertList[loop12].Parse(buffer);
     }
     serInfluenceList = new SerializeData();
     serInfluenceList.Parse(buffer);
     //still checking variablearrays
     this.InfluenceList = new List<VertInfluences>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _InfluenceList.Count; loop12++)
     {
         _InfluenceList[loop12] = new VertInfluences();
         _InfluenceList[loop12].Parse(buffer);
     }
     nIndexCount = buffer.ReadInt(32);
     serIndexList = new SerializeData();
     serIndexList.Parse(buffer);
     //still checking variablearrays
     this.IndexList = new List<ushort>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _IndexList.Count; loop12++)
     {
         _IndexList[loop12] = (ushort)buffer.ReadInt(0);
     }
     serClothStructure = new SerializeData();
     serClothStructure.Parse(buffer);
     //still checking variablearrays
     this.ClothStructure = new List<ClothStructure>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _ClothStructure.Count; loop12++)
     {
         _ClothStructure[loop12] = new ClothStructure();
         _ClothStructure[loop12].Parse(buffer);
     }
     snoSurface = buffer.ReadInt(32);
     Field12 = buffer.ReadInt(32);
     Field13 = buffer.ReadFloat32();
     Field14 = buffer.ReadCharArray(128);
     Field15 = buffer.ReadCharArray(128);
     aabbBounds = new AABB();
     aabbBounds.Parse(buffer);
     nShapeCount = buffer.ReadInt(32);
     serShapes = new SerializeData();
     serShapes.Parse(buffer);
     //still checking variablearrays
     this.Shapes = new List<CollisionShape>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Shapes.Count; loop12++)
     {
         _Shapes[loop12] = new CollisionShape();
         _Shapes[loop12].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     nVertCount = stream.ReadValueS32();
     stream.Position = offset + 8;
     serVertList = new SerializeData();
     serVertList.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     //still checking variablearrays
     VertList = new List<FatVertex>();
     for(int i = 0; i < (int)(serVertList.Field1 / 44); i++)
     {
     stream.Position = serVertList.Field0 + 16 + (44*i) ;
         FatVertex temp12_VertList;
         temp12_VertList = new FatVertex();
         temp12_VertList.FileRead(stream, stream.Position);
         _VertList.Add(temp12_VertList);
     }
     stream.Position = offset + 20;
     serInfluenceList = new SerializeData();
     serInfluenceList.FileRead(stream, stream.Position);
     stream.Position = offset + 28;
     //still checking variablearrays
     InfluenceList = new List<VertInfluences>();
     for(int i = 0; i < (int)(serInfluenceList.Field1 / 24); i++)
     {
     stream.Position = serInfluenceList.Field0 + 16 + (24*i) ;
         VertInfluences temp12_InfluenceList;
         temp12_InfluenceList = new VertInfluences();
         temp12_InfluenceList.FileRead(stream, stream.Position);
         _InfluenceList.Add(temp12_InfluenceList);
     }
     stream.Position = offset + 32;
     nIndexCount = stream.ReadValueS32();
     stream.Position = offset + 36;
     serIndexList = new SerializeData();
     serIndexList.FileRead(stream, stream.Position);
     stream.Position = offset + 44;
     //still checking variablearrays
     IndexList = new List<ushort>();
     for(int i = 0; i < (int)(serIndexList.Field1 / 2); i++)
     {
     stream.Position = serIndexList.Field0 + 16 + (2*i) ;
         ushort temp12_IndexList;
         temp12_IndexList = stream.ReadValueU16();
         _IndexList.Add(temp12_IndexList);
     }
     stream.Position = offset + 48;
     serClothStructure = new SerializeData();
     serClothStructure.FileRead(stream, stream.Position);
     stream.Position = offset + 56;
     //still checking variablearrays
     ClothStructure = new List<ClothStructure>();
     for(int i = 0; i < (int)(serClothStructure.Field1 / 88); i++)
     {
     stream.Position = serClothStructure.Field0 + 16 + (88*i) ;
         ClothStructure temp12_ClothStructure;
         temp12_ClothStructure = new ClothStructure();
         temp12_ClothStructure.FileRead(stream, stream.Position);
         _ClothStructure.Add(temp12_ClothStructure);
     }
     stream.Position = offset + 60;
     snoSurface = stream.ReadValueS32();
     stream.Position = offset + 64;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 68;
     Field13 = stream.ReadValueF32();
     stream.Position = offset + 72;
     Field14 = stream.ReadString(128);
     stream.Position = offset + 200;
     Field15 = stream.ReadString(128);
     stream.Position = offset + 328;
     aabbBounds = new AABB();
     aabbBounds.FileRead(stream, stream.Position);
     stream.Position = offset + 352;
     nShapeCount = stream.ReadValueS32();
     stream.Position = offset + 356;
     serShapes = new SerializeData();
     serShapes.FileRead(stream, stream.Position);
     stream.Position = offset + 364;
     //still checking variablearrays
     Shapes = new List<CollisionShape>();
     for(int i = 0; i < (int)(serShapes.Field1 / 68); i++)
     {
     stream.Position = serShapes.Field0 + 16 + (68*i) ;
         CollisionShape temp12_Shapes;
         temp12_Shapes = new CollisionShape();
         temp12_Shapes.FileRead(stream, stream.Position);
         _Shapes.Add(temp12_Shapes);
     }
 }