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 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(); }