public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadCharArray(64);
     Field1 = buffer.ReadInt(32);
     Field2 = new AABB();
     Field2.Parse(buffer);
     wsBounds = new Sphere();
     wsBounds.Parse(buffer);
     Field4 = new PRSTransform();
     Field4.Parse(buffer);
     Field5 = new PRSTransform();
     Field5.Parse(buffer);
     Field6 = new PRSTransform();
     Field6.Parse(buffer);
     Field7 = buffer.ReadInt(32);
     serShapes = new SerializeData();
     serShapes.Parse(buffer);
     //still checking variablearrays
     this.Shapes = new List<CollisionShape>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Shapes.Count; loop12++)
     {
         _Shapes[loop12] = new CollisionShape();
         _Shapes[loop12].Parse(buffer);
     }
     serConstraint = new SerializeData();
     serConstraint.Parse(buffer);
     //still checking variablearrays
     this.Constraint = new List<ConstraintParameters>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Constraint.Count; loop12++)
     {
         _Constraint[loop12] = new ConstraintParameters();
         _Constraint[loop12].Parse(buffer);
     }
     snoParticleSystem = buffer.ReadInt(32);
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     nVertCount = buffer.ReadInt(32);
     serVertList = new SerializeData();
     serVertList.Parse(buffer);
     //still checking variablearrays
     this.VertList = new List<FatVertex>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _VertList.Count; loop12++)
     {
         _VertList[loop12] = new FatVertex();
         _VertList[loop12].Parse(buffer);
     }
     serInfluenceList = new SerializeData();
     serInfluenceList.Parse(buffer);
     //still checking variablearrays
     this.InfluenceList = new List<VertInfluences>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _InfluenceList.Count; loop12++)
     {
         _InfluenceList[loop12] = new VertInfluences();
         _InfluenceList[loop12].Parse(buffer);
     }
     nIndexCount = buffer.ReadInt(32);
     serIndexList = new SerializeData();
     serIndexList.Parse(buffer);
     //still checking variablearrays
     this.IndexList = new List<ushort>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _IndexList.Count; loop12++)
     {
         _IndexList[loop12] = (ushort)buffer.ReadInt(0);
     }
     serClothStructure = new SerializeData();
     serClothStructure.Parse(buffer);
     //still checking variablearrays
     this.ClothStructure = new List<ClothStructure>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _ClothStructure.Count; loop12++)
     {
         _ClothStructure[loop12] = new ClothStructure();
         _ClothStructure[loop12].Parse(buffer);
     }
     snoSurface = buffer.ReadInt(32);
     Field12 = buffer.ReadInt(32);
     Field13 = buffer.ReadFloat32();
     Field14 = buffer.ReadCharArray(128);
     Field15 = buffer.ReadCharArray(128);
     aabbBounds = new AABB();
     aabbBounds.Parse(buffer);
     nShapeCount = buffer.ReadInt(32);
     serShapes = new SerializeData();
     serShapes.Parse(buffer);
     //still checking variablearrays
     this.Shapes = new List<CollisionShape>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Shapes.Count; loop12++)
     {
         _Shapes[loop12] = new CollisionShape();
         _Shapes[loop12].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadString(64);
     stream.Position = offset + 64;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 68;
     Field2 = new AABB();
     Field2.FileRead(stream, stream.Position);
     stream.Position = offset + 92;
     wsBounds = new Sphere();
     wsBounds.FileRead(stream, stream.Position);
     stream.Position = offset + 108;
     Field4 = new PRSTransform();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 140;
     Field5 = new PRSTransform();
     Field5.FileRead(stream, stream.Position);
     stream.Position = offset + 172;
     Field6 = new PRSTransform();
     Field6.FileRead(stream, stream.Position);
     stream.Position = offset + 204;
     Field7 = stream.ReadValueS32();
     stream.Position = offset + 208;
     serShapes = new SerializeData();
     serShapes.FileRead(stream, stream.Position);
     stream.Position = offset + 216;
     //still checking variablearrays
     Shapes = new List<CollisionShape>();
     for(int i = 0; i < (int)(serShapes.Field1 / 68); i++)
     {
     stream.Position = serShapes.Field0 + 16 + (68*i) ;
         CollisionShape temp12_Shapes;
         temp12_Shapes = new CollisionShape();
         temp12_Shapes.FileRead(stream, stream.Position);
         _Shapes.Add(temp12_Shapes);
     }
     stream.Position = offset + 220;
     serConstraint = new SerializeData();
     serConstraint.FileRead(stream, stream.Position);
     stream.Position = offset + 228;
     //still checking variablearrays
     Constraint = new List<ConstraintParameters>();
     for(int i = 0; i < (int)(serConstraint.Field1 / 276); i++)
     {
     stream.Position = serConstraint.Field0 + 16 + (276*i) ;
         ConstraintParameters temp12_Constraint;
         temp12_Constraint = new ConstraintParameters();
         temp12_Constraint.FileRead(stream, stream.Position);
         _Constraint.Add(temp12_Constraint);
     }
     stream.Position = offset + 232;
     snoParticleSystem = stream.ReadValueS32();
 }
 public override void Parse(GameBitBuffer buffer)
 {
     dwFlags = buffer.ReadInt(32);
     nBoneCount = buffer.ReadInt(32);
     serBoneStructure = new SerializeData();
     serBoneStructure.Parse(buffer);
     //still checking variablearrays
     this.BoneStructure = new List<BoneStructure>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _BoneStructure.Count; loop12++)
     {
         _BoneStructure[loop12] = new BoneStructure();
         _BoneStructure[loop12].Parse(buffer);
     }
     Field4 = new LookAtData();
     Field4.Parse(buffer);
     Field5 = buffer.ReadInt(32);
     serBonePulses = new SerializeData();
     serBonePulses.Parse(buffer);
     //still checking variablearrays
     this.BonePulses = new List<BonePulseData>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _BonePulses.Count; loop12++)
     {
         _BonePulses[loop12] = new BonePulseData();
         _BonePulses[loop12].Parse(buffer);
     }
     Field8 = new GeoSet[2];
     for(int i = 0;i < _Field8.Length;i++)
     {
         _Field8[i] = new GeoSet();
         _Field8[i].Parse(buffer);
     }
     Field9 = new Sphere();
     Field9.Parse(buffer);
     nCollisionCapsuleCount = buffer.ReadInt(32);
     serCollisionCapsules = new SerializeData();
     serCollisionCapsules.Parse(buffer);
     //still checking variablearrays
     this.CollisionCapsules = new List<CollisionCapsule>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _CollisionCapsules.Count; loop12++)
     {
         _CollisionCapsules[loop12] = new CollisionCapsule();
         _CollisionCapsules[loop12].Parse(buffer);
     }
     nHardpointCount = buffer.ReadInt(32);
     serHardpoints = new SerializeData();
     serHardpoints.Parse(buffer);
     //still checking variablearrays
     this.Hardpoints = new List<Hardpoint>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Hardpoints.Count; loop12++)
     {
         _Hardpoints[loop12] = new Hardpoint();
         _Hardpoints[loop12].Parse(buffer);
     }
     Field16 = new Vector3D();
     Field16.Parse(buffer);
     tOctreeVisualMesh = new Octree();
     tOctreeVisualMesh.Parse(buffer);
     aabbBounds = new AABB();
     aabbBounds.Parse(buffer);
     Field19 = buffer.ReadCharArray(256);
     Field20 = buffer.ReadCharArray(256);
     Field21 = buffer.ReadCharArray(256);
     Field22 = buffer.ReadCharArray(256);
     Field23 = buffer.ReadInt(32);
     Field24 = buffer.ReadFloat32();
     Field25 = buffer.ReadInt(32);
     nLoopConstraintCount = buffer.ReadInt(32);
     serLoopConstraints = new SerializeData();
     serLoopConstraints.Parse(buffer);
     //still checking variablearrays
     this.LoopConstraints = new List<ConstraintParameters>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _LoopConstraints.Count; loop12++)
     {
         _LoopConstraints[loop12] = new ConstraintParameters();
         _LoopConstraints[loop12].Parse(buffer);
     }
     uRagdollDegrade = buffer.ReadInt(32);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     nVertCount = stream.ReadValueS32();
     stream.Position = offset + 8;
     serVertList = new SerializeData();
     serVertList.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     //still checking variablearrays
     VertList = new List<FatVertex>();
     for(int i = 0; i < (int)(serVertList.Field1 / 44); i++)
     {
     stream.Position = serVertList.Field0 + 16 + (44*i) ;
         FatVertex temp12_VertList;
         temp12_VertList = new FatVertex();
         temp12_VertList.FileRead(stream, stream.Position);
         _VertList.Add(temp12_VertList);
     }
     stream.Position = offset + 20;
     serInfluenceList = new SerializeData();
     serInfluenceList.FileRead(stream, stream.Position);
     stream.Position = offset + 28;
     //still checking variablearrays
     InfluenceList = new List<VertInfluences>();
     for(int i = 0; i < (int)(serInfluenceList.Field1 / 24); i++)
     {
     stream.Position = serInfluenceList.Field0 + 16 + (24*i) ;
         VertInfluences temp12_InfluenceList;
         temp12_InfluenceList = new VertInfluences();
         temp12_InfluenceList.FileRead(stream, stream.Position);
         _InfluenceList.Add(temp12_InfluenceList);
     }
     stream.Position = offset + 32;
     nIndexCount = stream.ReadValueS32();
     stream.Position = offset + 36;
     serIndexList = new SerializeData();
     serIndexList.FileRead(stream, stream.Position);
     stream.Position = offset + 44;
     //still checking variablearrays
     IndexList = new List<ushort>();
     for(int i = 0; i < (int)(serIndexList.Field1 / 2); i++)
     {
     stream.Position = serIndexList.Field0 + 16 + (2*i) ;
         ushort temp12_IndexList;
         temp12_IndexList = stream.ReadValueU16();
         _IndexList.Add(temp12_IndexList);
     }
     stream.Position = offset + 48;
     serClothStructure = new SerializeData();
     serClothStructure.FileRead(stream, stream.Position);
     stream.Position = offset + 56;
     //still checking variablearrays
     ClothStructure = new List<ClothStructure>();
     for(int i = 0; i < (int)(serClothStructure.Field1 / 88); i++)
     {
     stream.Position = serClothStructure.Field0 + 16 + (88*i) ;
         ClothStructure temp12_ClothStructure;
         temp12_ClothStructure = new ClothStructure();
         temp12_ClothStructure.FileRead(stream, stream.Position);
         _ClothStructure.Add(temp12_ClothStructure);
     }
     stream.Position = offset + 60;
     snoSurface = stream.ReadValueS32();
     stream.Position = offset + 64;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 68;
     Field13 = stream.ReadValueF32();
     stream.Position = offset + 72;
     Field14 = stream.ReadString(128);
     stream.Position = offset + 200;
     Field15 = stream.ReadString(128);
     stream.Position = offset + 328;
     aabbBounds = new AABB();
     aabbBounds.FileRead(stream, stream.Position);
     stream.Position = offset + 352;
     nShapeCount = stream.ReadValueS32();
     stream.Position = offset + 356;
     serShapes = new SerializeData();
     serShapes.FileRead(stream, stream.Position);
     stream.Position = offset + 364;
     //still checking variablearrays
     Shapes = new List<CollisionShape>();
     for(int i = 0; i < (int)(serShapes.Field1 / 68); i++)
     {
     stream.Position = serShapes.Field0 + 16 + (68*i) ;
         CollisionShape temp12_Shapes;
         temp12_Shapes = new CollisionShape();
         temp12_Shapes.FileRead(stream, stream.Position);
         _Shapes.Add(temp12_Shapes);
     }
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
     AABB1 = new AABB();
     AABB1.Parse(buffer);
     AABB2 = new AABB();
     AABB2.Parse(buffer);
     Field5 = new int[4];
     for(int i = 0;i < _Field5.Length;i++) _Field5[i] = buffer.ReadInt(32);
     Field6 = buffer.ReadInt(32);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     dwFlags = stream.ReadValueS32();
     stream.Position = offset + 4;
     nBoneCount = stream.ReadValueS32();
     stream.Position = offset + 8;
     serBoneStructure = new SerializeData();
     serBoneStructure.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     //still checking variablearrays
     BoneStructure = new List<BoneStructure>();
     for(int i = 0; i < (int)(serBoneStructure.Field1 / 236); i++)
     {
     stream.Position = serBoneStructure.Field0 + 16 + (236*i) ;
         BoneStructure temp12_BoneStructure;
         temp12_BoneStructure = new BoneStructure();
         temp12_BoneStructure.FileRead(stream, stream.Position);
         _BoneStructure.Add(temp12_BoneStructure);
     }
     stream.Position = offset + 24;
     Field4 = new LookAtData();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 116;
     Field5 = stream.ReadValueS32();
     stream.Position = offset + 128;
     serBonePulses = new SerializeData();
     serBonePulses.FileRead(stream, stream.Position);
     stream.Position = offset + 120;
     //still checking variablearrays
     BonePulses = new List<BonePulseData>();
     for(int i = 0; i < (int)(serBonePulses.Field1 / 76); i++)
     {
     stream.Position = serBonePulses.Field0 + 16 + (76*i) ;
         BonePulseData temp12_BonePulses;
         temp12_BonePulses = new BonePulseData();
         temp12_BonePulses.FileRead(stream, stream.Position);
         _BonePulses.Add(temp12_BonePulses);
     }
     stream.Position = offset + 136;
     Field8 = new GeoSet[2];
     for(int loop12=0; loop12 < 2; loop12++ )
     {
         GeoSet temp12_Field8;
         temp12_Field8 = new GeoSet();
         temp12_Field8.FileRead(stream, stream.Position);
         _Field8[loop12] = temp12_Field8;
     }
     stream.Position = offset + 184;
     Field9 = new Sphere();
     Field9.FileRead(stream, stream.Position);
     stream.Position = offset + 200;
     nCollisionCapsuleCount = stream.ReadValueS32();
     stream.Position = offset + 204;
     serCollisionCapsules = new SerializeData();
     serCollisionCapsules.FileRead(stream, stream.Position);
     stream.Position = offset + 216;
     //still checking variablearrays
     CollisionCapsules = new List<CollisionCapsule>();
     for(int i = 0; i < (int)(serCollisionCapsules.Field1 / 104); i++)
     {
     stream.Position = serCollisionCapsules.Field0 + 16 + (104*i) ;
         CollisionCapsule temp12_CollisionCapsules;
         temp12_CollisionCapsules = new CollisionCapsule();
         temp12_CollisionCapsules.FileRead(stream, stream.Position);
         _CollisionCapsules.Add(temp12_CollisionCapsules);
     }
     stream.Position = offset + 224;
     nHardpointCount = stream.ReadValueS32();
     stream.Position = offset + 228;
     serHardpoints = new SerializeData();
     serHardpoints.FileRead(stream, stream.Position);
     stream.Position = offset + 240;
     //still checking variablearrays
     Hardpoints = new List<Hardpoint>();
     for(int i = 0; i < (int)(serHardpoints.Field1 / 96); i++)
     {
     stream.Position = serHardpoints.Field0 + 16 + (96*i) ;
         Hardpoint temp12_Hardpoints;
         temp12_Hardpoints = new Hardpoint();
         temp12_Hardpoints.FileRead(stream, stream.Position);
         _Hardpoints.Add(temp12_Hardpoints);
     }
     stream.Position = offset + 248;
     Field16 = new Vector3D();
     Field16.FileRead(stream, stream.Position);
     stream.Position = offset + 264;
     tOctreeVisualMesh = new Octree();
     tOctreeVisualMesh.FileRead(stream, stream.Position);
     stream.Position = offset + 336;
     aabbBounds = new AABB();
     aabbBounds.FileRead(stream, stream.Position);
     stream.Position = offset + 400;
     Field19 = stream.ReadString(256);
     stream.Position = offset + 656;
     Field20 = stream.ReadString(256);
     stream.Position = offset + 912;
     Field21 = stream.ReadString(256);
     stream.Position = offset + 1168;
     Field22 = stream.ReadString(256);
     stream.Position = offset + 1424;
     Field23 = stream.ReadValueS32();
     stream.Position = offset + 1428;
     Field24 = stream.ReadValueF32();
     stream.Position = offset + 1432;
     Field25 = stream.ReadValueS32();
     stream.Position = offset + 360;
     nLoopConstraintCount = stream.ReadValueS32();
     stream.Position = offset + 364;
     serLoopConstraints = new SerializeData();
     serLoopConstraints.FileRead(stream, stream.Position);
     stream.Position = offset + 376;
     //still checking variablearrays
     LoopConstraints = new List<ConstraintParameters>();
     for(int i = 0; i < (int)(serLoopConstraints.Field1 / 276); i++)
     {
     stream.Position = serLoopConstraints.Field0 + 16 + (276*i) ;
         ConstraintParameters temp12_LoopConstraints;
         temp12_LoopConstraints = new ConstraintParameters();
         temp12_LoopConstraints.FileRead(stream, stream.Position);
         _LoopConstraints.Add(temp12_LoopConstraints);
     }
     stream.Position = offset + 384;
     uRagdollDegrade = stream.ReadValueS32();
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     SNOAppearance = buffer.ReadInt(32);
     SNOPhysMesh = buffer.ReadInt(32);
     AABBBounds = new AABB();
     AABBBounds.Parse(buffer);
     AABBMarkerSetBounds = new AABB();
     AABBMarkerSetBounds.Parse(buffer);
     Field5 = new NavMeshDef();
     Field5.Parse(buffer);
     serExclusions = new SerializeData();
     serExclusions.Parse(buffer);
     //still checking variablearrays
     this.Exclusions = new List<int>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Exclusions.Count; loop12++)
     {
         _Exclusions[loop12] = buffer.ReadInt(0);
     }
     serInclusions = new SerializeData();
     serInclusions.Parse(buffer);
     //still checking variablearrays
     this.Inclusions = new List<int>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Inclusions.Count; loop12++)
     {
         _Inclusions[loop12] = buffer.ReadInt(0);
     }
     serMarkerSets = new SerializeData();
     serMarkerSets.Parse(buffer);
     //still checking variablearrays
     this.MarkerSets = new List<int>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _MarkerSets.Count; loop12++)
     {
         _MarkerSets[loop12] = buffer.ReadInt(0);
     }
     Field12 = new LookLink();
     Field12.Parse(buffer);
     Field13 = 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);
     }
     tNavZoneDef = new NavZoneDefinition();
     tNavZoneDef.Parse(buffer);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 8;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 12;
     AABB1 = new AABB();
     AABB1.FileRead(stream, stream.Position);
     stream.Position = offset + 36;
     AABB2 = new AABB();
     AABB2.FileRead(stream, stream.Position);
     stream.Position = offset + 60;
     Field5 = new int[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         int temp12_Field5;
         temp12_Field5 = stream.ReadValueS32();
         _Field5[loop12] = temp12_Field5;
     }
     stream.Position = offset + 76;
     Field6 = stream.ReadValueS32();
 }
 public override void Parse(GameBitBuffer buffer)
 {
     ColFlags = new ActorCollisionFlags();
     ColFlags.Parse(buffer);
     Field1 = buffer.ReadInt(32);
     Cylinder = new AxialCylinder();
     Cylinder.Parse(buffer);
     AABB = new AABB();
     AABB.Parse(buffer);
     Field4 = buffer.ReadFloat32();
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 776;
     SNOAppearance = stream.ReadValueS32();
     stream.Position = offset + 780;
     SNOPhysMesh = stream.ReadValueS32();
     stream.Position = offset + 16;
     AABBBounds = new AABB();
     AABBBounds.FileRead(stream, stream.Position);
     stream.Position = offset + 40;
     AABBMarkerSetBounds = new AABB();
     AABBMarkerSetBounds.FileRead(stream, stream.Position);
     stream.Position = offset + 64;
     Field5 = new NavMeshDef();
     Field5.FileRead(stream, stream.Position);
     stream.Position = offset + 360;
     serExclusions = new SerializeData();
     serExclusions.FileRead(stream, stream.Position);
     stream.Position = offset + 368;
     //still checking variablearrays
     Exclusions = new List<int>();
     for(int i = 0; i < (int)(serExclusions.Field1 / 4); i++)
     {
     stream.Position = serExclusions.Field0 + 16 + (4*i) ;
         int temp12_Exclusions;
         temp12_Exclusions = stream.ReadValueS32();
         _Exclusions.Add(temp12_Exclusions);
     }
     stream.Position = offset + 424;
     serInclusions = new SerializeData();
     serInclusions.FileRead(stream, stream.Position);
     stream.Position = offset + 432;
     //still checking variablearrays
     Inclusions = new List<int>();
     for(int i = 0; i < (int)(serInclusions.Field1 / 4); i++)
     {
     stream.Position = serInclusions.Field0 + 16 + (4*i) ;
         int temp12_Inclusions;
         temp12_Inclusions = stream.ReadValueS32();
         _Inclusions.Add(temp12_Inclusions);
     }
     stream.Position = offset + 488;
     serMarkerSets = new SerializeData();
     serMarkerSets.FileRead(stream, stream.Position);
     stream.Position = offset + 496;
     //still checking variablearrays
     MarkerSets = new List<int>();
     for(int i = 0; i < (int)(serMarkerSets.Field1 / 4); i++)
     {
     stream.Position = serMarkerSets.Field0 + 16 + (4*i) ;
         int temp12_MarkerSets;
         temp12_MarkerSets = stream.ReadValueS32();
         _MarkerSets.Add(temp12_MarkerSets);
     }
     stream.Position = offset + 552;
     Field12 = new LookLink();
     Field12.FileRead(stream, stream.Position);
     stream.Position = offset + 624;
     Field13 = stream.ReadValueS32();
     stream.Position = offset + 616;
     serMsgTriggeredEvents = new SerializeData();
     serMsgTriggeredEvents.FileRead(stream, stream.Position);
     stream.Position = offset + 632;
     //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);
     }
     stream.Position = offset + 640;
     tNavZoneDef = new NavZoneDefinition();
     tNavZoneDef.FileRead(stream, stream.Position);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     ColFlags = new ActorCollisionFlags();
     ColFlags.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 20;
     Cylinder = new AxialCylinder();
     Cylinder.FileRead(stream, stream.Position);
     stream.Position = offset + 40;
     AABB = new AABB();
     AABB.FileRead(stream, stream.Position);
     stream.Position = offset + 64;
     Field4 = stream.ReadValueF32();
 }
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Type = buffer.ReadInt(4);
     ApperanceSNO = buffer.ReadInt(32);
     PhysMeshSNO = buffer.ReadInt(32);
     Cylinder = new AxialCylinder();
     Cylinder.Parse(buffer);
     Sphere = new Sphere();
     Sphere.Parse(buffer);
     AABBBounds = new AABB();
     AABBBounds.Parse(buffer);
     serTagMap = new SerializeData();
     serTagMap.Parse(buffer);
     TagMap = new DT_TAGMAP();
     TagMap.Parse(buffer);
     AnimSetSNO = buffer.ReadInt(32);
     MonsterSNO = buffer.ReadInt(32);
     Field11 = 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);
     }
     V0 = new Vector3D();
     V0.Parse(buffer);
     Looks = new WeightedLook[8];
     for(int i = 0;i < _Looks.Length;i++)
     {
         _Looks[i] = new WeightedLook();
         _Looks[i].Parse(buffer);
     }
     PhysicsSNO = buffer.ReadInt(32);
     Field17 = buffer.ReadInt(32);
     Field18 = buffer.ReadInt(32);
     Field19 = buffer.ReadFloat32();
     Field20 = buffer.ReadFloat32();
     Field21 = buffer.ReadFloat32();
     ActorCollisionData = new ActorCollisionData();
     ActorCollisionData.Parse(buffer);
     InventoryImages = new InventoryImages[5];
     for(int i = 0;i < _InventoryImages.Length;i++)
     {
         _InventoryImages[i] = new InventoryImages();
         _InventoryImages[i].Parse(buffer);
     }
     Field24 = buffer.ReadInt(32);
     serVOCastingNotes = new SerializeData();
     serVOCastingNotes.Parse(buffer);
     throw new Exception("DT_CSTRING in network packets not implemented.");
     serVORole = new SerializeData();
     serVORole.Parse(buffer);
     throw new Exception("DT_CSTRING in network packets not implemented.");
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 16;
     _Type = stream.ReadValueS32();
     stream.Position = offset + 20;
     ApperanceSNO = stream.ReadValueS32();
     stream.Position = offset + 24;
     PhysMeshSNO = stream.ReadValueS32();
     stream.Position = offset + 28;
     Cylinder = new AxialCylinder();
     Cylinder.FileRead(stream, stream.Position);
     stream.Position = offset + 48;
     Sphere = new Sphere();
     Sphere.FileRead(stream, stream.Position);
     stream.Position = offset + 64;
     AABBBounds = new AABB();
     AABBBounds.FileRead(stream, stream.Position);
     stream.Position = offset + 88;
     serTagMap = new SerializeData();
     serTagMap.FileRead(stream, stream.Position);
     stream.Position = offset + 96;
     // TagMap: type DT_TAGMAP hasnt a deserializer implemented
     throw new Exception("some fields arent going to be decoded.");
     stream.Position = offset + 104;
     AnimSetSNO = stream.ReadValueS32();
     stream.Position = offset + 108;
     MonsterSNO = stream.ReadValueS32();
     stream.Position = offset + 120;
     Field11 = stream.ReadValueS32();
     stream.Position = offset + 112;
     serMsgTriggeredEvents = new SerializeData();
     serMsgTriggeredEvents.FileRead(stream, stream.Position);
     stream.Position = offset + 128;
     //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);
     }
     stream.Position = offset + 136;
     V0 = new Vector3D();
     V0.FileRead(stream, stream.Position);
     stream.Position = offset + 148;
     Looks = new WeightedLook[8];
     for(int loop12=0; loop12 < 8; loop12++ )
     {
         WeightedLook temp12_Looks;
         temp12_Looks = new WeightedLook();
         temp12_Looks.FileRead(stream, stream.Position);
         _Looks[loop12] = temp12_Looks;
     }
     stream.Position = offset + 692;
     PhysicsSNO = stream.ReadValueS32();
     stream.Position = offset + 696;
     Field17 = stream.ReadValueS32();
     stream.Position = offset + 700;
     Field18 = stream.ReadValueS32();
     stream.Position = offset + 704;
     Field19 = stream.ReadValueF32();
     stream.Position = offset + 708;
     Field20 = stream.ReadValueF32();
     stream.Position = offset + 712;
     Field21 = stream.ReadValueF32();
     stream.Position = offset + 716;
     ActorCollisionData = new ActorCollisionData();
     ActorCollisionData.FileRead(stream, stream.Position);
     stream.Position = offset + 784;
     InventoryImages = new InventoryImages[5];
     for(int loop12=0; loop12 < 5; loop12++ )
     {
         InventoryImages temp12_InventoryImages;
         temp12_InventoryImages = new InventoryImages();
         temp12_InventoryImages.FileRead(stream, stream.Position);
         _InventoryImages[loop12] = temp12_InventoryImages;
     }
     stream.Position = offset + 824;
     Field24 = stream.ReadValueS32();
     stream.Position = offset + 840;
     serVOCastingNotes = new SerializeData();
     serVOCastingNotes.FileRead(stream, stream.Position);
     stream.Position = offset + 832;
     //still checking cstrings
     stream.Position = serVOCastingNotes.Field0 + 16;
     VOCastingNotes = stream.ReadString((uint)serVOCastingNotes.Field1);
     stream.Position = offset + 856;
     serVORole = new SerializeData();
     serVORole.FileRead(stream, stream.Position);
     stream.Position = offset + 848;
     //still checking cstrings
     stream.Position = serVORole.Field0 + 16;
     VORole = stream.ReadString((uint)serVORole.Field1);
 }
 public override void Parse(GameBitBuffer buffer)
 {
     serMarkers = new SerializeData();
     serMarkers.Parse(buffer);
     //still checking variablearrays
     this.Markers = new List<Marker>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Markers.Count; loop12++)
     {
         _Markers[loop12] = new Marker();
         _Markers[loop12].Parse(buffer);
     }
     serNoSpawns = new SerializeData();
     serNoSpawns.Parse(buffer);
     //still checking variablearrays
     this.NoSpawns = new List<Circle>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _NoSpawns.Count; loop12++)
     {
         _NoSpawns[loop12] = new Circle();
         _NoSpawns[loop12].Parse(buffer);
     }
     Field4 = buffer.ReadInt(32);
     AABB = new AABB();
     AABB.Parse(buffer);
     FileName = buffer.ReadCharArray(256);
     NLabel = buffer.ReadInt(32);
     SpecialIndexCount = buffer.ReadInt(32);
     serSpecialIndexList = new SerializeData();
     serSpecialIndexList.Parse(buffer);
     //still checking variablearrays
     this.SpecialIndexList = new List<ushort>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _SpecialIndexList.Count; loop12++)
     {
         _SpecialIndexList[loop12] = (ushort)buffer.ReadInt(0);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     serMarkers = new SerializeData();
     serMarkers.FileRead(stream, stream.Position);
     stream.Position = offset + 24;
     //still checking variablearrays
     Markers = new List<Marker>();
     for(int i = 0; i < (int)(serMarkers.Field1 / 208); i++)
     {
     stream.Position = serMarkers.Field0 + 16 + (208*i) ;
         Marker temp12_Markers;
         temp12_Markers = new Marker();
         temp12_Markers.FileRead(stream, stream.Position);
         _Markers.Add(temp12_Markers);
     }
     stream.Position = offset + 80;
     serNoSpawns = new SerializeData();
     serNoSpawns.FileRead(stream, stream.Position);
     stream.Position = offset + 88;
     //still checking variablearrays
     NoSpawns = new List<Circle>();
     for(int i = 0; i < (int)(serNoSpawns.Field1 / 12); i++)
     {
     stream.Position = serNoSpawns.Field0 + 16 + (12*i) ;
         Circle temp12_NoSpawns;
         temp12_NoSpawns = new Circle();
         temp12_NoSpawns.FileRead(stream, stream.Position);
         _NoSpawns.Add(temp12_NoSpawns);
     }
     stream.Position = offset + 168;
     Field4 = stream.ReadValueS32();
     stream.Position = offset + 144;
     AABB = new AABB();
     AABB.FileRead(stream, stream.Position);
     stream.Position = offset + 172;
     FileName = stream.ReadString(256);
     stream.Position = offset + 428;
     NLabel = stream.ReadValueS32();
     stream.Position = offset + 432;
     SpecialIndexCount = stream.ReadValueS32();
     stream.Position = offset + 436;
     serSpecialIndexList = new SerializeData();
     serSpecialIndexList.FileRead(stream, stream.Position);
     stream.Position = offset + 448;
     //still checking variablearrays
     SpecialIndexList = new List<ushort>();
     for(int i = 0; i < (int)(serSpecialIndexList.Field1 / 2); i++)
     {
     stream.Position = serSpecialIndexList.Field0 + 16 + (2*i) ;
         ushort temp12_SpecialIndexList;
         temp12_SpecialIndexList = stream.ReadValueU16();
         _SpecialIndexList.Add(temp12_SpecialIndexList);
     }
 }