public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadCharArray(128);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
     serSubSceneGroups = new SerializeData();
     serSubSceneGroups.Parse(buffer);
     //still checking variablearrays
     this.SubSceneGroups = new List<SubSceneGroup>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _SubSceneGroups.Count; loop12++)
     {
         _SubSceneGroups[loop12] = new SubSceneGroup();
         _SubSceneGroups[loop12].Parse(buffer);
     }
     Field5 = new SubSceneGroup();
     Field5.Parse(buffer);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadString(128);
     stream.Position = offset + 128;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 132;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 144;
     serSubSceneGroups = new SerializeData();
     serSubSceneGroups.FileRead(stream, stream.Position);
     stream.Position = offset + 136;
     //still checking variablearrays
     SubSceneGroups = new List<SubSceneGroup>();
     for(int i = 0; i < (int)(serSubSceneGroups.Field1 / 24); i++)
     {
     stream.Position = serSubSceneGroups.Field0 + 16 + (24*i) ;
         SubSceneGroup temp12_SubSceneGroups;
         temp12_SubSceneGroups = new SubSceneGroup();
         temp12_SubSceneGroups.FileRead(stream, stream.Position);
         _SubSceneGroups.Add(temp12_SubSceneGroups);
     }
     stream.Position = offset + 152;
     Field5 = new SubSceneGroup();
     Field5.FileRead(stream, stream.Position);
 }