public void Parse(GameBitBuffer buffer)
 {
     dwFlags = buffer.ReadInt(32);
     nBoneCount = buffer.ReadInt(32);
     serBoneStructure = new SerializeData();
     serBoneStructure.Parse(buffer);
     Field3 = new DT_VARIABLEARRAY();
     Field3.Parse(buffer);
     Field4 = new LookAtData();
     Field4.Parse(buffer);
     Field5 = buffer.ReadInt(32);
     Field6 = new DT_VARIABLEARRAY();
     Field6.Parse(buffer);
     serBonePulses = new SerializeData();
     serBonePulses.Parse(buffer);
     Field8 = new GeoSet[2];
     for(int i = 0;i < _Field8.Length;i++)
     {
         _Field8[i] = new GeoSet();
         _Field8[i].Parse(buffer);
     }
     Field9 = new Sphere();
     Field9.Parse(buffer);
     nCollisionCapsuleCount = buffer.ReadInt(32);
     serCollisionCapsules = new SerializeData();
     serCollisionCapsules.Parse(buffer);
     Field12 = new DT_VARIABLEARRAY();
     Field12.Parse(buffer);
     nHardpointCount = buffer.ReadInt(32);
     serHardpoints = new SerializeData();
     serHardpoints.Parse(buffer);
     Field15 = new DT_VARIABLEARRAY();
     Field15.Parse(buffer);
     Field16 = new Vector3D();
     Field16.Parse(buffer);
     tOctreeVisualMesh = new Octree();
     tOctreeVisualMesh.Parse(buffer);
     aabbBounds = new AABB();
     aabbBounds.Parse(buffer);
     nLoopConstraintCount = buffer.ReadInt(32);
     serLoopConstraints = new SerializeData();
     serLoopConstraints.Parse(buffer);
     Field21 = new DT_VARIABLEARRAY();
     Field21.Parse(buffer);
     uRagdollDegrade = buffer.ReadInt(32);
     Field23 = buffer.ReadCharArray(256);
     Field24 = buffer.ReadCharArray(256);
     Field25 = buffer.ReadCharArray(256);
     Field26 = buffer.ReadCharArray(256);
     Field27 = buffer.ReadInt(32);
     Field28 = buffer.ReadFloat32();
     Field29 = buffer.ReadInt(32);
 }