diff options
author | Ton Roosendaal <ton@blender.org> | 2005-10-29 14:15:36 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-10-29 14:15:36 +0400 |
commit | 3635bde6f4980cff7dab5d48cb006100c879ac5c (patch) | |
tree | 4f4f052ad9bbdf1856afa02d415d701f97f91751 /source/blender/src/editnla.c | |
parent | 8162961d315acb6c141b071dec6dc858baff5ba7 (diff) |
Orange's buglist!
- Action Editor: hotkeys V and H for handles were invisible, added menus
- NLA strips: when current frame is exactly on the strip end, it didn't
include that action... needs a rounding correction for it.
- Action/NLA: deleting keys in Action, which results in only 1 key left,
resulted in zero sized strip length. Now the strips are defaulted to be
1 frame in size minimal.
- NLA editor: ALT+C "Convert to strip" didn't increment Action user count
- 3D Window: CTRL+P make parent to Bone still gave the insane menu with all
bone names. With unified PoseMode select it can just parent to the
active Bone. Note; this now requires the Armature to be in PoseMode to
work.
- Rotation Constraint; the new options to only map to X,Y,Z rotation, did
set the not mapped rotation axes to zero. These should remain unchanged.
- AutoKey optionn for Actions; should not insert action keys on ESC
And added a fix myself:
- When SHIFT+selecting a Bone in PoseMode, and the Armature was not selected
or active yet, it doesn't extend-select/deselect the Bone anymore.
This case is only useful when you try to add IK or Constraint, so the
shift+selection should only activate the clicked Bone.
Diffstat (limited to 'source/blender/src/editnla.c')
-rw-r--r-- | source/blender/src/editnla.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/src/editnla.c b/source/blender/src/editnla.c index 9f180771876..790494d9d44 100644 --- a/source/blender/src/editnla.c +++ b/source/blender/src/editnla.c @@ -184,8 +184,9 @@ void synchronize_action_strips(void) for (base=G.scene->base.first; base; base=base->next) { for (strip = base->object->nlastrips.last; strip; strip=strip->prev) { if (strip->flag & ACTSTRIP_LOCK_ACTION) { - float actstart = calc_action_start(strip->act); - float actend = calc_action_end(strip->act); + float actstart, actend; + + calc_action_range(strip->act, &actstart, &actend); if(strip->actstart!=actstart || strip->actend!=actend) { float mapping= (strip->end - strip->start)/(strip->actend - strip->actstart); @@ -211,8 +212,7 @@ void reset_action_strips(int val) for (strip = base->object->nlastrips.last; strip; strip=strip->prev) { if (strip->flag & ACTSTRIP_SELECT) { if(val==2) { - strip->actstart = calc_action_start(strip->act); - strip->actend = calc_action_end(strip->act); + calc_action_range(strip->act, &strip->actstart, &strip->actend); } else if(val==1) { float mapping= (strip->actend - strip->actstart)/(strip->end - strip->start); @@ -495,8 +495,8 @@ static void convert_nla(short mval[2]) /* Link the action to the nstrip */ nstrip->act = base->object->action; - nstrip->actstart = calc_action_start(base->object->action); /* MAKE THIS THE FIRST FRAME OF THE ACTION */ - nstrip->actend = calc_action_end(base->object->action); + nstrip->act->id.us++; + calc_action_range(nstrip->act, &nstrip->actstart, &nstrip->actend); nstrip->start = nstrip->actstart; nstrip->end = nstrip->actend; nstrip->flag = ACTSTRIP_SELECT|ACTSTRIP_LOCK_ACTION; @@ -546,8 +546,7 @@ static void add_nla_block(short event) /* Link the action to the strip */ strip->act = act; - strip->actstart = calc_action_start(act); - strip->actend = calc_action_end(act); + calc_action_range(strip->act, &strip->actstart, &strip->actend); strip->start = G.scene->r.cfra; /* could be mval[0] another time... */ strip->end = strip->start + (strip->actend-strip->actstart); /* simple prevention of zero strips */ |