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-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-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-09Fix T48388: Undo history sculpt mode not visibleCampbell Barton
2016-05-05Transform/Snap: EditMesh/BKE_bvhutils API improvementsGermano Cavalcante
Separate the creation of trees from EditMesh from the creation of trees from DerivedMesh. This was meant to simplify the API, but didn't work out so well. `bvhtree_from_mesh_*` actually is working as `bvhtree_from_derivedmesh_*`. This is inconsistent with the trees created from EditMesh. Since for create them does not use the DerivedMesh. In such cases the dm is being used only to cache the tree in the struct DerivedMesh. What is immediately released once bvhtree is being used in functions that change(tag) the DM cleaning the cache. - Use a filter function so users of SnapObjectContext can define how edit-mesh elements are handled. - Remove em_evil. - bvhtree of EditMesh is now really cached in the snap functions. - Code becomes organized and easier to maintain. This is an important patch for future improvements in snapping functions.
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-02-19Fix T47477: Transform allows 'inf' inputCampbell Barton
Numeric input wasn't checking numbers were finite, could crash transforming with skin modifier.
2016-01-22OpenGL: cleanupMike Erwin
- LINE_STRIP to LINES when only drawing one - group state changes for easier reading - general cleanup
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-31Cleanup: Py API namingCampbell Barton
Use BPY_execute_* prefix for all Python execution commands
2015-12-03Expose flush edits as an operator (for Py access)Campbell Barton
2015-11-23Cleanup: shadowing (editors)Campbell Barton
2015-10-28Cleanup: warning/styleCampbell Barton
2015-10-28Fix T46471: Sculpt strokes doesn't mark file as modifiedSergey Sharybin
2015-08-31Fix T45258, impossible to select brush when removing it from 2dAntony Riakiotakis
painting. Also system added a brush every time it found no paint brush in the system which is not what we would want. Solution: * Brush panel stays visible always, regardless of whether there is a brush or not. * We search for first available brush when we find no brush in paint struct instead of always generating a new one. * Generating and searching for a brush take a mode argument now. Needed some refactoring to users of BKE_paint_init as well. * Did some style cleanups for paint mode enums. Patch is big but it's mostly argument refactoring.
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-08-06Cleanup: whitespace, unused varCampbell Barton
2015-08-04SCons: Fix for really nasty bug with polluting configuration environmentSergey Sharybin
The issue was caused by the following construction: def = env['SOMETHING'] defs.append('SOMETHING_MORE') Since first assignment was actually referencing environment option it was totally polluted hawing weird and wonderful side effects on all other areas of Blender.
2015-07-01Cleanup: use boolsCampbell Barton
2015-05-17CMake: correct file listingCampbell Barton
2015-05-05Math Lib: rename fill_*, to copy_*Campbell Barton
matching convention for fixed length api, eg: copy_v3_fl
2015-05-04Fix Buttons context, invalid object data accessCampbell Barton
Another instance of T44376. Crash where the Python context would access a stale pointer to the active object.
2015-05-04Fix T44376: Buttons context, invalid data accessCampbell Barton
Removing a scene from the buttons window would crash from a Python operator.
2015-04-21Metadata display support - patch by Julian and me.Antony Riakiotakis
Basically, blender adds a few metadata fields to images when we render an image. Those metadata can now be viewed in the image editor. Also, made sure metadata are available when we write imbufs to disc with "Save As". There may be more cases here that need fixing, but this means that loading an image with metadata will now properly preserve them in blender.
2015-04-18Cleanup: API naming use BKE_undo_ prefixCampbell Barton
2015-02-06cleanup: styleCampbell Barton
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2015-01-02cleanup: styleCampbell Barton
2014-11-28Cleanup: unused headersCampbell Barton
2014-11-18Make it possible to use preview/viewport render job kill without contextSergey Sharybin
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-11-11UI Refactor T41640Campbell Barton
Make the UI API more consistent and reduce confusion with some naming. mainly: - API function calls - enum values some internal static functions have been left for now
2014-10-10Fix T32209 quitting not saving latest data if you are in edit or sculpt mode onAntony Riakiotakis
quit.blend. This will use a slower file write if an object is in edit or sculpt mode. Autosaving will explicitly not be supported to keep it fast. Added a tooltip warning.
2014-10-08Ghost Context RefactorJason Wilkins
https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
2014-09-16Fix T41818: Missing refresh on Undo for nodes (mask example)Sergey Sharybin
Added a special notifier now NC_WM|ND_UNDO in order to deal with such cases and now compositor/image will refresh when undo happens. There are much more ways to fail compo to update the resul, like undoing while it's not visible and so, but as mont29 said -- let's at least fix obvious crap in the workflow.
2014-08-26Move bUnit_getScaleUnit -> BKE_scene_unit_scaleCampbell Barton
unit.c intentionally doesn't include DNA or BKE headers (except its own)
2014-08-26Fix T41590: When scene scale is not 1.0, and units are "None," Blender ↵Bastien Montagne
assumes translations are in meters. Turned out there were several issues in handling of scale parameter by numinput. Fixed that by factorizing more some code in common with 'usual' numbuttons eval code (new `bUnit_getScaleUnit()` helper will return valid scaled value, depending on given system and type). Now, numinput behaves as expected - using default unit amended by scale in case no unit is given (i.e. entering '20' with a scale of 0.01 will give you 20cm, and '20cm' as well!).
2014-08-25Fix T41534: Bevel practically unusable interactively if set to percent ↵Bastien Montagne
amount type. Turned out to be a clean/fix up of modal bevel tool, percentage mode handling was broken, numinput handling was broken, etc. Also added a way to switch between bevel types (modes) with M key, and tweaked a bit numinput code to return early in case of 'char' event with ctrl modifier.
2014-08-03Fix T41284: The python ops log doesn't work.Bastien Montagne
2014-07-21Fix T40432: Scaling to zero with manipulate center points works precisely on ↵Bastien Montagne
second time Commented out the 'no zero' protection of scaling transforms for numinput. Issue is, once an axis has null scale, you can't regrow it from transform code (you have to directly edit the scale property). This is not ideal, but getting good behavior in this case is hairy... Yet, when using numinput, you type precise values, so if you want to set it to zero, set it to zero. User is assumed responsible, we should avoid too much 'invisible magic' when handling precise inputs. ;) Note: an idea for possible future feature would be to have an 'absolute' mode for numinput (allowing to type in real value, not factors).
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-06-30Fix T40862: numinput transform did not take into account scale_length.Bastien Montagne
2014-06-27Fix T40691, dyntopo changes lost on save if sculpting on multipleAntony Riakiotakis
objects. Flush edits for all objects, not just the active one. Here we might want to disallow leaving an object on sculpt mode when selecting another, but this works, no need to enforce it.
2014-06-23Add ED_paint.h, split out ED_sculpt.hCampbell Barton
also rename some functions to match our convention
2014-06-18Code cleanup: replace 0 with OB_MODE_OBJECTCampbell Barton
2014-06-18Resolve memory leask with reports on initializationCampbell Barton
2014-06-17Support for building without PythonCampbell Barton
2014-06-14UI: Add support for popups to refresh their layput (D578)Campbell Barton
This is needed for popups to chance state once activated, currently it makes use of operators `check` callback, after values are modified, as the file selector does already.
2014-05-14Code cleanup: doxy commentsCampbell Barton
2014-05-14Fix T37796, Mesh lost after exiting sculpt mode and undoing.Antony Riakiotakis
Issue here is that upon entering sculpt mode, the mesh (and the object mode) is stored in global undo. Now made the code similar to edit mode, but since we don't really have any operator to push, this is just ignored for now. I have tried just disabling the sculpt toggle operator undo flag but this didn't work due to the nature recursive of the operator calls