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-02Cleanup: styleCampbell Barton
2016-07-01"Fix" crash when deleting linked object which has indirect usages.Bastien Montagne
This is in fact very hairy situation here... Objects are only refcounted by scenes, any other usage is 'free', which means once all object instanciations are gone Blender considers it can delete it. There is a trap here though: indirect usages. Typically, we should never modify linked data (because it is essencially useless, changes would be ignored and ost on next reload or even undo/redo). This means indirect usages are not affected by default 'safe' remapping/unlinking. For unlinking preceeding deletion however, this is not acceptable - we are likely to end with a zero-user ID (aka deletable one) which is still actually used by other linked data. Solution choosen here is double: I) From 'user-space' (i.e. outliner, operators...), we check for cases where deleting datablocks should not be allowed (indirect data or indirectly used data), and abort (with report) if needed. II) From 'lower' level (BKE_library_remap and RNA), we also unlink from linked data, which makes actual deletion possible and safe. Note that with previous behavior (2.77 one), linked object would be deleted, including from linked data - but then, once file is saved and reloaded, indirect usage would link back the deleted object, without any instanciation in scene, which made it somehow virtual and unreachable... With new behavior, this is no more possible, but on the other hand it means that in situations of dependency cycles (two linked objects using each other), linked objects become impossible to delete (from user space). Not sure what's best here, behavior with those corner cases of library linking is very poorly defined... :(
2016-06-27Code Cleanup: Use bools not shortsJoshua Leung
2016-06-27Ctrl-Shift-C: Made it easier to add constraints between bones in different ↵Joshua Leung
armatures The Ctrl-Shift-C operator to add constraints between a pair of selected items, for example, between two objects, or between two bones (in the same armature). This commit makes it possible to use this operator to add a constraint where the target is a bone from another object - e.g. to make a deform bone follow the control bone in another armature, or to make an object use a bone as a tracking target. Usage: 1) Ensure you are in Pose Mode, then select the bone to use as the target 2) Shift-Select the other object and/or the bone that's going to get the constraint 3) Ctrl-Shift-C
2016-06-24Fix T48725: UI message typo.Bastien Montagne
2016-06-22ID-Remap - Step one: core work (cleanup and rework of generic ID datablock ↵Bastien Montagne
handling). This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock was pretty much impossible, except for a few special cases. Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite a few ID usages were missed or wrongly handled that way). One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling by using library_query utils to allow generic handling of those, which is now the case (now, generic ID links handling is only "knwon" from readfile.c and library_query.c). This commit also adds backends to allow live replacement and deletion of datablocks in Blender (so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one, or NULL one in case of unlinking). This will allow nice new features, like ability to easily reload or relocate libraries, real immediate deletion of datablocks in blender, replacement of one datablock by another, etc. Some of those are for next commits. A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core. Though it was tested rather deeply, being totally impossible to check all possible ID usage cases, it's likely there are some remaining issues and bugs in new code... Please report them! ;) Review task: D2027 (https://developer.blender.org/D2027). Reviewed by campbellbarton, thanks a bunch.
2016-06-21Text Object: Vertical AlignmentDalai Felinto
A new option for Font/Text objects vertical alignment: * Top Base-Line (current mode) * Top * Center * Bottom The Top is the equivalent as the Top-Baseline with an empty line at the begin of the text. It's nice to have this option too though, since if we are driving the alignment via Python we don't want to add extra lines to the text only to accomodate to the desired vertical alignment. The Center and Bottom are as intuitive as their name suggest. When working with text boxes, the vertical alignment only work for paragraphs that are not vertically full. Many thanks to Campbell Barton (ideasman42 / @campbellbarton) for the code review, code comments, and overall suggestions and changes :) Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D2061
2016-06-06Fix T48582: Rigidbody simulation issue with new depsgraphSergey Sharybin
Being granular means we need to re-build depsgraph a bit more often.. The issue was caused by rigidbody requiring some special nodes to handle physics which were not created with just tagging object for update.
2016-05-10Fix T48387: Mirror weights keeps groups assignedCampbell Barton
Swapping the weights kept zero weight verts assigned.
2016-05-09Fix weight-mirror reporting invalid failed mirror vertsCampbell Barton
Use vertex tagging instead of clearing mirror index.
2016-04-29Fix T48290: Hook fails after deleting geometryCampbell Barton
Now CD_SHAPEKEY_INDEX customdata is stored in edit-mode when hooks and vertex parents are used. This also fixes a bug where undo would loose key-index data. Move to structs for BM_mesh_bm_to/from_me to avoid passing many argument, which mostly aren't used.
2016-04-29Remove redundant selection flush callCampbell Barton
2016-04-25Refactor BKE_blender into separate headersCampbell Barton
- BKE_blender_version.h (only version defines & versionstr). - BKE_blender_copybuffer.h (currently only used for view3d copy/paste). - BKE_blender_undo.h (global undo functions). - BKE_blendfile.h (high level blend file read/write API).
2016-03-28Fix T47969: Select Random always uses same seedCampbell Barton
Increment the seed on each use, otherwise calling again selects the same order, unless you manually adjust the seed.
2016-03-24Rework library_query foreach looper - add optional recursivity.Bastien Montagne
This commit: * Fixes bad handling of 'stop iteration' (by adding a status flag, so that we can actually stop in helper functions too, and jumping to a finalize label instead of raw return, to allow propper clean up). * Adds optional recursion into 'ID tree' - callback can also decide to exclude current id_pp from recursion. Note that this implies 'readonly', modifying IDs while recursing is not something we want to support! * Changes callback signature/expected behavior: return behavior is now handled through flags, and 'parent' ID of id_pp is also passed (since it may not always be root id anymore). Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1869
2016-03-22Mesh API: add BKE_mesh_vert_edge_vert_map_createCampbell Barton
Handy when you need to reference connected verts directly.
2016-03-14Better fix for T47787 - remove extra user due to 'user_one' as soon as we ↵Bastien Montagne
increase 'real' user count. This has several benefits: * User count remains coherent, regardless of the order in which you use 'user_one' & real refcounting users (i.e. if you add to group, and then link in scene, or the reverse, you now always get same final user count). * Avoids the need to check for potential 'user_one' extra user in count in several places in code (e.g. when making IDs single users...). * Users won't wonder why they cannot make 'single user' and ID even though its user count shows '2'! * readfile.c now always uses code from BKE's library.c when modifying id->us. Which means we can consider (asside from assignment during initialization) that id->us is read-only outside of library.c context. Note that this commit reverts previous one (rB6b1d77a8052b) - please **do not** backport this one in 2.77.
2016-03-14Fix T47787: When performing operation 'Make single user' -> 'obj&data', ↵Bastien Montagne
object could be removed from group. Similar cause as in T47482, we used to have poor handling of 'user_one' cases of ID usage, leading to inconsistent behavior depending on order of operations e.g. Here, was object used by a group but not linked in any scene - once linked in scene, their usercount would be 2, leading to 'making single copy', when it's actually not needed. We now have better control here, so let's use it! Note that other ID 'make single user' code will likely need similar fix (Images, etc.). Safe to be backported to 2.77.
2016-02-29Minor optimization to skin operatorsCampbell Barton
- store layer lookup - single hash adding to set
2016-02-27Fix T47593: 'Move to layer' will be crash in blender 2.77rc1.Bastien Montagne
To be backported to 2.77.
2016-02-26Restore ability to clear motionpaths from selected objects/bones onlyJoshua Leung
In response to user feedback, this commit brings back the ability to limit motionpath clearing to only happening for those on selected objects/bones. By default, the "Clear" operator will clear from all objects/bones, unless the Shift key is held.
2016-02-253D View: correct menu for moving out of local-viewCampbell Barton
Also name more clearly
2016-02-22Fix T47482: take II, restore 2.76 behavior regarding groups when deleting an ↵Bastien Montagne
object. Also re-reported through IRC by Thomas Beck (@plasmasolutions), thanks. Though it's not ideal in theory, we have quite poor handling of object datablock currently from user PoV - before this commit, it was not easily possible to get fully rid of an object anymore if you did not removed it from all its groups before deleting it. So for now, restore 2.76 behavior (namely, unlink an object from avaerything in Blender once it is no more used by any scene). Better handling of all this is TODO for later (also related to much more heavy changes done in id-remap branch regarding sanitizing our ID deletion process).
2016-02-15Cleanup: reorganize BKE ID tagging functions.Bastien Montagne
BKE_main_id_tag_/BKE_main_id_flag_ were horrible naming now that we split those into flags (for presistent one) and tags (for runtime ones). Got rid of previous 'tag_' functions behavior (those who were dedicated shortcuts to set/clear LIB_TAG_DOIT), so now '_tag_' functions affect tags, and '_flag_' functions affect flags.
2016-02-14Cleanup: bracesSergey Sharybin
2016-02-14Fix T45606: cycles multires tangent space normal map bake issues.Brecht Van Lommel
2016-02-08Fix group flipping when syncing mirror weightsAlexander Gavrilov
Corrects mirror syncing for invert, levels & smooth. Note that the code changed to process mirroring even if both verts are selected, since group flipping can mean that is still meaningful.
2016-02-07Cleanup: line widthCampbell Barton
2016-02-07Motion Paths: Use custom poll functions for "Update" operatorJoshua Leung
2016-02-07Clear motionpaths for all objects and bones instead of only selected onesJoshua Leung
With the old behaviour, it was too easy to get old paths hanging around because you forgot to go through and select a few bones that still had them.
2016-02-06Fix T47320: Cycles baking in edit mode uses outdated mesh.Brecht Van Lommel
2016-01-29Fix T47271: Vertex Group to Selected missing updateCampbell Barton
2016-01-24Fix Smooth Weight expand logicAlexander Gavrilov
Since weight_other is equal to weight_accum_prev[i_other], the original lines actually are no-op. The visible effect is that when smoothing just two vertices with weights 1 and 0, the expand value has no effect until it reaches exactly 1. This change makes it gradual.
2016-01-19Usual i18n/UI messages tweaks.Bastien Montagne
2016-01-15Cycles-Bake: Custom Baking passesDalai Felinto
The combined pass is built with the contributions the user finds fit. It is useful for lightmap baking, as well as non-view dependent effects baking. The manual will be updated once we get closer to the 2.77 release. Meanwhile the new page can be found here: http://dalaifelinto.com/blender-manual/render/cycles/baking.html Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D1674
2016-01-14Add object mode select more/lessCampbell Barton
Simple operator that selects using parent/child links.
2016-01-07Fix RNA_enum_set_identifier(), needs a context to handle correctly dynamic ↵Bastien Montagne
enums.
2016-01-07Select mirror multiple axis supportCampbell Barton
Previously you could only select mirror on X axis, now support mirroring on multiple axis as well as more than one (for mesh and lattice data).
2016-01-07Cleanup: use generic xyz axis enumsCampbell Barton
2016-01-04Cycles-Bake: Unset properties fallback only working for invokeDalai Felinto
2016-01-04added new "Fake User" option for appending objects, this sets a fake user on ↵Martin Felke
each newly appended item except Groups and Objects.
2016-01-04Fix T47038: Particles in Particle Edit Mode get added in completely wrong ↵Bastien Montagne
location. It also fixes another issue (crash) related to symmetric editing. Quite involved, we (try to!) fix complete broken logic of parts of particle code, which would use poly index as tessface one (or vice-versa). Issue most probably goes back to BMesh integration time... This patch mostly fixes particle editing mode: - Adding/removing particles when using generative modifiers (like subsurf) should now work. - Adding/removing particles with a non-tessellated mesh (i.e. one having ngons) should also mostly work. - X-axis-mirror-editing particles over ngons does not really work, not sure why currently. - All this in both 'modes' (with or without using modifier stack for particles). Tech side: - Store a deformed-only DM in particle modifier data. - Rename existing DM to make it clear it's a final one. - Use deformed-only DM's tessface2poly mapping to 'solve' poly/tessface mismatches. - Make (part of) mirror-editing code able to use a DM instead of raw mesh, so that we can mirror based on final DM when editing particles using modifier stack (mandatory, since there is no way currently to find orig tessface from an final DM tessface index). Note that this patch is not really nice and clean (current particles are beyond hope on this side anyway), it's more like some urgency bandage. Whole crap needs complete rewrite anyway, BMesh's polygons make it really hard to work with current system (and looptri would not help much here). Also, did not test everything possibly affected by those changes, so it needs some users' testing & validation too. Reviewers: psy-fi Subscribers: dfelinto, eyecandy Maniphest Tasks: T47038 Differential Revision: https://developer.blender.org/D1685
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-12-27Split id->flag in two, persistent flags and runtime tags.Bastien Montagne
This is purely internal sanitizing/cleanup, no change in behavior is expected at all. This change was also needed because we were getting short on ID flags, and future enhancement of 'user_one' ID behavior requires two new ones. id->flag remains for persistent data (fakeuser only, so far!), this also allows us 100% backward & forward compatibility. New id->tag is used for most flags. Though written in .blend files, its content is cleared at read time. Note that .blend file version was bumped, so that we can clear runtimeflags from old .blends, important in case we add new persistent flags in future. Also, behavior of tags (either status ones, or whether they need to be cleared before/after use) has been added as comments to their declaration. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1683
2015-12-18Add wrap argument to cycle wm utility funcsCampbell Barton
Now zooming text in the console and text editor isn't wrapping from large/small font size (annoying).
2015-12-13Grease Pencil: Merge GPencil_Editing_Stage3 branch into masterJoshua Leung
This commit merges all the work done in the GPencil_Editing_Stage3 branch as of ef2aecf2db981b5344e0d14e7f074f1742b0b2f7 into master. For more details about the changes that this brings, see the WIP release notes: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.77/GPencil
2015-12-05Fix T37879: Default UV generation for mesh primitives.Bastien Montagne
Adds default-generated UVs to mesh primitives (cone, cylinder, icosphere, uvsphere, cube, circle, grid) when they are added to the scene, since some of them can be pretty awkward to unwrap manually. Original patch: Liam Mitchell (CommanderCorianderSalamander). Main review work: Campbell Barton (campbellbarton). Finalization, fixes and cleanup: Bastien Montagne (mont29). Reviewers: mont29, #mesh_modeling, campbellbarton Reviewed By: mont29, campbellbarton Subscribers: lkruel, campbellbarton, michaelknubben, kevindietrich Maniphest Tasks: T37879 Differential Revision: https://developer.blender.org/D481
2015-12-03Fix T46913: Crash adding hook to linked mesh dupliCampbell Barton
Follow up to T46738, we need to tag the object data for recalculation.
2015-12-01Cleanup: use more logical names for View3D.aroundCampbell Barton
D1651 (own patch)
2015-12-01Fix T46900: Inset Faces Thickness & Depth Do Not Use Scene Units (i.e. ↵Bastien Montagne
Imperial). Was the case of several Mesh operators actually (and probably others, but cannot check everything). Added `RNA_def_property_float_distance` helper, avoids having to set PROP_DISTANCE subtype explicitly each time...