public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = buffer.ReadInt(32);
     serPasses = new SerializeData();
     serPasses.Parse(buffer);
     //still checking variablearrays
     this.Passes = new List<RenderPass>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Passes.Count; loop12++)
     {
         _Passes[loop12] = new RenderPass();
         _Passes[loop12].Parse(buffer);
     }
     Field4 = buffer.ReadCharArray(256);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 16;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 20;
     serPasses = new SerializeData();
     serPasses.FileRead(stream, stream.Position);
     stream.Position = offset + 28;
     //still checking variablearrays
     Passes = new List<RenderPass>();
     for(int i = 0; i < (int)(serPasses.Field1 / 840); i++)
     {
     stream.Position = serPasses.Field0 + 16 + (840*i) ;
         RenderPass temp12_Passes;
         temp12_Passes = new RenderPass();
         temp12_Passes.FileRead(stream, stream.Position);
         _Passes.Add(temp12_Passes);
     }
     stream.Position = offset + 32;
     Field4 = stream.ReadString(256);
 }