Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-07-09Clear Transforms and DeltasJoshua Leung
* Alt-G, Alt-R, Alt-S --> These don't clear delta transforms by default anymore, making it possible to use these to properly store a "rest" pose * Alt-Shift-G, Alt-Shift-R, Alt-Shift-S --> These WILL clear both the normal transform and the delta, should you need to do so.
2016-07-08Fix (unreported) broken shapekeys after 'make_local' of datablocks used both ↵Bastien Montagne
directly and directly. At first thought it was own recent work, but think issue is there since ages actually... Basically, id_make_local() would always localize mesh/curve/lattice shapekeys, even in case obdata localization actually made a local copy instead of localizing original datablock. This was causing shapekeys being localized twice, and other odd nasty effects.
2016-07-08Initial fix for proxy issues regarding new libquery/libremap ID handling code.Bastien Montagne
libquery now passes an extra flag info to the callback, in case that specific ID usage is considered as indirect. In most cases, it's just set from ID_IS_LINKED_DATABLOCK() result on datablock owner, but in proxy object case we also consider ob->data, materials and pose usages as indirect. Does not fixes all issues yet, but should already make behavior with proxy object saner.
2016-07-08Refactor/enhance BKE_mesh_make_local().Bastien Montagne
Now using modern features from libquery/libremap areas. Provides same kind of fixes/improvements as for BKE_object_make_local() (see rBd1a4ae3f395a6). Note: this enlightened broken case of proxy objects regarding make_local (and also whole remapping, in fact). Will be fixed in near future.
2016-07-08Fix own very stupid mistake in BKE_library_idtype_can_use_idtype() usage ↵Bastien Montagne
(inverted arguments).
2016-07-08Libquery: fix missing image pointers from Mesh's UV layers.Bastien Montagne
Not really happy with this, could lead to a **lot** of callback executions... But libquery foreach looper must go over **all** ID pointers, otherwise remapping & co is broken! A possible fix for future would be to have 'image slots' defined at root of poly/facetex layers, and just a (short) index in each face/poly item - would also save a reasonable amount of memory...
2016-07-08Refactor/enhance BKE_object_make_local().Bastien Montagne
Now using modern features from libquery/libremap areas. Also, it should handle much better cases where localized ID was also indirectly used by non-refcounting users (typical case: object used as modifier/constraint/whatever target from another linked object, previous code would not take those into account and just localize original object instead of making a local copy. Would result in local object used by linked one, which would be partially 'undone' on next file reload... Crappy behavior). And it fixes some obvious errors too (nullifying all proxy pointers unconditionnaly, some missing refcounted usages cases in extern_local_object(), etc.).
2016-07-08Refactor: pass Main to id_make_local.Bastien Montagne
Totally stupid to not pass it, and then let (some) BKE_foo_make_local() use G.main! Note: unused for now, much more refactoring still to come in make_local area!
2016-07-08Fix (unreported) missing special updates in case we are remapping obdata ↵Bastien Montagne
(mesh/curve/metaball at least).
2016-07-08Rework/split test_object_materials().Bastien Montagne
Now test_object_materials only handles one object. New test_all_objects_materials checks the whole bmain->object list for cases where it is actually needed. Should avoid some useless looping over all objects!
2016-07-08Refactor remapping's pre/post process of special cases.Bastien Montagne
Main issue was that BKE_libblock_relink_ex was pretty much ignoring all those... Also, unlinking of objects was not handling correctly indirect-related flags. Refactored code into helper functions to avoid too much duplicated code.
2016-07-08Fix T48799: Particles set as objects cast wrong ray shadows in BISergey Sharybin
2016-07-08BMesh: add decimate edit-mode toolCampbell Barton
Support applying decimate to the mesh selection.
2016-07-08Correct error in non-uniform scale IK commitCampbell Barton
Rename arg to avoid confusion
2016-07-08Mesh/Curve Join: remove edit-mode toggleCampbell Barton
Toggling edit-node after joining objects is redundant as far as I can see - (dates back to first revision). Also caused all edges to be drawn w/ meshes, redundant undo step w/ curves.
2016-07-08Undo: use system memcmpCampbell Barton
`my_memcmp` didn't work properly comparing memory sizes not aligned to 4 bytes, this worked while we used guarded-alloc (which always wrote a guard at the end of each allocation). Since moving to lockfree allocator it could read uninitialized memory. It also consistently performed ~10-30% worse then glibc's. This is typically well optimized, no need to do ourselves.
2016-07-08Fix T48807: Each stroke halves brush sizeCampbell Barton
Missed from c5b2f12b
2016-07-08writefile: optimize undo memory useCampbell Barton
Slop-space on Linux wasted ~20% of memory for undo storage.
2016-07-08Fix/Workaround non-uniform scaled bones failing w/ IK solverCampbell Barton
Scaling a bone on the Y axis (for a stretch effect), wasn't supported by the IK solver. Support this by solving as uniform scaled bones by matching the X,Z axis to the Y. Requested by @pepeland, see D2088 for details.
2016-07-08Cleanup: use normalize_v#_lengthCampbell Barton
2016-07-08BLI_math: add normalize functions which fit to a lengthCampbell Barton
Convenient since its common to normalize then scale, since these are inlined, use for regular normalize w/ 1.0 length.
2016-07-08Cleanup: spellingCampbell Barton
2016-07-07Make use of new 'idtype can use idtype' check (in ID usages code, and ID ↵Bastien Montagne
remapping one too). Reduces calls to BKE_library_foreach_ID_link() from 312 to 105 when relocating a library in a rather simple lib reload test...
2016-07-07libquery: add new 'BKE_library_idtype_can_use_idtype()' helper.Bastien Montagne
This should allow us to avoid a lot of useless processing when iterating over the whole main database (unlink/remap/usages checks/etc.). Note that some ID types report they can use any type for now, due to fuzzyness/indefined nature of some usages (like constraints/modifiers/game logic, or ID pointer of nodes...). Maybe we could address this (like e.g. adding defines in relevant headers to restrict ID types used by constraints, by modifiers, etc.). But don’t think this is top priority for now.
2016-07-07Cleanup/fix animsys 'id_type_can_have_animdata()'.Bastien Montagne
This func now actually takes an ID type as argument, added new 'id_can_have_animdata()' to check whether a datablock may be animated or not.
2016-07-07Extend libquery checks to test wether an ID is used locally and/or indirectly.Bastien Montagne
2016-07-07Fix T48793: Bilinear filter clamps at edge pixelsCampbell Barton
2016-07-07Fix single threaded compositor defineCampbell Barton
2016-07-07Quiet gcc warning-as-error about non-const pointer passed to const parameter.Bastien Montagne
2016-07-07Fix T48802 Unwrap buttons, can't add hotkey in 3DView's UV Unwrap menu.Bastien Montagne
Those unwrap operators are a bit tricky, some are available from both 3DView and UVEditor, others only from 3DView... Hacked around this by returning Mesh keymap for UV_OT ops for specific 3DView/MeshEditMode context.
2016-07-07RNA: rename sorting -> sortCampbell Barton
Shorter and consistent with other RNA.
2016-07-07Skip the ID part of object names when comparingCampbell Barton
Also no need to calloc arrays which are immediately filled
2016-07-07Cleanup: spelling, styleCampbell Barton
2016-07-07Code Cleanup - Split out the FCurve auto-color code into a separate functionJoshua Leung
2016-07-07Fix T48747: Stuck in edit mode after selecting another object in the ↵Joshua Leung
animation editors
2016-07-07Fix: Keyframe click-selection threshold in Dopesheet was still hardcoded to 7pxJoshua Leung
2016-07-07Dopesheet: Added "Moving Hold" as a keyframe typeJoshua Leung
Currently "long keyframes" are only useful for indicating where stationary holds occur. If however you try to create a "moving hold" (where the values are slightly different, but in terms of overall effect, it's still a hold) then it could get tricky to keep track of where these occur. Now it's possible to tag such keyframes (using the keyframe types - RKEY) as being part of a moving hold. These will not only be drawn differently from normal keyframes, but they will also result in a "long keyframe" being drawn between each pair of them, just like if they had been completely stationary instead. Currently the theming/styling of these is a bit rough. They reuse the existing theme colours for long keyframes.
2016-07-07Animation Editors: Object datablocks are now sorted alphabetically by defaultJoshua Leung
A long requested feature has been to have objects appear in alphabetical order in the animation editors, so that it is easier to find where they occur. This commit implements support for this. The main sticking point has been the performance impact of having this sorting happening all the time (as the actual list of "bases" cannot be modified, as the old depsgraph still needs random-looking unsorted order of objects for scheduling updates). However, it recently occurred to me that perhaps by restricting it to the one case where the ordering actually matters (i.e. when we're getting the channel list for drawing all channels, vs operating on them), and adding a toggle to turn the sorting off in heavy scenes when it might bog down things, that it will probably be acceptable enough in general. Furthermore, if things get really bad, we can investigate putting in place some sort of caching scheme for this too - though hopefully the new depsgraph will make that unnecessary (i.e. it doesn't sort the bases directly anymore).
2016-07-07Code Cleanup: Move out logic for checking if an object can be included in ↵Joshua Leung
the dopesheet
2016-07-07Dopesheet: Keyframe size can be adjusted as part of theme settingsJoshua Leung
This commit introduces a scale factor setting for scaling all keyframe indicators in the Dopesheet Editor up/down, in order to make them easier to select. It is perhaps most useful for keyframe types which are usually indicated using smaller keyframes (e.g. breakdown), which may get tricky to quickly select.
2016-07-07NLA: Indicate position of action-local markers on stripsJoshua Leung
To make it easier to synchronise timing across multiple strips, if you add markers locally to an action, these will show up in the NLA strip in the NLA Editor. These markings can then be used to line up the start/end of another strip, or even to make sure that the markers from two different strips end up lining up. By default, this is turned on, but it can be disabled (via the View menu) if it adds too much visual noise.
2016-07-07Fix (unreported) crash when remapping armatures.Bastien Montagne
Objects' Pose holds references to the armature bones, so we have to force POSE_RECALC in those cases...
2016-07-07Outliner: Match search length w/ id name lengthCampbell Barton
2016-07-07writefile: call undo flush after writing the windowmanagerCampbell Barton
Data here is constantly changing, avoids outliner data being included in those changes for undo.
2016-07-07Cleanup: move write flush into its own functionCampbell Barton
No point passing dummy args to existing function, split out logic instead. Also add flush after writing mesh data too.
2016-07-07Fix memory leak switching sculpt mode + dyntopoCampbell Barton
Auto-enabling dyntopo w/ mode switching leaked memory when undo was used.
2016-07-07Transform Snap: fix vert & edit object in ortho viewGermano Cavalcante
The callback used in `BLI_bvhtree_find_nearest_to_ray` was wrong and could result in crash. Also de-duplicate vert/edge logic.
2016-07-06Revert rB961ebfa8c40b9909 - do not set Main's versions directly in ↵Bastien Montagne
do_versions(). This breaks any post-versionning (like IPO conversion, python handler, etc.). rB961ebfa8c40b9909 mentions some Main being do_versionned several times (which is not desired for sure), will try to reproduce again and find another fix.
2016-07-06Fix Python API error message (do_unlink, instead of unlink)Dalai Felinto
2016-07-06writefile: add flushesCampbell Barton
Flush on grease pencil and data with image preview or packed data.