// ---- CONSTRUCTORS & DESTRUCTOR ------------------------------------------------------------------------------

        internal BoneAnimData(ResFileLoader loader, BoneAnimFlagsBase flags)
        {
            Flags     = 0; // Never in files.
            Scale     = flags.HasFlag(BoneAnimFlagsBase.Scale) ? loader.ReadVector3F() : Vector3F.Zero;
            Rotate    = flags.HasFlag(BoneAnimFlagsBase.Rotate) ? loader.ReadVector4F() : Vector4F.Zero;
            Padding   = 0; // Never in files.
            Translate = flags.HasFlag(BoneAnimFlagsBase.Translate) ? loader.ReadVector3F() : Vector3F.Zero;
        }
 internal void Save(ResFileSaver saver, BoneAnimFlagsBase flags)
 {
     if (flags.HasFlag(BoneAnimFlagsBase.Scale))
     {
         saver.Write(Scale);
     }
     if (flags.HasFlag(BoneAnimFlagsBase.Rotate))
     {
         saver.Write(Rotate);
     }
     if (flags.HasFlag(BoneAnimFlagsBase.Translate))
     {
         saver.Write(Translate);
     }
 }