public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadCharArray(64);
     Field1 = buffer.ReadInt(32);
     Field2 = new AABB();
     Field2.Parse(buffer);
     wsBounds = new Sphere();
     wsBounds.Parse(buffer);
     Field4 = new PRSTransform();
     Field4.Parse(buffer);
     Field5 = new PRSTransform();
     Field5.Parse(buffer);
     Field6 = new PRSTransform();
     Field6.Parse(buffer);
     Field7 = 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);
     }
     serConstraint = new SerializeData();
     serConstraint.Parse(buffer);
     //still checking variablearrays
     this.Constraint = new List<ConstraintParameters>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Constraint.Count; loop12++)
     {
         _Constraint[loop12] = new ConstraintParameters();
         _Constraint[loop12].Parse(buffer);
     }
     snoParticleSystem = buffer.ReadInt(32);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadString(64);
     stream.Position = offset + 64;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 68;
     Field2 = new AABB();
     Field2.FileRead(stream, stream.Position);
     stream.Position = offset + 92;
     wsBounds = new Sphere();
     wsBounds.FileRead(stream, stream.Position);
     stream.Position = offset + 108;
     Field4 = new PRSTransform();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 140;
     Field5 = new PRSTransform();
     Field5.FileRead(stream, stream.Position);
     stream.Position = offset + 172;
     Field6 = new PRSTransform();
     Field6.FileRead(stream, stream.Position);
     stream.Position = offset + 204;
     Field7 = stream.ReadValueS32();
     stream.Position = offset + 208;
     serShapes = new SerializeData();
     serShapes.FileRead(stream, stream.Position);
     stream.Position = offset + 216;
     //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);
     }
     stream.Position = offset + 220;
     serConstraint = new SerializeData();
     serConstraint.FileRead(stream, stream.Position);
     stream.Position = offset + 228;
     //still checking variablearrays
     Constraint = new List<ConstraintParameters>();
     for(int i = 0; i < (int)(serConstraint.Field1 / 276); i++)
     {
     stream.Position = serConstraint.Field0 + 16 + (276*i) ;
         ConstraintParameters temp12_Constraint;
         temp12_Constraint = new ConstraintParameters();
         temp12_Constraint.FileRead(stream, stream.Position);
         _Constraint.Add(temp12_Constraint);
     }
     stream.Position = offset + 232;
     snoParticleSystem = stream.ReadValueS32();
 }