Particle combing didn't always respond as expected. The combed effect was
depending on the center of object in view, instead of on the center of
selected hairs. That made combing in certain close ups impossible.
Same was actually true for transform tools for hairs!
And even worse - there was an optimize break in calculating center
which wasn't true even. Causing centers for transform to fail similar
in other cases.
New Bone option: "Relative Parenting".
This makes Child-Objects of Bones transform similar to how deformations
of bones are calculated. Allows to move bones in editmode to set pivot.
The option is in Bone Panel, with clear label.
It is ON now by default when you add new bones
Requested by Kjartan, our famous robot designer :) For "hard body rigs" it's
very useful.
remove it, but still stick around listed in the Window menu.
Fixed by removing the setReleasedWhenClosed:NO hack and using the proper cocoa
window delegate mechanism.
http://lists.blender.org/pipermail/bf-committers/2012-December/038555.html
Note: NodeTree and Node currently use standard python classes generated by bpy for now. The customnodes branch defines such classes as well, with specialized metaclasses for use with ID properties. Not needed in trunk yet.
Material Texture blend modes Screen, Overlay and Multiply didn't respect
the alpha for textures... an error I could trace back to 2004 even.
Obviously the fix should be done, but it might change the appearance of
renders somewhat. Will keep an eye open if this is worth ugly
version-patching.
Now: image textures with alpha, will only apply the blend modes
respecting the alpha values.
- use 2 omp sections for vert -> (edge, face) selection flushing.
- dont use face-loop iterator for cddm_from_bmesh_ex conversion to give some speedup (some modifiers use this).
- use float(*)[3] for functions that return coords.
- quads, tris now use direct pointer access rather then iterators.
- for ngons also avoid iterator, just loop over the loops.
also minor change, use floorf rather then floor for ED_view3d_project_short_ex, ED_view3d_project_int_ex
Fix for second issue in the UI for this FModifier, where the "x" would not be
shown for order=1 where DPI >= 88 and Text AA is off, as the label sizes used
were too small.
incorrectly
* Plus signs were used between factors instead of multiplication. These now use
the times symbol
* Fixed alignment problem for last factor being more spread out
caused by not projecting points behind the perspective view,
even though this worked in 2.64 the values were flipped (rotating direction was reversed and the center point was flipped).
added V3D_PROJ_TEST_CLIP_NEAR, when omitted ED_view3d_project_*** will project points from behind a perspective view plane.
if bge.logic.joysticks[0]:
activate_player_one()
if bge.logic.joysticks[1]:
activate_player_two()
etc..
The interface exposed by SCA_PythonJoystick is very similar to the joystick logic brick except for one key difference: axis values are normalized to a -1.0 to 1.0 range instead of -32767 to 32767, which is what the logic brick exposed.
- Button panel animation didn't work for 3D View properties and similar regions.
- Akey on View3d overlapping panel: was accidentally passed on as event to the main window.
Notes in code:
- This has to become a decent handler
- Actually "A" should open/close all?
Currently, Enter key does open/close too, but only on headers.
This because Enter on a button gets handled by buttons... that's
why the Akey was proposed :)
- Recoded soft shadow drawing for menus, giving better predictable results
(and round off nicer on top side, was looking bad still)
- Brought it under DPI control
- Added Theme setting to control size and strength for it.
Max size 24 pix:
http://wiki.blender.org/index.php/File:MenuShadow.png
- yes, this does break scripts, but the api is marked experimental.
ED_region_draw_cb_activate() adds a callback to a region type whereas the api made it look like the callback was being added to the region instance.
Use a class method on bpy.types.Space to manage region drawing, eg.
was:
self._handle = context.region.callback_add(draw_callback_px, args, 'POST_PIXEL')
is now:
self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL')
Mac OS X trackpad and 'mighty mouse' fix.
An old commit from Damien in 2010 tried to make mighty mouse touches work as if
this is a scrollwheel. The error in that code was that the "kinetic scrolling"
feature failed. When releasing your fingers, the events passed on to Blender
then switched from "trackpad pan" to "mousewheel zoom".
This commit makes trackpads and mighty mouse behave identical. Only difference
is that trackpad panning needs 2 fingers, mighty mouse only one.
Note that trackpad and mighty mouse 3d zoom works with holding ctrl!
All works nice with this kinetic feature now. Fun :)
Mouse coordinates were not mapped correctly for code that allows to use
multiple windows efficiently (mouse over not-active windows).
Apple's high-density display mode works a bit strange, requiring some hacks :/
- Desktop coordinate system (mouse pos and for windows) is as usual
(set by display resolution settings)
- However, the available pixels in a window is always on 'retina' level.
(full screen - 2880 wide, but window can be 1440 or 1920 wide)
In order to get this to work for opengl and Blender, we use internally the
coordinates on pixel level. That means that window positions and sizes have
to mappend in our code.
Once all issues for retinas have been tackled, I'll check on clean API for
it, so you can also use it in future for other high density screens.