Fix for bug #5248, sculpt - mirrored tiled texture odd results
Changed the algorithm used for projecting the brush texture onto the model. The old algorithm was never implemented properly, causing increasingly
wonky distortions of the brush as it got farther away from parallel to the screen. The new system uses the screen coords of vertices, the obvious
advantage being that 2D screen coords can be mapped quite easily to 2D texture coords. The main disadvantage of this method is that there are still
distortions in the brush as the surface beneath it becomes less parallel the screen. These distortions, however, are not as bad as the old ones
because they are predictable from the user's perspective. (It's analogous to a movie being projected onto a sphere; if the viewer is in front of the
sphere there is no apparent distortion, but from the side the movie appears stretched and distorted.)
This may still be worth revisiting after the release.
This patch allows icon files (.png) to be loaded into Blender dynamically,
without having to go through the tedious and technical process of compiling
them in. It also makes them part of the theme settings so they can be
attached as part of a theme and saved in the default .B.blend.
Icon files should be stored in $HOME/.blender/icons/ . This really sucks on
Mac since it's hidden in the finder, but it's a separate issue. We need a
better system of finding things like this, python scripts etc, perhaps a
nice wrapped function something like BLI_getresourcedir(), then it's easy to
do platform specific stuff there, like using ~/Library/Application Data on Mac.
More info and docs in the patch tracker @
https://projects.blender.org/tracker/index.php?func=detail&aid=5334&group_id=9&atid=127
Fixed the bug where it would snap to a selected (moving) vertex.
Fixed a bug with Snap Closest with only one vertex selected.
=== Internals: EditMesh Mods ===
Modify and documented findnearestvert.
Added a new parameter to restrict the search to selected or unselected vert instead of just adding a bias to them (as previously). Currently, the "strict" method bypasses the openGL optimisation, people with more knowledge about that should feel invited to fix it.
=== Internals: EditMesh Tools ===
Adding missing newline at the end.
scn.objects.selected = [] # deselect all
scn.objects.selected = scn.objects # select all
scn.objects.context = [ob1, ob2...]
Added epydoc examples and updates importer scripts to use this de-select-all method.
continual script stuff, minor stuff..
fix for bad return in group.
Added back group.objects.append/remove but print deprectaed warning. also some epydoc changes.
Fix for bug [ #5522 ] inaccurate rotation
Entering very high/low values using numeric input in a rotation (+/- 360000 and more/less) resulted in incorrect rotations. Fixed by clamping the actual rotation between -180 and 180 before converting to radians (just to be clear, the clamping already happened and is inevitable, now, it just happens earlier).
After all these years, it is now possible to (re)center armatures like you
can do with meshes and curves.
At the moment, you can only access this functionality from the menus
(Spacebar->Transform) as the armature button panels are pretty
crowded.
I've often found it very annoying that with both ends of a bone selected,
they would both get snapped to the snapping point. This means that the bone
becomes zero-length, hence disappears from view and gets deleted upon
leaving editmode.
Now, when both ends of the bone are selected, only the head of the bone gets
snapped to the snapping point. The tail will get offset by the same amount
that the head gets offset by, thus preventing zero-length bones.
weightpaint_envelope_assign - can update active vgroup only
weightpaint_normalize - fixups
BKE_plugin_types - made the max length 32 ratehr then 16 so you can fill the text space in pupBlock
Bugfix for my previous snapping commit. In some cases, bones still
didn't snap correctly (parentless 'root' bones). That was because those
cases assumed that constraints had no effect on those bones.
----------
Perform better param checking on Curve bevel and taper objects so that an
curve can't use its own object. Also stick a big warning in the docs for
Curve.setTotcol(), which seems to be an extremely dangerous method.
Now, when only one axis toggle is on and click on it, all of the other
toggles will not be turned on.
For this to work, I've moved the version patches in the drawing/evaluation
code for this constraint to the file-reading code.
----------
Bugfix: fix my own over-optimization in insertIpoKey(), allow IPOKEY_LOCROT
and IPOKEY_LOCROTSIZE to again set rotation and size Ipo curves.
----------
Bugfix for at least one annoying "DeprecationWarning: integer argument
expected, got float" followed by garbage printed to the console. The message
happens when PyArg_Parse() is called to parse an integer but is passed a
float. This happens in a few other places, bun unfortunately I can't fix
them all right now.
it is to accidentally quit Blender and "lose" your work.
Even though there is quit.blend, Ton said he had no problem
with at least removing plain of 'q' for quit.
Quit Blender hotkey is now Ctrl-Q.
- removed the "\" from pulldown menu, and replaced with readable "or"
(makes it for translation systems easier to parse)
- the theme menu, area type chooseer menu, "Timeline" didnt draw in the
button due to bad pupmenu_col() code with using 'seperators'. Fixed it
by just adding another separator for now.
Both fixes reviewed and provided by Juho. Thanks!
Textbutton: SHIFT+Arrow selections did not work proper when the amount of
text in a button was more than its width could display. Now still doesn't
work OK 100% (when selection itself goes outside of button view).
Also: removed the very bad SELWIDTH define (but->selend - but->selsta).
That's not making readable code!