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 = stream.ReadValueS32();
     stream.Position = offset + 36;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 40;
     Field7 = new ColorPath();
     Field7.FileRead(stream, stream.Position);
     stream.Position = offset + 80;
     Field8 = new ColorPath();
     Field8.FileRead(stream, stream.Position);
     stream.Position = offset + 120;
     Field9 = new FloatPath();
     Field9.FileRead(stream, stream.Position);
     stream.Position = offset + 160;
     Field10 = new FloatPath();
     Field10.FileRead(stream, stream.Position);
     stream.Position = offset + 200;
     _Field11 = stream.ReadValueS32();
     stream.Position = offset + 204;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 208;
     Field13 = new UberMaterial();
     Field13.FileRead(stream, stream.Position);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     snoCloth = stream.ReadValueS32();
     stream.Position = offset + 8;
     serTagMap = new SerializeData();
     serTagMap.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     // hTagMap: type DT_TAGMAP hasnt a deserializer implemented
     throw new Exception("some fields arent going to be decoded.");
     stream.Position = offset + 24;
     Field4 = new UberMaterial();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 128;
     snoMaterial = stream.ReadValueS32();
 }
 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);
     }
 }
 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.ReadValueF32();
     stream.Position = offset + 24;
     Field3 = stream.ReadValueF32();
     stream.Position = offset + 28;
     Field4 = stream.ReadValueF32();
     stream.Position = offset + 32;
     Field5 = stream.ReadValueF32();
     stream.Position = offset + 36;
     Field6 = stream.ReadValueF32();
     stream.Position = offset + 40;
     Field7 = stream.ReadValueF32();
     stream.Position = offset + 48;
     Field8 = new UberMaterial();
     Field8.FileRead(stream, stream.Position);
     stream.Position = offset + 152;
     snoPhysics = stream.ReadValueS32();
     stream.Position = offset + 156;
     Field10 = stream.ReadValueS32();
     stream.Position = offset + 160;
     Field11 = stream.ReadValueS32();
     stream.Position = offset + 164;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 168;
     Field13 = stream.ReadValueS32();
     stream.Position = offset + 172;
     Field14 = new ColorPath();
     Field14.FileRead(stream, stream.Position);
     stream.Position = offset + 212;
     Field15 = new ColorPath();
     Field15.FileRead(stream, stream.Position);
     stream.Position = offset + 252;
     Field16 = new FloatPath();
     Field16.FileRead(stream, stream.Position);
     stream.Position = offset + 292;
     Field17 = new FloatPath();
     Field17.FileRead(stream, stream.Position);
     stream.Position = offset + 332;
     Field18 = new FloatPath();
     Field18.FileRead(stream, stream.Position);
     stream.Position = offset + 372;
     Field19 = new FloatPath();
     Field19.FileRead(stream, stream.Position);
     stream.Position = offset + 412;
     Field20 = new FloatPath();
     Field20.FileRead(stream, stream.Position);
     stream.Position = offset + 452;
     Field21 = new FloatPath();
     Field21.FileRead(stream, stream.Position);
     stream.Position = offset + 492;
     Field22 = new FloatPath();
     Field22.FileRead(stream, stream.Position);
     stream.Position = offset + 532;
     Field23 = new FloatPath();
     Field23.FileRead(stream, stream.Position);
     stream.Position = offset + 572;
     Field24 = new FloatPath();
     Field24.FileRead(stream, stream.Position);
     stream.Position = offset + 612;
     Field25 = new FloatPath();
     Field25.FileRead(stream, stream.Position);
     stream.Position = offset + 652;
     Field26 = new VectorPath();
     Field26.FileRead(stream, stream.Position);
     stream.Position = offset + 692;
     Field27 = new VelocityPath();
     Field27.FileRead(stream, stream.Position);
     stream.Position = offset + 732;
     Field28 = stream.ReadValueF32();
     stream.Position = offset + 736;
     Field29 = stream.ReadValueF32();
     stream.Position = offset + 740;
     Field30 = new FloatPath();
     Field30.FileRead(stream, stream.Position);
     stream.Position = offset + 780;
     Field31 = new FloatPath();
     Field31.FileRead(stream, stream.Position);
     stream.Position = offset + 820;
     Field32 = new FloatPath();
     Field32.FileRead(stream, stream.Position);
     stream.Position = offset + 860;
     Field33 = new FloatPath();
     Field33.FileRead(stream, stream.Position);
     stream.Position = offset + 900;
     Field34 = new FloatPath();
     Field34.FileRead(stream, stream.Position);
     stream.Position = offset + 948;
     Field35 = stream.ReadValueS32();
     stream.Position = offset + 940;
     serMsgTriggeredEvents = new SerializeData();
     serMsgTriggeredEvents.FileRead(stream, stream.Position);
     stream.Position = offset + 952;
     //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);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new RGBAColor();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 4;
     Field1 = new PostFXParams();
     Field1.FileRead(stream, stream.Position);
     stream.Position = offset + 36;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 40;
     Field3 = stream.ReadValueS32();
     stream.Position = offset + 48;
     Field4 = new UberMaterial();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 152;
     snoMusic = stream.ReadValueS32();
     stream.Position = offset + 156;
     snoCombatMusic = stream.ReadValueS32();
     stream.Position = offset + 160;
     snoAmbient = stream.ReadValueS32();
     stream.Position = offset + 164;
     snoReverb = stream.ReadValueS32();
     stream.Position = offset + 168;
     snoWeather = stream.ReadValueS32();
     stream.Position = offset + 172;
     snoIrradianceTex = stream.ReadValueS32();
     stream.Position = offset + 176;
     snoIrradianceTexDead = stream.ReadValueS32();
 }