Updated id properties interface as per
discussed in python meeting. Basically,
id properties are now entirely accessed
through the dict-like interface if IDGroupType.
Also, tp_getsetters are used throughout the code
now.
Using the dict interface allowed for a major cleanup
of the wrapping code. The biggest change is that ID
properties are no longer wrapped in a structure with
.type .name and .data members; instead when you get
properties from the group it returns the direct value.
Ints, strings and floats return simple python types,
while arrays and groups return special wrappers though.
This means to detect the type of an ID property, you
have to use type(). For string and int types this is
easy; for group and array types (which of course have
their own wrappers) you use type() with Blender.IDGroupType
or Blender.IDArrayType.
Update of epydocs plus a temporary gui script will be
forthcoming; the gui script will be removed before release
as of course by then we'll have a built-in gui for id
properties.
Bugfix for an error reported by Bassam/slikdigit.
Sometimes, long keyframes could still get created where they aren't
supposed to be (only occuring in a few ipo-curves).
When animating, it is often useful to be able to visually see where the
'pauses' are between keyframes. Long keyframes do this - linking two
keyframes in the same channel together.
Long keyframes are only drawn when the two keyframes have the exact
same values. This has to happen for every ipo-curve represented by the
keyframes shown for a long keyframe to be drawn.
I've added two new theme colours for the action editor. They are for
the selected and deselected colours of the long keyframes (currently
defaulted to be the same as the NLA strip selection colours).
frame set higher than End: frame
The end frame should not be allowed to have a value less
than the start frame. This commit sets the minimum allowable
value of the end frame button in the Anim panel and the timeline
to the start frame value.
Ton/Matt - if there is a good reason to not do this, feel free to
revert it back.
off_export - minor changes
uv_archimap - cleanup. slightly slower but less duplicate code
uv_from_adjacent - nothing
BPY_menus - renamed py slot UvCalculation to UVCalculation to be consistant
When the active action in the action editor is the active strip in the
NLA editor, translating (GKEY) the selected keys now shows the
'visual' time instead of the action's local time in the header.
had new dependencies added internally (like constraints), changing the
evaluation order for pose channels. My optimized code didn't like it, so
now it falls back to a reliable slower method.
Bug showed as totally messed up characters for proxies...
Also: increased range for 3D Window properties clip-start/end, this is
still a bad construct though...
added python api stuff to deal with Color and UV/Image layers.
me.activeUvLayer - int
me.activeColorLayer - int
me.totUvLayers - int
me.totColorLayers - int
me.addUvLayer()
me.addColorLayer()
me.removeUvLayer()
me.removeColorLayer()
Variable names may need changing.
These can be created and deleted in the Mesh panel in the same place as
before. There is always one active UV and vertex color layer, that is
edited and displayed.
Important things to do:
- Render engine, material support
- Multires and NMesh now lose non active layers
Also CustomData changes to support muliple layers of the same type, and
changes to layer allocation, updated documentation is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
Plumiferos request: Made individual duplicated group objects still check on
the restriction flag, *after* the group-duplicator itself was checked for.
So it works both. (Matt; was urgent feature, hope you're OK? These options
showed in outliner for groups anyway :).
#5417: Only Shadow material gave shadow outside of Spot bundle
#5414: Material Nodes: sockets without input were always treated as single
value inputs, ignoring color or vector. (Caused by commit to do
automatic conversions of socket links).
#5420: When reading with old Blender a new file that has a new window type,
saving it over, and read back in current Blender, the window type
should be reset to EMPTY, because all its data got lost.
Material Nodes still have undefined output to the passes. Currently only
the active Material node gives pass info. Bug was that check for active
was wrong, giving stripes because of hanging variables.
I'll work soon on providing all pass options in the Material nodes. This
fix at least correctly provides passes for active material, and clears
memory of pass info in advance.
Also: outliner view "current scene" did not show render layers.
ALso: outliner click on renderlayer now activates it (for UI)
Also: zbuffer for transparent was not initialized to 'infinity' correctly
added restrictDraw/Select/Render to objects in python
updated group and scene docs for last commit
made 3ds import use new scn.objects rather then Object.New() - (removed import as instance for now)
fixes off import error from this report http://blenderartists.org/forum/showthread.php?t=84182