do this on drawing instead since SCREEN_OT_animation_step isnt calling the notifier (assume this is to be more efficient?). this isnt slow so is ok to do on drawing.
rename BKE_image_user_calc_imanr to BKE_image_user_calc_frame
This commit makes the new-style Motion Paths work for Objects and Bones. Motion Paths can either be added for Objects (Object buttons) or for Selected Bones in PoseMode (Armature Buttons), and/or removed from these panels too.
Changes:
* Changed the way the baking code worked, since it was better to be able to bake a bunch of objects at once, instead of doing it per object
* Fixed a variety of bugs regarding initialising defaults and reading old files
* Added operators for Objects (like for bones), and replaced the existing code for bones.
* Fixed bug with baking code that was causing it to bake the wrong ranges
Todos:
* Frame number drawing is currently messed up, since the "cached" text drawing takes into account the object transforms.
* The new MotionPath panels currently appear as the first panels in the respective contexts, probably due to the order in which the files are included. This needs some fixing, though not sure what the best way is yet.
* Added a generic 'histogram' ui control, currently available in new image editor
'scopes' region (shortcut P). Shows the histogram of the currently viewed image.
It's a baby step in unifying the functionality and code from the sequence editor,
so eventually we can migrate the sequence preview to the image editor too,
like compositor.
Still a couple of rough edges to tweak, regarding when it updates. Also would
be very nice to have this region as a partially transparent overlapping region...
- selected bones on hidden layers would be selected for weight painting (confusing to the user). use the 'active' bone instead.
- when no weight group was set, the index used for the bone group was off by 1.
Hopefully this time I've finally found the proper fix for this. At least in the mini test-suite I made for this, the new inverse process seemed stable enough.
---
Also, tweaked the keyframe drawing code so that it doesn't convert the handles too when performing NLA mapping. This should provide some minor speed boosts when drawing keyframes under these conditions...
blender supports type changing for textures in a way that python doesnt.
add a new general function.
Example usage:
tex = bpy.data.textures.new("Foo")
tex.type = 'IMAGE'
tex = tex.recast_type()
Macro to give the number of users accounting for fake user.
ID_REAL_USERS(id)
Use this so you can remove a datablock if it has a fake users as well as apply transformations to it in the 3D view.
Move api function bpy.data.add_texture() --> bpy.data.textures.new()/remove()
Code-wise it looks now (again) that tab is the default. I hope that'ok. For bitwise operation it's cleaner IMO if the check is for positive values on them.
* TXT_TABSIZE is still harcoded to 4 spaces *
fix for freeing the undo buffer from a copied text block. (the copy had the old undo pointer)
since I only got an error, not a segfault Im not sure this is the real cause of the crash.
- particle set weight operator (Shift + K) and from the menu.
- mirror vertex groups operator can also flip weight group names.
a number of utility functions for weight groups added
int *get_defgroup_flip_map(struct Object *ob);
void flip_vertexgroup_name (char *name_r, const char *name, int strip_number); // moved from modifier.c
void copy_defvert (struct MDeformVert *dvert_r, const struct MDeformVert *dvert);
void flip_defvert (struct MDeformVert *dvert, int *flip_map);
So now tab is not ALWAYS converted to spaces.
This is stored by text datablock (what allows to do nice things in the future, as automatic check for the indentation type of the file).
Ideally we should redraw the other Text Editor windows after changing that (in case the same file is opened and the Property panel is also open). Not sure how to do that though.
I'm using TABSTOSPACES as the DEFINE flag because TABSASSPACES sounds too ugly.
(also fix for interface divisor bug)
transforming, due to the evaluation of the object transform without
constraints, and the driver not finding the property.
Constraints are now disabled in a way that should avoid this problem
* Mostly revert #24880: Transform Locks affecting animation system. This
was implemented as a feature request from Nathan but was not the
intended functionality, and actually gives problems instead. The transform
locks should really only affect what the user can do, not if the property
can be animated internally.
* Revert #25868: fix for lib linked scenes not animating. This was needed
due to the above feature, but meant that all lib linked properties were
editable in the UI.
* Make bone properties of on proxy-protected layers not editable. They will
be overriden on reload/redo like lib linked data, so should not be edited.
Now it's a bit more robust, tagging images with profiles when they're loaded,
which then get interpreted later on by conversion functions. Just Linear RGB
and sRGB profiles at the moment, same as before.
This commit fixes Martin's problem with EXRs and Multilayer images loading/
saving too dark, and it also makes the sequence editor work correctly with it too.
Also fixes:
[#19647] gamma correction with color management is reset when resetting Curve
[#19454] 2.5: Dither does not work when Color management is enabled
- scene.render_data.frame_path(frame=num), returns the output path for rending images of video.
- scene.render_data.file_extension, readonly attribute, gives the extension ".jpg", ".mov" etc
- player support was guessing names, use the above functions to get the actual names used, accounting for #'s replacing numbers.
See the bugreport comments for full breakdown of the fix.
--
The change in brush.c is to get blender compiling again, after my previous commit which tried to fix a compiler warning related to this (but in the header file instead).
It is now possible to make Grease Pencil Layers to keep displaying and editing the current sketch-frame with this option. This allows to draw a frame which contains markings made for different times (i.e. a spacing/timing chart that you can keep adding to as you scrub to different points on the timeline).
Use the clipboard/camera toggle (the one beside the visibility toggle) to enable. This should get an icon of its own at some point...
* Finished baking code for motion paths, generalising it so that it works for both Objects and Bones.
It is based on the old code for baking bones, although I have modified the updating code to use a more 'correct' method of updating dependencies. However, this may turn out to be too slow, and another API method should be added for that...
* Moved some of the old version-patching code for animviz settings out of the drawing functions, instead doing this on the version patching proper.
* Added RNA support for the new AnimViz types, and included RNA access via their users too. The old settings have still been left in for now, since there are still some things not ready to use yet.
----
* F-Curve's with sample points (i.e. sounds to F-Curves) now perform linear interpolation between sample points instead of using constant interpolation.
Fix#20516: subsurf modiefier+pressing add for smoke sims results in crash.
Fix retopo not working correct on subsurf mesh.
Various deforming modifiers were not correctly taking into account that a
derivedmesh is not necessarily a CDDerivedMesh, made utility functions for
this now.
* Cleaned up dead code, removed all traces of socket selection
* Modified border select so it's possible to have border select on mouse tweak.
With this change, by default, click+dragging on a node will select and move it,
but click+dragging on empty space will border select.
This works with operator properties - if you pass the name of a scene and renderlayer to
the screen.render operator, it will render that layer as a single layer re-render.