all RenderResult nodes (when "Save Buffers" used) at once.
Before it only read 1 Scene... not too useful.
Also: added wait-cursor for saving images in UV/Image Editor.
This will free all Node output buffers, while compositing, when not needed
anymore. Saves a whole lotta memory, and will enable to use many many more
nodes (or high resolution images).
Added the following to the 'select' menu of 3d header and toolbox while in mesh editmode: '
-Path Select
-Edge Loop Multi-Select
-Edge Ring Multi-Select
-Loop to Region
-Region to Loop
Also added Collapse Faces and Collapse Edges to menu and toolbox as well as made them available in selection modes other than face exclusive and edge exclusive.
- fixed some Bullet raycasting (hitfraction was not properly updated for static meshes)
- removed some cvs tags in Bullet's BMF _Font files (they keep on conflicting when duplicated in different repositories)
- set default linearsleepingtreshold explicitly
When weightpainting, with the armature in posemode, you now can press the
NumPad-period key to zoom in to the selected bone. (it used to zoom to the
painted mesh instead). Actually bugreport 4161.
- Made another attempt to migrate from Sumo to Bullet: import of older files automatically switch to Bullet, but you can override it, and save the file in 2.42 version. then it stays Sumo physics.
Until too many people complain: People can use older versions of Blender / player if they really need Sumo.
Sumo is not supported by anyone, and Bullet needs more feedback.
Note: Sumo is not removed yet, because no discussion is started about this. It's currently just a simple switch that replaced Sumo by Bullet.
New Constraint API. Constraints are accessible through a "constraints"
attribute in poses and objects. Would be REALLY NICE for armature users to
pound on this code.
- Found several places, where people explicitly casted the frame number
to short.
- Fixed the crash in BPY_interface by adding an empty line (to make it
recompile everywhere, make clean doesn't help...)
For the build system maintainers:
Problem was: The change in makesdna changed the position of the
scriptlink structure. BPY_interface.c somehow didn't get recompiled
(not even after a make clean!!!) which triggered crashes on adding
scriptlinks.
Made the frame boost from short to int (30000 -> 300000 frames) complete
by walking through the source and finally changing all frame-variables
to ints.
This should finally fix the framecounter warp around seen in some buttons.
If you step on any further problems that may arise starting from frame
32768 please just give me a hint and I'll fix it.
(Sorry about that, didn't know enough about Blender, when I did it the first
time...)
Also needed to seperate
view3d_paintmenu
into
view3d_vpaintmenu
view3d_tpaintmenu
view3d_wpaintmenu
The view3d_paintmenu and do_view3d_paintmenu were getting messy and had a lot of if's in it.
When you wanted to display "Chroma VectorScope" or "Luma WaveForm" for
image/window with small width/height, then Blender crashed, because
Blender has used fixed limits of ibuf->rect size. Statistics informations
should be created corectly now too.
previously would only work if the armature was the first in the meshes modifier list,
in that case the armature would be name flipped but the mesh would not)
- Added early-out optimisation to add-effect (the case, where fac == 0)
- Bugfixes:
* hddaudio: ffmpeg does not seek always to the correct frame,
if the SEEK_BACKWARD flag is used. Now we account for this and
seek a little bit further... (hack, urghs)
* hddaudio: on long timelines, the new seek code didn't work
(forgot a long long cast)
* the audio mixdown code now also calculates meta-strip IPOs
text module when user edits the input text box of any pydriver
(Transform Properties panel, Ipo window).
It's enough to click in and out of a single pydriver's text input box
for the module reloading and also re-evaluation of all pydrivers
available. Maybe this "refreshing" should also be available from a
menu, let's see.
Note for Python fans:
Definitions and redefinitions in a reloaded module are properly handled
in Python, but previously defined data in the module doesn't disappear.
So if you define a function "f" inside a module, import it, then change
the function's name to "g" and reload the module, both "f" and "g" will
be available. This is considered a feature, check reload's documentation:
http://docs.python.org/lib/built-in-funcs.html#l2h-59
wiki with info: http://mediawiki.blender.org/index.php/BlenderDev/PyDrivers
(there are two sample .blends in the patch tracker entry, last link in
the wiki page)
Notes:
In usiblender.c I just made Python exit before the main library gets
freed. I found a situation with pydrivers where py's gc tried to del
objects on exit and their ID's were not valid anymore (so sigsegv).
Ton needs to check the depsgraph part.
For now pydrivers can reference their own object, something normal
ipodrivers can't. This seems to work fine and is quite useful, but if
tests prove the restriction is necessary, we just need to uncomment a
piece of code in EXPP_interface.c, marked with "XXX".
Thanks Ton for the ipodrivers code and adding the hooks for the py part
and Martin for the "Button Python Evaluation" patch from which I started
this one.
Anyone interested, please check the wiki, the .blends (they have
README's) and tell me about any issue.
* Floating panel edge snapping
Floating panels now have a snapping mechanism that sticks them to the edge of a window when you drag them within a small range of it. This not only allows nice easy alignment of panels within a window, but also keeps them stuck to window edges when the window is resized. This means that you no longer get panels that were once on the edge of the window left drifting in the middle of your view if you resize it larger, which was rather annoying before.
Another goodie is that panels snapped to the bottom edge of the screen will minimise down to the bottom when collapsed, and will move back up to be edge aligned when maximised again, preventing collapsed panels down here from hanging around in space.
Its scary to think that a redraw space handeler could run
import os
os.system('rm -rf ~/')
removing all user files, Just by opening the blend file!
This means at least you can opt not to run any python scripts you dont want to..
submitted by Davide Vercelli
This replaces (as a user preference) the static icon shown in the bottom-left of the 3D View with a small rotating axis that updates live in all ortho/perspective modes
I made several modifications to the original patch. In the patch, it displayed the axis on top of the 'object info' text since when floating panels are minimised, they sit in the bottom corner and cover the axis up. This annoyance is not limited to the axis, it also covers the frame number and info text, which can be frustrating. Sending them to the bottom is not that useful either, since it's quicker (with esc) and just as much movement to close and re-open them again.
I decided to solve this problem at the cause: Now when using the disclosure triangle on floating panels, they 'minimise in place' rather than going to the bottom.
User preferences are in the 'View & controls' section to:
- Display either the 3D axis or the old icon
- The size of the axis
- the brightness of the axis (colours are taken from grid theme settings)
* patch #3801: Option to show view direction in 3D View
submitted by Daniele Fornaciari
Simple one, just adds an user pref to show the name of the view's direction as text in the top left corner.
Patch #4119, submitted by Lukas Steiblys (imbusy1). Mesh objects (created
through the toolbox) which take user input such as number of verts, are not
created if the user cancels input. Thanks for the patch!
a fairly obvious bug- with flipping armature names in armature edit mode.
All Objects names would flip if they had names from the armature, even if they did NOT use use armature. (this could realy mess up a scene)
fix was a 1 liner.
replaced
modob = modifiers_isDeformedByArmature(ob);
if(modob) {
with
/* or is there an armature deforming object */
/* this is a bit sloppy, what if we have more then 1 armature deforming a mesh?
TODO: Should have a function modifiers_isUsingArmature(ob, arm) - Campbell */
modob = modifiers_isDeformedByArmature(ob);
if(modob && modob->data==arm) {
Notice that before it didnt care what armature, just that it had one.
If the maintainer Ton? gives me the OK. Ill make this support multiple armatures by adding modifiers_isUsingArmature.
notice that if you pressed Akey when no objects in the view it still pushed an undo event, redrew and counted all and change the memory usage in the status.
mainly added not to waist undo slots.
When the 'reference shape key' (drawn yellow) was not the first key, the
channels as drawn in IpoWindow didn't match the actual shape keys.
This was caused by an exception in code that skips drawing the reference
shape when 'relative' was used.
Now I've added a rule that the first shape in a list always becomes the
reference, that way you can also edit it. To keep backwards compatibility,
this is only activated on translating the shape key lines.
Patch #4044 patch to change the step when changing frame with up or down arrow keys.
This adds a per Scene setting to specify the number of frames skipped by the up and down arrow.
This setting can be changed in the Timeline header and in the Anim/Playback section of the Scene settings.
Upon loading a file without that setting or creating a new scene, it is set to 10
Also fixed the Start and End frame buttons in the Scene buttons to do a proper refresh.
NLA and Action window sometimes suffered from very weird scaled display,
caused by making the subwindow very small. Was a missing check for small
sizes.
Also in this commit removal of debug print N_T left in for ipos.
Zero-sized bones in an Armature didn't result in a stable rest position.
This caused bones to rotate to random positions on each editmode exit.
This commit will automatically remove such bones on exit editmode now, and
adds a warning print for it. I've tried to code exception handling for
zero-sized bones, but this is just too hard to get stable. Better to define
by default that Bones always should have a length.
Typically zero-sized bones only get added by accident, for example while
ctrl+clicking new bones.
Bug #3779: In camera view with center cursor (on camera), it's impossible to use translations.
Initgrabz didn't account for negative zero values (nor near zero values). Works now.
Of course, this is just a safety to give back the appearance of working, since the cursor is on the point of convergence, there's no way to properly calibrate anything.
Word of advice: Always check where the transform center is.
Bug #3733
Constraining on a perpendicular axis was broken on (half - 1) cases.
Silly oversight on my side which didn't turn out in the test case (moving camera in and out) and only appeared in front view (not side nor top) because of positive reasons.
Frankly, I still think translating an object perpendicular to the viewport is a bit silly, but now, at least, people can be silly in a predictable fashion.
Removed the haha-fun "eekadoodle" error, which was popping up for each
faulty face (could be 1000s), and renamed it to give a proper message:
"This Mesh has old style edgecodes, please put it in the bugtracker!"