diff options
author | Joshua Leung <aligorith@gmail.com> | 2007-12-30 15:08:28 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2007-12-30 15:08:28 +0300 |
commit | 5be2e5aa9821a1da9cf16d7dd848a17487f68685 (patch) | |
tree | e8e605e003d4f440ffb354bf8bdf29ca423035c9 /source/blender/src/drawaction.c | |
parent | 96935a6c5d35974e08604a9c338b8dcd06a7b9f8 (diff) |
== PoseLib - Overhauled Implementation ==
Based on feedback from Ton, I've recoded the way "PoseLibs" are implemented/exposed. Therefore, quite a bit of code has been changed to fit this in better.
Now, ANY ACTION can be a "PoseLib". A set of Markers which belong to the Action (it's taken a year, but they're finally back), are used to tag "poses" in the Action. These markers are shown using diamond-shaped blue icons (designed by Matt Ebb) in three shades - unselected/normal, selected, active.
Notes:
* Each Armature Object has an Action which acts as a PoseLib.
* Improved UI presented in buttons panel for this
-- added proper buttons for action assigning
-- renamed "Validate PoseLib" to "Auto-Sync PoseLib" (this option auto-tags poses based on keyframes found)
Like in the 3d-view, use the hotkeys:
* Shift-L to add a local marker
* Ctrl-Shift-L to rename a local marker
* Alt-L to delete selected local markers
Note: transforms, etc. are not currently available with these markers
== PoseLib Preview ==
Added a few features here:
* Left/Right-Arrow keys now change the poses too (previous and next respectively)
* Up/Down-Arrow keys also change the poses, but "jump" to a pose 5 steps away in their respective directions
Diffstat (limited to 'source/blender/src/drawaction.c')
-rw-r--r-- | source/blender/src/drawaction.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/src/drawaction.c b/source/blender/src/drawaction.c index 58dfdd89df2..05a50fe4f16 100644 --- a/source/blender/src/drawaction.c +++ b/source/blender/src/drawaction.c @@ -883,7 +883,7 @@ void drawactionspace(ScrArea *sa, void *spacedata) glClearColor(col[0], col[1], col[2], 0.0); glClear(GL_COLOR_BUFFER_BIT); - if(curarea->winx>SCROLLB+10 && curarea->winy>SCROLLH+10) { + if (curarea->winx>SCROLLB+10 && curarea->winy>SCROLLH+10) { if(G.v2d->scroll) { ofsx= curarea->winrct.xmin; ofsy= curarea->winrct.ymin; @@ -927,8 +927,10 @@ void drawactionspace(ScrArea *sa, void *spacedata) /* Draw current frame */ draw_cfra_action(); - /* Draw markers */ - draw_markers_timespace(0); + /* Draw markers (local behind scene ones, as local obscure scene markers) */ + if (act) + draw_markers_timespace(&act->markers, DRAW_MARKERS_LOCAL); + draw_markers_timespace(SCE_MARKERS, 0); /* Draw 'curtains' for preview */ draw_anim_preview_timespace(); |