but they got this case! :)
Bug was that for autohandle, the previous position of handle was used for
calculating the position too, which I really don't remember why... (that
is code from 10 years ago). Problem with that approach is that extreme
changes in handles don't go correct immediately, but need to itterate a
while. Or even worse, can give NaN values, resulting in this:
http://www.blender.org/bf/ipobug.jpg
Now the handle points are fully recalculated, as it should.
Commented almost all variables in fly() to say what they do
Added BIF_view3d_previewrender_signal so preview is redone after flying- its not working at the moment but it shiould :/
Made the 3d view use the cameras near/far clipping while flying.
While ALT+A playback, a redraw event was added to queues, which was not
read until playback stops. Gave crashers when you leave Blender playing
for like a day. :)
When Blender tries to open a non-existing file, two error popups were
called. Very annoying.
Was simple one-liner fix; the 'read exotic' function should return a -1
when file doesn't exist. :)
Creating texture coordinates for Curve bevels didn't allocate a correct
sized memory block when both U and V directions of a bevel are circular.
This will also fix "UV orco" for such curves (like donut shapes).
Particles keep fighting with the depsgraph... time to get a depsgraph with
time dependencies in it...
Anyhoo, this fixes lack of parenting updates in hierarchies where children
have particles.
Silly: when using vector blur on a curve or text object, without having a
material assigned to it, the default material didn't get initialized OK
for vector blur, causing random streaks.
- Ztransp looked weird in Node previews, only showing the backfacing pixels
- previous change in preview.blend accidentally set camera clipping too low
for correct display of lamp preview
- refresh issue solved in preview when using Node shaders with ray-mirror
Path in blender file loader end (setup_app_data) for armature conversion
didn't properly limit to armatures only, and was even called before a
scene dependency graph was made.
Rare crash btw; you have to save a file *before* a redraw was finished
in the UI.
- previous preview.blend rendered OSA, is too slow, especially for raytrace.
now made it an extra option for buttons preview. (icons render without).
- made monkey one level subsurf lower for speed
- in previewblend, made the tiled cube environment entirely closed, so a
mirror reflection will show nicer.
documented a workaround for python drawinf pixel aligned text in teh 2d view
Added links from Draw.Test to the OpenGL functions that set the location and color.
Fixed a case where loading an invalid font crashed blender.
Now displays a message advising "invalid font selection" and
reverts to default 'built-in' international font.
Credits to Elubie for pointing out the problem function!
the function that compares 2 face areas/perimeters edge length now will match 2 zero area values (previous method to make the function compare proportionaly messed this up)
In windows, without temp path set, the 'save buffers' render option crashes.
I've coded a blenlib BLI_is_writable(char *filename) to check for such
cases. This is not much needed in Blender, since the open() command is
checked for. However, file saving happens deep inside the C++ exr lib, and
it throws an exception crash when a file cannot be written.
Group appending issue: the rules for how this works were still confusing.
In some cases you want the objects in the scene itself, in others not.
New method:
- when you append a group directly (shift+f1 -> group -> name(s)) it
will both append the group and link objects to the current scene
- in all other cases it will only append a group itself.
(means, you can then use "Add group" to see it).
Fix for old (post 2.3) annoyance in UI; on redraw of the entire buttons
window, the active button (with highlight) was detected wrong. Was just
a matrix calculation on wrong moment. :)
Also: fixed tooltip for transparent material "add" option. It was talking
about "Glow", a confusing description.
naming convention for Compositing:
- Render Result node -> Render Layers node (name only appears in Add menu)
- Compositor image -> Viewer Node image
I've also added a version patch (2.41 saved files only) to rename existing
"Compositor" Images.
- Jean-Michel Soler updated the svg to obj module used by Paths
Importer (thanks!)
- user request: added option to control whether user prefers per face
(uv face select "TwoSided" toggle) or per mesh ("Double Sided") single /
double face info in ac3d exporter.
BPY:
- Blender_ShowHelp() was now crashing Blender when called for the
second time, due to EXPP_dict_set_item_str decrementing the reference
count of an object passed as argument to Blender_ShowHelp() (so not
owned by that function).
More Sequence render fixes:
- on load of .blend file, with Sequencer invoking a sequence render, the
header window matrix was not set, giving "Insane icon" prints
- option "Do Sequence" had no re-display call in end
ESC wasn't supported for sequence-based rendering yet.
Solved it with correctly initializing the sequence render with all
render callbacks, including render updates (which it didn't do yet).
Cleanup:
- Bug in ghostwinlay code: the get_mbut() function reads from the window
struct if a mouse is pressed. However, when you press the mouse in the
sequencer, which causes a render, this value was hanging because then
the active window was a render window.
- The new render display options (image window) didn't work for sequence
render OK. There was a recursion even, because a sequence draw command
calls a render, which in turn now calls redraws.
rendering now is full 32 bits. This gives drawing issues in some cards,
like ATIs.
Copied the function used for renderwindow to glutil.c, and used now in the
image window.