public override void Parse(GameBitBuffer buffer)
 {
     serActorGroups = new SerializeData();
     serActorGroups.Parse(buffer);
     //still checking variablearrays
     this.ActorGroups = new List<ActorGroup>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _ActorGroups.Count; loop12++)
     {
         _ActorGroups[loop12] = new ActorGroup();
         _ActorGroups[loop12].Parse(buffer);
     }
     serScriptGlobalVars = new SerializeData();
     serScriptGlobalVars.Parse(buffer);
     //still checking variablearrays
     this.ScriptGlobalVars = new List<GlobalScriptVariable>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _ScriptGlobalVars.Count; loop12++)
     {
         _ScriptGlobalVars[loop12] = new GlobalScriptVariable();
         _ScriptGlobalVars[loop12].Parse(buffer);
     }
     TuningParams = new DifficultyTuningParams[4];
     for(int i = 0;i < _TuningParams.Length;i++)
     {
         _TuningParams[i] = new DifficultyTuningParams();
         _TuningParams[i].Parse(buffer);
     }
     Field5 = buffer.ReadFloat32();
     Field6 = buffer.ReadFloat32();
     Field7 = buffer.ReadFloat32();
     Field8 = buffer.ReadFloat32();
     Field9 = buffer.ReadFloat32();
     Field10 = buffer.ReadInt(32);
     Field11 = buffer.ReadFloat32();
     Field12 = buffer.ReadFloat32();
     Field13 = buffer.ReadFloat32();
     Field14 = buffer.ReadFloat32();
     Field15 = buffer.ReadFloat32();
     Field16 = buffer.ReadFloat32();
     Field17 = buffer.ReadFloat32();
     Field18 = buffer.ReadInt(32);
     Field19 = buffer.ReadFloat32();
     Field20 = buffer.ReadInt(32);
     Field21 = buffer.ReadInt(32);
     Field22 = buffer.ReadInt(32);
     Field23 = buffer.ReadFloat32();
     Field24 = buffer.ReadFloat32();
     Field25 = buffer.ReadFloat32();
     Field26 = buffer.ReadFloat32();
     Field27 = buffer.ReadFloat32();
     Field28 = buffer.ReadFloat32();
     Field29 = buffer.ReadFloat32();
     Field30 = buffer.ReadFloat32();
     Field31 = buffer.ReadFloat32();
     Field32 = buffer.ReadFloat32();
     //still checking fixedarrays on basictypes
     Field33 = new float[4];
     for(int loop12 = 0;loop12 < _Field33.Length;loop12++)
     {
     _Field33[loop12] = buffer.ReadFloat32();
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 8;
     serActorGroups = new SerializeData();
     serActorGroups.FileRead(stream, stream.Position);
     stream.Position = offset + 0;
     //still checking variablearrays
     ActorGroups = new List<ActorGroup>();
     for(int i = 0; i < (int)(serActorGroups.Field1 / 68); i++)
     {
     stream.Position = serActorGroups.Field0 + 16 + (68*i) ;
         ActorGroup temp12_ActorGroups;
         temp12_ActorGroups = new ActorGroup();
         temp12_ActorGroups.FileRead(stream, stream.Position);
         _ActorGroups.Add(temp12_ActorGroups);
     }
     stream.Position = offset + 24;
     serScriptGlobalVars = new SerializeData();
     serScriptGlobalVars.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     //still checking variablearrays
     ScriptGlobalVars = new List<GlobalScriptVariable>();
     for(int i = 0; i < (int)(serScriptGlobalVars.Field1 / 40); i++)
     {
     stream.Position = serScriptGlobalVars.Field0 + 16 + (40*i) ;
         GlobalScriptVariable temp12_ScriptGlobalVars;
         temp12_ScriptGlobalVars = new GlobalScriptVariable();
         temp12_ScriptGlobalVars.FileRead(stream, stream.Position);
         _ScriptGlobalVars.Add(temp12_ScriptGlobalVars);
     }
     stream.Position = offset + 32;
     TuningParams = new DifficultyTuningParams[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         DifficultyTuningParams temp12_TuningParams;
         temp12_TuningParams = new DifficultyTuningParams();
         temp12_TuningParams.FileRead(stream, stream.Position);
         _TuningParams[loop12] = temp12_TuningParams;
     }
     stream.Position = offset + 192;
     Field5 = stream.ReadValueF32();
     stream.Position = offset + 196;
     Field6 = stream.ReadValueF32();
     stream.Position = offset + 200;
     Field7 = stream.ReadValueF32();
     stream.Position = offset + 204;
     Field8 = stream.ReadValueF32();
     stream.Position = offset + 208;
     Field9 = stream.ReadValueF32();
     stream.Position = offset + 212;
     Field10 = stream.ReadValueS32();
     stream.Position = offset + 216;
     Field11 = stream.ReadValueF32();
     stream.Position = offset + 220;
     Field12 = stream.ReadValueF32();
     stream.Position = offset + 224;
     Field13 = stream.ReadValueF32();
     stream.Position = offset + 228;
     Field14 = stream.ReadValueF32();
     stream.Position = offset + 232;
     Field15 = stream.ReadValueF32();
     stream.Position = offset + 236;
     Field16 = stream.ReadValueF32();
     stream.Position = offset + 240;
     Field17 = stream.ReadValueF32();
     stream.Position = offset + 244;
     Field18 = stream.ReadValueS32();
     stream.Position = offset + 248;
     Field19 = stream.ReadValueF32();
     stream.Position = offset + 252;
     Field20 = stream.ReadValueS32();
     stream.Position = offset + 256;
     Field21 = stream.ReadValueS32();
     stream.Position = offset + 260;
     Field22 = stream.ReadValueS32();
     stream.Position = offset + 264;
     Field23 = stream.ReadValueF32();
     stream.Position = offset + 268;
     Field24 = stream.ReadValueF32();
     stream.Position = offset + 272;
     Field25 = stream.ReadValueF32();
     stream.Position = offset + 276;
     Field26 = stream.ReadValueF32();
     stream.Position = offset + 280;
     Field27 = stream.ReadValueF32();
     stream.Position = offset + 284;
     Field28 = stream.ReadValueF32();
     stream.Position = offset + 288;
     Field29 = stream.ReadValueF32();
     stream.Position = offset + 292;
     Field30 = stream.ReadValueF32();
     stream.Position = offset + 296;
     Field31 = stream.ReadValueF32();
     stream.Position = offset + 300;
     Field32 = stream.ReadValueF32();
     stream.Position = offset + 304;
     Field33 = new float[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         float temp12_Field33;
         temp12_Field33 = stream.ReadValueF32();
         _Field33[loop12] = temp12_Field33;
     }
 }