public override void Read(BinaryReader r) { base.Read(r); Name = r.ReadFString(128); NumChildren = r.ReadUInt32(); PhysicsType = new MtlNamePhysicsType[NumChildren]; MatType = NumChildren == 0 ? MtlNameTypeEnum.Single : MtlNameTypeEnum.Library; for (var i = 0; i < NumChildren; i++) { PhysicsType[i] = (MtlNamePhysicsType)Enum.ToObject(typeof(MtlNamePhysicsType), r.ReadUInt32()); } }
public override void Read(BinaryReader b) { // Appears to have 4 more Bytes than ChunkMtlName_744 base.Read(b); Name = b.ReadFString(128); NumChildren = b.ReadUInt32(); PhysicsType = new MtlNamePhysicsType[NumChildren]; MatType = NumChildren == 0 ? MtlNameTypeEnum.Single : MtlNameTypeEnum.Library; for (int i = 0; i < NumChildren; i++) { PhysicsType[i] = (MtlNamePhysicsType)Enum.ToObject(typeof(MtlNamePhysicsType), b.ReadUInt32()); } }
public override void Read(BinaryReader r) { base.Read(r); MatType = (MtlNameTypeEnum)r.ReadUInt32(); // if 0x01, then material lib. If 0x12, mat name. This is actually a bitstruct. SkipBytes(r, 4); // NFlags2 Name = r.ReadFString(128); PhysicsType = new MtlNamePhysicsType[] { (MtlNamePhysicsType)r.ReadUInt32() }; NumChildren = r.ReadUInt32(); // Now we need to read the Children references. 2 parts; the number of children, and then 66 - numchildren padding ChildIDs = new uint[NumChildren]; for (var i = 0; i < NumChildren; i++) { ChildIDs[i] = r.ReadUInt32(); } SkipBytes(r, 32); }