diff options
author | Ton Roosendaal <ton@blender.org> | 2007-11-22 23:25:59 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2007-11-22 23:25:59 +0300 |
commit | a8aaec6f210626d2beb2d23f297c1a412b047e8e (patch) | |
tree | 95c8b7cce58431b7928a3e0a12b527d8f0828cb5 /source/blender/src/drawipo.c | |
parent | a03836312463813e366f1043093625dafd3ebd2b (diff) |
Bugfix #7573
NLA Window, Strip blending mode "Add" didn't work at all.
It was using very bad quaternion addition. Replaced with proper code.
For devs; new is the function QuatMulFac(quat, factor) which allows to
multiply a rotation with a value (make it rotate more or less)
Diffstat (limited to 'source/blender/src/drawipo.c')
-rw-r--r-- | source/blender/src/drawipo.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/src/drawipo.c b/source/blender/src/drawipo.c index d9ef3349ec1..9b64d350b9f 100644 --- a/source/blender/src/drawipo.c +++ b/source/blender/src/drawipo.c @@ -2014,7 +2014,7 @@ static char *ipodriver_modeselect_pup(Object *ob) return (string); } -static char *ipodriver_channelselect_pup(void) +static char *ipodriver_channelselect_pup(int is_armature) { static char string[1024]; char *tmp; @@ -2031,7 +2031,8 @@ static char *ipodriver_channelselect_pup(void) tmp+= sprintf(tmp, "|Scale X %%x%d", OB_SIZE_X); tmp+= sprintf(tmp, "|Scale Y %%x%d", OB_SIZE_Y); tmp+= sprintf(tmp, "|Scale Z %%x%d", OB_SIZE_Z); - tmp+= sprintf(tmp, "|Rotation Differance %%x%d", OB_ROT_DIFF); + if(is_armature) + tmp+= sprintf(tmp, "|Rotation Differance %%x%d", OB_ROT_DIFF); return (string); } @@ -2094,7 +2095,8 @@ static void ipo_panel_properties(short cntrl) // IPO_HANDLER_PROPERTIES ipodriver_modeselect_pup(driver->ob), 165,240,145,20, &(driver->blocktype), 0, 0, 0, 0, "Driver type"); uiDefButS(block, MENU, B_IPO_REDR, - ipodriver_channelselect_pup(), 165,220,145,20, &(driver->adrcode), 0, 0, 0, 0, "Driver channel"); + ipodriver_channelselect_pup(driver->ob->type==OB_ARMATURE && driver->blocktype==ID_AR), + 165,220,145,20, &(driver->adrcode), 0, 0, 0, 0, "Driver channel"); } uiBlockEndAlign(block); } |