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).
- Dont allow it to apply the matrix twice to a linked-dupe. (Same as Apply Loc/Size/Rot)
- Make sure that the source object is active, not just the first selected object.
- Use Mesh instead of NMesh.
- use mesh.transform(mat) rather then vert by vert vec*mat
Other scripts had pupBlock changes for better layout.
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.
Click project, a nifty 3 click way to use a face to set a projection aurientation and then 2 more clicks for the U and V scales
with realtime updating as you move the mouse
should be faster then using view project all the time because you dont have to line the view up with the faces.
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.
because it gets set to one value or another on most platforms.
On windows, only link to DirectX if WITH_OPENAL is set to ON
(it isn't needed otherwise). This OpenAL stuff is pretty confusing!
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...
headers <al.h>, <alc.h>, and <alut.h> instead of <AL/al.h>, <AL/alc.h>,
and <AL/alut.h>
(cmake generated makefiles now work out of the box on my intel mac)
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.
Changed...
me = NMesh.GetRaw(ob.data.name)
To
me = NMesh.GetRaw(ob.getData(name_only=1))
The line above converts the entire mesh to a python thick wrapper just to get its name, then only to that that same mesh again??
A lot of older scripts did this but theres no reason to do it.
in most (all?) cases..
me = ob.data - should be ok, but theres a subtle difference and I dont want to break anything.
xfig_export, xsi_export and videoscape_export need error checking too.
Minor changes to radiosity_export, updated to work with the new API (vertexColors MTFace)
obdatacopier - was getting the selection but not using it. made it ignore some read only properties.
BPyMesh - minor change: use face iterator rather then making a tuple()
console.py - if the scriptdir didnt exist it would do an error, now just ignore and dont try to do the console_autoexec.py stuff
doc_browser.py - If you typed in an invalid module it would give an error and exit, now have a message instead.