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-25Cleanup: factorize the 'ensure local' part of datablock copy into a single ↵Bastien Montagne
BKE_id_copy_ensure_local function.
2016-07-21Refactor/deduplicate even more make_local code (and fix part of T48907).Bastien Montagne
Turns out most BKE_foo_make_local datablock-specific functions are actually doing exactly the same thing, only two currently need special additional operations (object and brush ones). So added a BKE_id_make_local_generic instead of copying same code over and over. Also, changed a bit how make_local works in case we are localizing a whole library. We need to do the 'remap' step (from old linked ID to new local one) in the second loop, otherwise we miss some dependencies. This fixes main part of T48907.
2016-07-14Cleanup/refactor: handle shapekeys exactly like 'owned' nodetrees in ↵Bastien Montagne
make_local process.
2016-07-14Get rid of BKE_key_make_local().Bastien Montagne
This function was only a wrapper around id_clear_lib_data(), and shapekeys are not linkable nor shareable anyway, no point keeping this currently, was only adding confusion about shapekey 'status' as a datatblock.
2016-07-14Add option to id_make_local to force localization of datablock, even if not ↵Bastien Montagne
used locally. Will be used by link/append code.
2016-07-11Remove usercount handling from BKE_id_expand_local.Bastien Montagne
Idea looked good, but we have too much custom situations here (some half-fake-sub-ID being copied with their 'owner', animdata, etc.), let's let datablock copy functions handle that themselves. Also allows to safely call BKE_id_expand_local from all copy functions now (only when copying linked data).
2016-07-11Cleanup: remove call to BKE_id_lib_local_paths() in make_local functions.Bastien Montagne
This one is already called by matching copy functions, no need to call it twice!
2016-07-11Use new generic BKE_id_expand_local() for both make_local() and copy() ↵Bastien Montagne
functions of obdata (armature, mesh, curve, mball, lattice, lamp, camera, and speaker). This greatly simplifies said code, once again no change expected from user PoV.
2016-07-10Cleanup/Refactor: pass Main pointer to all ID copy functions.Bastien Montagne
Also allows us to get rid of a few _copy_ex() versions...
2016-07-09Add BKE_key_copy_ex() that takes a Main as parameter.Bastien Montagne
2016-07-09Refactor/enhance BKE_curve_make_local(), and add BKE_curve_copy_ex() that ↵Bastien Montagne
takes a Main as parameter. Now using modern features from libquery/libremap areas. Provides same kind of fixes/improvements as for BKE_object_make_local() (see rBd1a4ae3f395a6).
2016-07-09Cleanup to shapekeys' make_local (and copy) functions.Bastien Montagne
Mostly pass bmain and do not check for NULL key, keys' make_local is suspiciously simple in fact, but think until those behave like real full-featured IDs, it's doing enough!
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-07Cleanup: spelling, styleCampbell Barton
2016-07-06Replace of (id->lib != NULL) check by meaningful macro.Bastien Montagne
Idea is to replace hard-to-track (id->lib != NULL) 'is linked datablock' check everywhere in Blender by a macro doing the same thing. This will allow to easily spot those checks in future, and more importantly, to easily change it (see work done in asset-engine branch). Note: did not touch to readfile.c, since there most of the time 'id->lib' check actually concerns the pointer, and not a check whether ID is linked or not. Will have a closer look at it later. Reviewers: campbellbarton, brecht, sergey Differential Revision: https://developer.blender.org/D2082
2016-07-03Curve: utility to evaluate entire curveCampbell Barton
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-05-03Cleanup: use offset macroCampbell Barton
2016-04-04Fix curve hide keeping spline activeCampbell Barton
2016-02-25Cleanup: const args for curve handle calculationCampbell Barton
2016-02-12Integrate font objects copy/paste with system clipboardDalai Felinto
When pasting text, the style (bold, material, ...) is maintained, if it was originally copied from Blender. This fixes the issue of missing copy/paste options for font objects (they were present back in Blender 2.49) Reviewers: Severin, campbellbarton, brecht
2015-11-23Cleanup: shadowing (blenkernel)Campbell Barton
2015-11-09Cleanup: avoid incrementing/decrementing id->us outside of BKE_library.Bastien Montagne
We have callbacks for that, they also do some checks and help ensure things are done correctly. Only place where this is assumed not true is blenloader (since here we may affect refcount of library IDs as well...).
2015-10-20First step to handle missing libs/datablocks when reading a file.Bastien Montagne
Idea is, instead of ignoring completely missing linked datablocks, to create void placeholders for them. That way, you can work on your file, save it, and find again your missing data once lib becomes available again. Or you can edit missing lib's path (in Outliner), save and reload the file, and you are done. Also, Outliner now shows broken libraries (and placeholders) with a 'broken lib' icon. Future plans are also to be able to relocate missing libs and reload them at runtime. Code notes: - Placeholder ID is just a regular datablock of same type as expected linked one, with 'default' data, and a LIB_MISSING bitflag set. - To allow creation of such datablocks, creation of datablocks in BKE was split in two step: + Allocation of memory itself. + Setting of all internal data to default values. See also the design task (T43351). Reviewed by @campbellbarton, thanks a bunch! Differential Revision: https://developer.blender.org/D1394
2015-09-04Quiet warningsJulian Eisel
We had too many warnings lately... was awaiting that someone would kill them - didn't happen -> goes to my commit ratio! :P
2015-08-02parenthisize macro args to avoid errorsCampbell Barton
2015-07-09Select Shortest Path for edit-curveCampbell Barton
D1391 by @pink.vertex with own fixes/edits
2015-07-09Curve: change rules wrt active bezierCampbell Barton
Activate the vertex even if only a single handle is selected
2015-07-08Add BKE_nurb_bpoint_calc_normalCampbell Barton
2015-06-20Cleanup: use listbase clearCampbell Barton
2015-06-08Fix T44991: Apply transform skips poly-radiusCampbell Barton
2015-05-12Cleanup: styleCampbell Barton
2015-05-12Depsgraph: Add evaluation callbacks for granular nodes updateSergey Sharybin
This commit only adds callbacks which then later be used with major dependency graph commit, keeping the upcoming commit more clean to follow. Should be no functional changes so far still.
2015-05-07Fix T44604 bad quality of rake with bezier curves.Antony Riakiotakis
We can calculate tangents analytically for bezier curves, so just make them awesome. New code uses forward differencing calculation for efficiency just like curve calculation. Picture before/after: http://www.pasteall.org/pic/87843
2015-04-28Curves: don't use 'charidx' for regular curvesCampbell Barton
Code attempted to sync them with materials, but its not needed (and wasn't reliable).
2015-04-28Add material slot reorder buttonsGaia Clary
2015-04-04Cleanup: use BKE_animdata_* prefixCampbell Barton
2015-02-27Fix T42833: Kink on nurbs curveCampbell Barton
Threshold for normalizing was too big.
2015-01-31Compiler warning: double-promotionCampbell Barton
2015-01-26Fix T41834: Ctrl+LMB, Extrude Curves 2+ splinesCampbell Barton
Extrude and Ctrl+LMB now support multiple selected vertices. Also maintain active vertices. D964 by Tyler Sliwkanich with own modifications
2015-01-26Curves: BKE_nurb_copy left duplicate arraysCampbell Barton
While callers accounted for this, its quite error prone. Just NULL instead.
2015-01-09Fix T43159: Copying of linked datablocks using relpath leads to invalid ↵Bastien Montagne
paths in new copies. Propper fix reverting most of rB60e70c0c6014e5, which was only partial specific fix. This code uses generic `BKE_id_lib_local_paths()` func to handle all possible paths. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D977
2014-10-31Code cleanup: synchronize const qualifiers between declaration and definitionSergey Sharybin
2014-09-30Fix T42018: Crash when displaying beveled poly-curves with spline bevfac mappingSergey Sharybin
This fix is for 2.72.
2014-09-24Cleanup: use float versions of functions when in/output are floatsCampbell Barton
2014-09-10Curve: Remove assert in BKE_curve_bevelList_makeCampbell Barton
Failed on any cyclic poly line.
2014-09-04Fix setting Curve-handle type moving the wrong oneCampbell Barton
Issue noted in T35952, now if you convert a free handle to an aligned handle, it will move the selected handle.
2014-09-04Fix T35952: Switching a single handle to free would lock the others alignmentCampbell Barton
2014-09-01Support more object types scene-scale (on creation)Campbell Barton
- lamp - camera - font - empty & effector Also fix inconsistency with apply transform (modified shape-keys for meshes but not curve/lattice)
2014-08-21CleanupCampbell Barton