public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadCharArray(128);
     serSOAs = new SerializeData();
     serSOAs.Parse(buffer);
     //still checking variablearrays
     this.SOAs = new List<SubObjectAppearance>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _SOAs.Count; loop12++)
     {
         _SOAs[loop12] = new SubObjectAppearance();
         _SOAs[loop12].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadString(128);
     stream.Position = offset + 128;
     serSOAs = new SerializeData();
     serSOAs.FileRead(stream, stream.Position);
     stream.Position = offset + 136;
     //still checking variablearrays
     SOAs = new List<SubObjectAppearance>();
     for(int i = 0; i < (int)(serSOAs.Field1 / 248); i++)
     {
     stream.Position = serSOAs.Field0 + 16 + (248*i) ;
         SubObjectAppearance temp12_SOAs;
         temp12_SOAs = new SubObjectAppearance();
         temp12_SOAs.FileRead(stream, stream.Position);
         _SOAs.Add(temp12_SOAs);
     }
 }