public static PmdBone Parse(BinaryReader br) { return(new PmdBone { Name = PmdDocument.ReadPmdString(br, 20), ParentBone = br.ReadInt16(), ConnectedToOrAssociatedBone = br.ReadInt16(), Kind = (PmdBoneKind)br.ReadByte(), IKParentBoneOrAssociationRate = br.ReadInt16(), Position = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, }); }
public static PmdMaterial Parse(BinaryReader br) { return(new PmdMaterial { Diffuse = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, Power = br.ReadSingle(), Specular = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, Ambient = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, ToonIndex = br.ReadSByte(), NoEdge = br.ReadBoolean(), IndexCount = br.ReadInt32(), Texture = PmdDocument.ReadPmdString(br, 20), }); }
public static PmdConstraint Parse(BinaryReader br) { return(new PmdConstraint { Name = PmdDocument.ReadPmdString(br, 20), RigidA = br.ReadInt32(), RigidB = br.ReadInt32(), Position = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, Rotation = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, LinearLowerLimit = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, LinearUpperLimit = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, AngularLowerLimit = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, AngularUpperLimit = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, LinearSpringStiffness = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, AngularSpringStiffness = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, }); }
public static PmdMorph Parse(BinaryReader br) { var rt = new PmdMorph { Name = PmdDocument.ReadPmdString(br, 20), }; var count = br.ReadUInt32(); rt.Kind = (PmdMorphKind)br.ReadByte(); for (uint i = 0; i < count; i++) { rt.Indices.Add((ushort)br.ReadUInt32()); rt.Offsets.Add(new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }); } return(rt); }
public static PmdRigidBody Parse(BinaryReader br) { return(new PmdRigidBody { Name = PmdDocument.ReadPmdString(br, 20), RelatedBone = br.ReadInt16(), Group = br.ReadByte(), CollidableGroups = (PmdRigidGroups)br.ReadUInt16(), Shape = (PmdRigidShape)br.ReadByte(), Size = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, Position = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, Rotation = new[] { br.ReadSingle(), br.ReadSingle(), br.ReadSingle() }, Mass = br.ReadSingle(), LinearDamping = br.ReadSingle(), AngularDamping = br.ReadSingle(), Restitution = br.ReadSingle(), Friction = br.ReadSingle(), Kind = (PmdRigidKind)br.ReadByte(), }); }