public override void Parse(GameBitBuffer buffer)
 {
     snoScene = buffer.ReadInt(32);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
     serLabels = new SerializeData();
     serLabels.Parse(buffer);
     //still checking variablearrays
     this.Labels = new List<SubSceneLabel>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Labels.Count; loop12++)
     {
         _Labels[loop12] = new SubSceneLabel();
         _Labels[loop12].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     snoScene = stream.ReadValueS32();
     stream.Position = offset + 4;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 8;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 24;
     serLabels = new SerializeData();
     serLabels.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     //still checking variablearrays
     Labels = new List<SubSceneLabel>();
     for(int i = 0; i < (int)(serLabels.Field1 / 8); i++)
     {
     stream.Position = serLabels.Field0 + 16 + (8*i) ;
         SubSceneLabel temp12_Labels;
         temp12_Labels = new SubSceneLabel();
         temp12_Labels.FileRead(stream, stream.Position);
         _Labels.Add(temp12_Labels);
     }
 }