Skip to content
Snippets Groups Projects
Commit f52fafae authored by Joshua Leung's avatar Joshua Leung
Browse files

AnimSys2: Bugfix for copying transforms on bones with keyframes.

The calls were missing BONE_UNKEYED flags, so the options looked like they were not working.
parent 20401c20
Branches animsys2
No related tags found
No related merge requests found
...@@ -722,14 +722,20 @@ void pose_copy_menu(void) ...@@ -722,14 +722,20 @@ void pose_copy_menu(void)
switch (nr) { switch (nr) {
case 1: /* Local Location */ case 1: /* Local Location */
VECCOPY(pchan->loc, pchanact->loc); VECCOPY(pchan->loc, pchanact->loc);
pchan->bone->flag |= BONE_UNKEYED;
break; break;
case 2: /* Local Rotation */ case 2: /* Local Rotation */
pchan->rotmode= pchanact->rotmode; // TODO: do we really want to do it this way? pchan->rotmode= pchanact->rotmode; // TODO: do we really want to do it this way?
VECCOPY(pchan->eul, pchanact->eul); VECCOPY(pchan->eul, pchanact->eul);
QUATCOPY(pchan->quat, pchanact->quat); QUATCOPY(pchan->quat, pchanact->quat);
pchan->bone->flag |= BONE_UNKEYED;
break; break;
case 3: /* Local Size */ case 3: /* Local Size */
VECCOPY(pchan->size, pchanact->size); VECCOPY(pchan->size, pchanact->size);
pchan->bone->flag |= BONE_UNKEYED;
break; break;
case 4: /* All Constraints */ case 4: /* All Constraints */
{ {
...@@ -772,6 +778,8 @@ void pose_copy_menu(void) ...@@ -772,6 +778,8 @@ void pose_copy_menu(void)
break; break;
case 9: /* Visual Location */ case 9: /* Visual Location */
armature_loc_pose_to_bone(pchan, pchanact->pose_mat[3], pchan->loc); armature_loc_pose_to_bone(pchan, pchanact->pose_mat[3], pchan->loc);
pchan->bone->flag |= BONE_UNKEYED;
break; break;
case 10: /* Visual Rotation */ case 10: /* Visual Rotation */
{ {
...@@ -783,6 +791,8 @@ void pose_copy_menu(void) ...@@ -783,6 +791,8 @@ void pose_copy_menu(void)
Mat4ToEul(delta_mat, pchan->eul); Mat4ToEul(delta_mat, pchan->eul);
else else
Mat4ToQuat(delta_mat, pchan->quat); Mat4ToQuat(delta_mat, pchan->quat);
pchan->bone->flag |= BONE_UNKEYED;
} }
break; break;
case 11: /* Visual Size */ case 11: /* Visual Size */
...@@ -791,6 +801,8 @@ void pose_copy_menu(void) ...@@ -791,6 +801,8 @@ void pose_copy_menu(void)
armature_mat_pose_to_bone(pchan, pchanact->pose_mat, delta_mat); armature_mat_pose_to_bone(pchan, pchanact->pose_mat, delta_mat);
Mat4ToSize(delta_mat, pchan->size); Mat4ToSize(delta_mat, pchan->size);
pchan->bone->flag |= BONE_UNKEYED;
} }
case 12: /* Rotation mode */ case 12: /* Rotation mode */
pchan->rotmode= pchanact->rotmode; pchan->rotmode= pchanact->rotmode;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment