Crazy users! Who on earth would try undoing in the middle of an action
(here the crash occurred while a mouse button was still held)?!
(At least it wouldn't have been possible for those using the DKEY +
mousedrag method of invoking strokes though...)
- files blender exports (blender uses unusual array formatting).
- scene needed to be rotated on import.
- lamp spot size was half as big as it needed to be.
x3d export typo broke image export.
- rna array parsing was using PySequence_Size() in a loop, this can be slow to run so only call once.
- assigning a single value to a multi-dimensional array was missing type check.
- improve exception messages for rna array type errors.
- simplify vector slice assignment by using mathutils_array_parse(...)
Reporter saw weird fgons and edge creases on spin-mesh.
Appeared that the edge-flag copying code happened after
freeing edges. Already since May 2007 or so... weird!
Also in this commit a couple of simple cleanups.
The problem was flag-enums were being treated as regular enums, a default value of 0 was using the first enum item, whereas with flag enums we want to be able to use 0 as a default value to specify all flags are off.
* In some rare cases gzread has problems with the fluid files. This could be minor file corruption or some strange thread issue, but checking the amount of read bytes always after read seems to give a graceful way out.
Session
As the key combination for undo was unhandled by Grease Pencil
operator and allowed to execute, some of the lingering Grease Pencil
data would get corrupted by undo as some flags may still have been
set.
This commit attempts to fix.workaround this problem by catching undo
events, using the internal "delete last stroke" functionality to
emulate undo-like behaviour as expected but without the associated
risks. The underlying functionality used was already part of the
original 2.4 implementation, but was exposed via the GUI instead there
where it was less useful.
---
Other tweaks related to Grease Pencil:
1) Spacebar can be used to end Sketching Sessions too now
2) Grease Pencil animation editor now displays GP datablocks in light
blue (i.e. "sub-id") colours as per dopesheet instead of them being
presented like groups. This better reflects their true nature.
The tool-redo depends on a working undo system, so it can rewind
a step and then redo operator with new settings. When a user
disables undo, this won't work.
Now the properties for redo operator (toolbar, F6) will grey out
when a redo isn't possible.
now its basically usable, next step is to add menu item.
update for changes in mathutils api.
- fix radians/degrees usage
- correct matrix multiplication order
- primitives were being imported twice the size they should be.
- uv transformations were not working.
Problem was using va_list value more then once, fix by using va_copy().
Note, va_copy() is c99 spec but only alternative I can see is to turn BLI_dynstr_vappendf() into a macro which calls va_start/end inline.
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
Submitted by: Peter Tarasenko (pit)
This patch switches the screen real-estate given to the "open/close"
and "drag" zones for panels.
- Now, the entire header is used for resizing (open/close) panels
instead of just the triangle widget being used for this. This makes it
a larger target for clicking on, making it easier to do so (Fitt's Law
in action!)
- Dragging panels now is relegated to the "grabber" zone on the top-
right corner only now. This reflects the lesser importance of panel
reordering in the panel designs now over being able to open/close
them.
Submitted by: Dan Eicher (dna)
<quote>
Adds:
AnimData.nla_tracks.new(prev)
* (optional) prev -- add new track after this track
AnimData.nla_tracks.remove(track)
AnimData.nla_tracks.active(track)
* (optional) track -- track to set active
* returns active track
NlaTrack.strips.new(name, start, action)
NOTE: fails if the strip can't fit in the track as opposed to the
operator which will create a new track and add the strip to that.
* name -- name for new strip
* start -- start frame of new strip
* action -- action to assign to strip
NlaTrack.strips.remove(strip)
</quote>
---
I've resolved the issue (noted in the original patch) regarding the
validation of the created strip by creating and using a "dummy
AnimData" block to solve the missing dependencies.
when using the Numpad0 feature to reset properties to their default
values.
While this implementation here is not a full/proper implementation, as
you cannot truly specify a default value for some pointers that may
require something other than NULL (i.e. nothing), this should be good
enough for the vast majority of (editable) cases which are fine if set
to NULL.
This is most noticeable with the Active Keying Set field in the
TimeLine header, where it's now possible to simply use Numpad0 to
clear it instead of using a confusing click+backspace+enter dance to
do the same thing.
That primitives, which used ri crash blender, flips normals just after creation
and this normals flipping calls layers interpolation, but MDISPS layer
contains no data still.
Just added checking to layerInterp_mdisps.
"Show All Layers"). This has been mapped to Ctrl-Accentkey
If necessary, you can alter your keymaps so that this operator is
invoked with its "all" property disabled. This will only toggle the
first row (first 16) layers, which is useful in most rigs for only
enabling all the layers with rig controls and not showing the layers
with rig mechanics.
Raytracing didn't show soft shadow in reflections, nor did it do any
derivative even. Added a basic version for it in raytracer now, still
needs improvement on heavily curved surfaces. But it's better!
Examples:
Glass sphere, mirror cube and sphere, look how it ignores bump and shadow
http://www.blender.org/bf/derivative256.png
in svn now:
http://www.blender.org/bf/derivative-svn.png
When pressure was zero, a sculpt brush was still being executed
with step amount divided by zero, and thus entering eternal loop.
Maybe tablet-specific this but I wonder how this never got reported...
it easier to reset a rig to its default pose again
- Refactored clear pose operators to separate out the common parts,
and made sure that they all had descriptions