Fix #100718: NLA Hold Forward Inconsistency #107281

Closed
Wayde Moss wants to merge 2 commits from wbmoss_dev/blender:pr_fix_100718_NLA_Hold_Forward_Inconsistency into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
1 changed files with 6 additions and 10 deletions
Showing only changes of commit f03415f699 - Show all commits

View File

@ -3259,16 +3259,12 @@ static void animsys_create_action_track_strip(const AnimData *adt,
r_action_strip->extendmode = adt->act_extendmode; r_action_strip->extendmode = adt->act_extendmode;
r_action_strip->influence = adt->act_influence; r_action_strip->influence = adt->act_influence;
/* NOTE: must set this, or else the default setting overrides, /* Must set NLASTRIP_FLAG_USR_INFLUENCE, or else the default setting overrides, and influence
* and this setting doesn't work. */ * doesn't work.
r_action_strip->flag |= NLASTRIP_FLAG_USR_INFLUENCE; *
* Must set NLASTRIP_FLAG_NO_TIME_MAP, so Action Track fcurve evaluation extends beyond its
/* Unless extendmode is Nothing (might be useful for flattening NLA evaluation), disable range. * keyframe bounds. */
* Extendmode Nothing and Hold will behave as normal. Hold Forward will behave just like Hold. r_action_strip->flag |= NLASTRIP_FLAG_USR_INFLUENCE | NLASTRIP_FLAG_NO_TIME_MAP;
*/
if (r_action_strip->extendmode != NLASTRIP_EXTEND_NOTHING) {
r_action_strip->flag |= NLASTRIP_FLAG_NO_TIME_MAP;
}
const bool tweaking = (adt->flag & ADT_NLA_EDIT_ON) != 0; const bool tweaking = (adt->flag & ADT_NLA_EDIT_ON) != 0;
const bool soloing = (adt->flag & ADT_NLA_SOLO_TRACK) != 0; const bool soloing = (adt->flag & ADT_NLA_SOLO_TRACK) != 0;