public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
     Field3 = buffer.ReadInt(32);
     Field4 = buffer.ReadInt(32);
     Field5 = new InterpolationScalar();
     Field5.Parse(buffer);
     Field6 = new FloatPath();
     Field6.Parse(buffer);
     Field7 = new IntPath();
     Field7.Parse(buffer);
     Field8 = new FloatPath();
     Field8.Parse(buffer);
     Field9 = new TimePath();
     Field9.Parse(buffer);
     Field10 = new FloatPath();
     Field10.Parse(buffer);
     Field11 = new VelocityVectorPath();
     Field11.Parse(buffer);
     Field12 = new AnglePath();
     Field12.Parse(buffer);
     Field13 = new VelocityVectorPath();
     Field13.Parse(buffer);
     Field14 = new VelocityPath();
     Field14.Parse(buffer);
     Field15 = new VelocityPath();
     Field15.Parse(buffer);
     Field16 = new VelocityPath();
     Field16.Parse(buffer);
     Field17 = new UberMaterial();
     Field17.Parse(buffer);
     snoPhysics = buffer.ReadInt(32);
     Field19 = buffer.ReadFloat32();
     Field20 = buffer.ReadInt(32);
     Field21 = buffer.ReadFloat32();
     Field22 = buffer.ReadFloat32();
     Field23 = buffer.ReadFloat32();
     Field24 = buffer.ReadFloat32();
     Field25 = buffer.ReadFloat32();
     Field26 = buffer.ReadFloat32();
     Field27 = buffer.ReadFloat32();
     snoActor = buffer.ReadInt(32);
     Field29 = new EmitterParams();
     Field29.Parse(buffer);
     Field30 = new FloatPath();
     Field30.Parse(buffer);
     Field31 = new ColorPath();
     Field31.Parse(buffer);
     Field32 = new FloatPath();
     Field32.Parse(buffer);
     Field33 = new FloatPath();
     Field33.Parse(buffer);
     Field34 = new AnglePath();
     Field34.Parse(buffer);
     Field35 = new AngularVelocityPath();
     Field35.Parse(buffer);
     Field36 = new AngularVelocityPath();
     Field36.Parse(buffer);
     Field37 = new AnglePath();
     Field37.Parse(buffer);
     Field38 = new VectorPath();
     Field38.Parse(buffer);
     Field39 = new FloatPath();
     Field39.Parse(buffer);
     Field40 = new VelocityPath();
     Field40.Parse(buffer);
     Field41 = new AngularVelocityPath();
     Field41.Parse(buffer);
     Field42 = new FloatPath();
     Field42.Parse(buffer);
     Field43 = new VelocityPath();
     Field43.Parse(buffer);
     Field44 = new VectorPath();
     Field44.Parse(buffer);
     Field45 = new VelocityVectorPath();
     Field45.Parse(buffer);
     Field46 = new AccelVectorPath();
     Field46.Parse(buffer);
     Field47 = new VectorPath();
     Field47.Parse(buffer);
     Field48 = new VelocityVectorPath();
     Field48.Parse(buffer);
     Field49 = new AccelVectorPath();
     Field49.Parse(buffer);
     Field50 = new VelocityPath();
     Field50.Parse(buffer);
     Field51 = new FloatPath();
     Field51.Parse(buffer);
     Field52 = new VectorPath();
     Field52.Parse(buffer);
     Field53 = new VelocityPath();
     Field53.Parse(buffer);
     Field54 = buffer.ReadFloat32();
     Field55 = buffer.ReadInt(32);
     Field56 = buffer.ReadFloat32();
     Field57 = buffer.ReadFloat32();
     Field58 = buffer.ReadInt(32);
     serMsgTriggeredEvents = new SerializeData();
     serMsgTriggeredEvents.Parse(buffer);
     //still checking variablearrays
     this.MsgTriggeredEvents = new List<MsgTriggeredEvent>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _MsgTriggeredEvents.Count; loop12++)
     {
         _MsgTriggeredEvents[loop12] = new MsgTriggeredEvent();
         _MsgTriggeredEvents[loop12].Parse(buffer);
     }
 }
 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;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 24;
     Field3 = stream.ReadValueS32();
     stream.Position = offset + 28;
     Field4 = stream.ReadValueS32();
     stream.Position = offset + 32;
     Field5 = new InterpolationScalar();
     Field5.FileRead(stream, stream.Position);
     stream.Position = offset + 44;
     Field6 = new FloatPath();
     Field6.FileRead(stream, stream.Position);
     stream.Position = offset + 84;
     Field7 = new IntPath();
     Field7.FileRead(stream, stream.Position);
     stream.Position = offset + 124;
     Field8 = new FloatPath();
     Field8.FileRead(stream, stream.Position);
     stream.Position = offset + 164;
     Field9 = new TimePath();
     Field9.FileRead(stream, stream.Position);
     stream.Position = offset + 204;
     Field10 = new FloatPath();
     Field10.FileRead(stream, stream.Position);
     stream.Position = offset + 284;
     Field11 = new VelocityVectorPath();
     Field11.FileRead(stream, stream.Position);
     stream.Position = offset + 244;
     Field12 = new AnglePath();
     Field12.FileRead(stream, stream.Position);
     stream.Position = offset + 324;
     Field13 = new VelocityVectorPath();
     Field13.FileRead(stream, stream.Position);
     stream.Position = offset + 364;
     Field14 = new VelocityPath();
     Field14.FileRead(stream, stream.Position);
     stream.Position = offset + 404;
     Field15 = new VelocityPath();
     Field15.FileRead(stream, stream.Position);
     stream.Position = offset + 444;
     Field16 = new VelocityPath();
     Field16.FileRead(stream, stream.Position);
     stream.Position = offset + 568;
     Field17 = new UberMaterial();
     Field17.FileRead(stream, stream.Position);
     stream.Position = offset + 672;
     snoPhysics = stream.ReadValueS32();
     stream.Position = offset + 676;
     Field19 = stream.ReadValueF32();
     stream.Position = offset + 680;
     Field20 = stream.ReadValueS32();
     stream.Position = offset + 684;
     Field21 = stream.ReadValueF32();
     stream.Position = offset + 688;
     Field22 = stream.ReadValueF32();
     stream.Position = offset + 692;
     Field23 = stream.ReadValueF32();
     stream.Position = offset + 696;
     Field24 = stream.ReadValueF32();
     stream.Position = offset + 700;
     Field25 = stream.ReadValueF32();
     stream.Position = offset + 704;
     Field26 = stream.ReadValueF32();
     stream.Position = offset + 708;
     Field27 = stream.ReadValueF32();
     stream.Position = offset + 712;
     snoActor = stream.ReadValueS32();
     stream.Position = offset + 716;
     Field29 = new EmitterParams();
     Field29.FileRead(stream, stream.Position);
     stream.Position = offset + 1008;
     Field30 = new FloatPath();
     Field30.FileRead(stream, stream.Position);
     stream.Position = offset + 968;
     Field31 = new ColorPath();
     Field31.FileRead(stream, stream.Position);
     stream.Position = offset + 1048;
     Field32 = new FloatPath();
     Field32.FileRead(stream, stream.Position);
     stream.Position = offset + 1088;
     Field33 = new FloatPath();
     Field33.FileRead(stream, stream.Position);
     stream.Position = offset + 1128;
     Field34 = new AnglePath();
     Field34.FileRead(stream, stream.Position);
     stream.Position = offset + 1168;
     Field35 = new AngularVelocityPath();
     Field35.FileRead(stream, stream.Position);
     stream.Position = offset + 1208;
     Field36 = new AngularVelocityPath();
     Field36.FileRead(stream, stream.Position);
     stream.Position = offset + 1248;
     Field37 = new AnglePath();
     Field37.FileRead(stream, stream.Position);
     stream.Position = offset + 1288;
     Field38 = new VectorPath();
     Field38.FileRead(stream, stream.Position);
     stream.Position = offset + 1328;
     Field39 = new FloatPath();
     Field39.FileRead(stream, stream.Position);
     stream.Position = offset + 1368;
     Field40 = new VelocityPath();
     Field40.FileRead(stream, stream.Position);
     stream.Position = offset + 1408;
     Field41 = new AngularVelocityPath();
     Field41.FileRead(stream, stream.Position);
     stream.Position = offset + 1448;
     Field42 = new FloatPath();
     Field42.FileRead(stream, stream.Position);
     stream.Position = offset + 1488;
     Field43 = new VelocityPath();
     Field43.FileRead(stream, stream.Position);
     stream.Position = offset + 1528;
     Field44 = new VectorPath();
     Field44.FileRead(stream, stream.Position);
     stream.Position = offset + 1568;
     Field45 = new VelocityVectorPath();
     Field45.FileRead(stream, stream.Position);
     stream.Position = offset + 1608;
     Field46 = new AccelVectorPath();
     Field46.FileRead(stream, stream.Position);
     stream.Position = offset + 1648;
     Field47 = new VectorPath();
     Field47.FileRead(stream, stream.Position);
     stream.Position = offset + 1688;
     Field48 = new VelocityVectorPath();
     Field48.FileRead(stream, stream.Position);
     stream.Position = offset + 1728;
     Field49 = new AccelVectorPath();
     Field49.FileRead(stream, stream.Position);
     stream.Position = offset + 1768;
     Field50 = new VelocityPath();
     Field50.FileRead(stream, stream.Position);
     stream.Position = offset + 1808;
     Field51 = new FloatPath();
     Field51.FileRead(stream, stream.Position);
     stream.Position = offset + 484;
     Field52 = new VectorPath();
     Field52.FileRead(stream, stream.Position);
     stream.Position = offset + 524;
     Field53 = new VelocityPath();
     Field53.FileRead(stream, stream.Position);
     stream.Position = offset + 564;
     Field54 = stream.ReadValueF32();
     stream.Position = offset + 1848;
     Field55 = stream.ReadValueS32();
     stream.Position = offset + 1852;
     Field56 = stream.ReadValueF32();
     stream.Position = offset + 1856;
     Field57 = stream.ReadValueF32();
     stream.Position = offset + 1868;
     Field58 = stream.ReadValueS32();
     stream.Position = offset + 1860;
     serMsgTriggeredEvents = new SerializeData();
     serMsgTriggeredEvents.FileRead(stream, stream.Position);
     stream.Position = offset + 1872;
     //still checking variablearrays
     MsgTriggeredEvents = new List<MsgTriggeredEvent>();
     for(int i = 0; i < (int)(serMsgTriggeredEvents.Field1 / 412); i++)
     {
     stream.Position = serMsgTriggeredEvents.Field0 + 16 + (412*i) ;
         MsgTriggeredEvent temp12_MsgTriggeredEvents;
         temp12_MsgTriggeredEvents = new MsgTriggeredEvent();
         temp12_MsgTriggeredEvents.FileRead(stream, stream.Position);
         _MsgTriggeredEvents.Add(temp12_MsgTriggeredEvents);
     }
 }