public override void Parse(GameBitBuffer buffer)
 {
     serFlagLookups = new SerializeData();
     serFlagLookups.Parse(buffer);
     //still checking variablearrays
     this.FlagLookups = new List<FlagLookup>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _FlagLookups.Count; loop12++)
     {
         _FlagLookups[loop12] = new FlagLookup();
         _FlagLookups[loop12].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 24;
     serFlagLookups = new SerializeData();
     serFlagLookups.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     //still checking variablearrays
     FlagLookups = new List<FlagLookup>();
     for(int i = 0; i < (int)(serFlagLookups.Field1 / 388); i++)
     {
     stream.Position = serFlagLookups.Field0 + 16 + (388*i) ;
         FlagLookup temp12_FlagLookups;
         temp12_FlagLookups = new FlagLookup();
         temp12_FlagLookups.FileRead(stream, stream.Position);
         _FlagLookups.Add(temp12_FlagLookups);
     }
 }