Exemple #1
0
 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() },
     });
 }
Exemple #2
0
 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),
     });
 }
Exemple #3
0
 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() },
     });
 }
Exemple #4
0
        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);
        }
Exemple #5
0
 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(),
     });
 }