----------
Change deprecation printfs to print warning once instead of everytime the
deprecated method is called. Also commented out deprecation warnings for
code which will eventually be replaced by experimental Blender.Main/bpy
module.
fkey - automatic quad from 4 verts does so on a tetrahedron
Added a case where there are 4 verts selected but > 4 edges selected. Uses addfaces_from_edgenet in that case now. This fixes the example blend that was given.
Crashes in composite; caused by bad bad bug in freeing "passed on" buffers,
only happens with option "Free unused" set though.
Appeared to be mixup of variable names. Code changes with 2 bytes... :)
Long keyframes didn't always display correctly when keyframes were being transformed. The old code assumed that the keyframes were all sorted chronologically. However, for technical reasons, this is not the case during transforms, causing problems.
Some slowdowns may be experienced on actions with large numbers of keyframes. I've only noticed a minor slowdown on some test-animations from Plumiferos I've got, but those files had a LOT of keyframes.
-Adding name "self" to the pydriver's dictionary, so that objects can be easily referenced in their own expressions. For example, the expression:
self.LocY
for the LocX channel of an object would force this object's location in X to be equal to its location in Y. As always, feedback welcomed.
import OBJ dosnt raise a Py Error when no image is given for a material
export FBX works much better, tested 179 models and dosnt crash on any now. tested import export with large scene, 375,000 tri's.
Mesh.py doc note about UV coords,,
editmesh_add minor typo
Clearing number buttons and press enter (for assigning zero) did not give
a button event anymore. Caused by code for python eval, it treated this
as an error.
Composite preview in Image window didn't work OK when making a window
fullscreen. That because it depended too much on a composite editor to be
open, for refresh events.
Now you can use preview panels in a full-screen image window too.
It also works a bit different... noticable while dragging preview panel
around.
When saving files (images), the filewindow was giving relative paths on
a save-over menu.
Also: added in group.c a note about problems with timeoffset.
Note: the intent of the original modification (and these updates) is not to
change how new_id() functions. What has been done is to pull out the code
which calculates a new name for an ID in the case of duplicate, as would
happen when you copy any datablock, into a separate function. This code is
necessary in the new Python Library module, since it otherwise is extremely
difficult to locate a new datablock appended from a library. new_id() calls
this separate function to generate a name for the new ID if necessary, just
as it previously did.
To make the purpose of this new function clearer, I renamed it
check_for_dupid() and added more extensive comments. I repeat, it's not
meant to be a substitute for new_id().
OpenEXR, and I switched all of the other platforms back to
no ThreadLib. I really was trying to make this easier for people not
harder, and I'm afraid I failed. Hopefully this clears things up for
people and everyone will switch to using the Makefiles. ;)
If your having problems you should be able to just add the IlmThread lib
back into your NAN_OPENEXR_LIBS inside of your user-def.mk and be good to
go. let me know if you have problems with it.
Kent
Material, but relinked the active. Was an old confusing annoying actually.
(And not useful, when do you want 2 material indices with same material?)
Now the 'new' duplicates material, if there is an active material.
Works simple; just check for
if(node->exec & NODE_BREAK)
break;
The main process (node processor) sets such a flag, checking for esc
20 times per second. That means you can check for ESC while doing image
processing without much cpu overhead.
Currently only added in blur nodes and defocus. Needs to be added all over,
nice for others... needs careful tests too.
What we now could do is even calling ESC on editing commands or mouseclicks
in composite editor? Could give user feeling of interactive app :) Further,
finished nodes are kept in memory anyway.
The first is it adds libIlmThread.a to the OpenEXR libs.
The second thing it does, is make it possible to define what TARGETS
you want to build inside of your user-def.mk file. This simplifies
source/Makefile quite a bit. I made each platform have the same
defaults (build dynamic blender, gameengine and gameplayer) I think
most platforms should be building this combo anyway and if you need to
change it its trivial so no need to have different defaults for each platform.
The new defines are as follows with their default settings in:
source/nan_definitions.mk
export WITH_BF_DYNAMICOPENGL ?= true
export WITH_BF_STATICOPENGL ?= false
export WITH_BF_GAMEENGINE ?= true
export WITH_BF_GAMEPLAYER ?= true
export WITH_BF_WEBPLUGIN ?= false
Let me know if you have any problems with it.
Kent
curve - added curve_type() to return the curve type
BPyModule & gen_library - works with text3d now, can also make new text3d through bpy.curves.new
Added Draw.Label() so scripts can draw can using freetype.
widgetwizard - use Draw.Label
* fix [ #6105 ] Blender crashes when opening multilayer with node in compositor
- Mem_IStream membuf was allocated on the stack, so it caused major troubles when
out of the function scope. Now allocate it on the heap and let OpenEXR deal with
freeing it.
- moved + added delete file;'s for completeness
* stopped bpy from importing automaticaly as decieded in the meeting.
* removed Blender.Main, since we agree it will be called bpy, renamed files also.
* updated epydocs from this and last commit.
* updated scripts to use bpy.*, and bugfix's for widgetwizard
This will allow python or plugin defined nodes to work as well.
(And fixes compile issues with MSVC in yesterdays commit for nodes)
Code provided by Nathan L.
Fixes in his code:
- free_nodesystem() was called too late (after guarded alloc was closed)
- free_nodesystem() was freeing nodes that were not malloced even
- free_nodesystem was using free, not freeN :)
- the typedefs needed to be malloced yes, to allow duplicate nodes like
group but also for dynamic nodes.