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
2018-03-23RNA comparison/override: better control over property processing.Bastien Montagne
This commit essentially introduces a new RNA property flag, which when set prevents affected property from being processed at all in comparison code (also used to automatically generate static override rules). The idea is to use it on very low-level data in RNA, like e.g. mesh's geometry or psys' particles collections. For now only applied to psys' particle collections, on the main mesh of Agent327 pigeon, it goes from 100ms to 0.5ms on a full auto-override-generating comparison... Also added some new RNA property helper funcs to check on comparable and overridable status.
2018-03-16Some more minor cleanups.Bastien Montagne
2018-03-15Minor cleanup & commenting.Bastien Montagne
2018-03-14Cleanup: use flags instead of collection of bools to get RNA override status.Bastien Montagne
2018-02-28WorkSpace: UI filtering for add-onsCampbell Barton
Allows for each workspace to have it's own add-ons on display. Filtering for: Panels, Menus, Keymaps & Manipulators. Automatically applies to add-ons at the moment. Access from workspace, toggled off by default once enabled, add-ons can be white-listed. See D3076
2018-02-06Fix T54005: Broken IDProp copying from RNA code.Bastien Montagne
When destination IDProp did not exist, new code (related ot static overrides) would not do nothing... IDProps and RNA are really not easy to tame, thinking more and more we should totally bypass RNA and directly use (add) IDP code to handle comparison and diff creation/application of IDProps. But for now, this bandage should to the trick.
2018-02-05Fix Cycles + Freestyle rendering crash, due to bug in RNA override code.Brecht Van Lommel
2018-01-19Merge branch 'master' into blender2.8Campbell Barton
2018-01-19Cleanup: typosCampbell Barton
2018-01-15Merge branch 'master' into blender2.8Campbell Barton
2018-01-15RNA: Add RNA_property_string_set_bytesCampbell Barton
This is needed to set values that contain zero bytes (where the length isn't fixed).
2018-01-11Fix static override (very stupid mistakes in code!)Bastien Montagne
2018-01-11Further fixes to new RNA props diff code.Bastien Montagne
Unfortunately, we cannot perform set/unset checks on 'resolved' properties (i.e. from actual IDProperties pointers, and not virtual RNA placeholders)... IDProps in RNA are rather challenging topic. :| This should fully fix T53715: 2.8: Removing keymap items no longer works
2018-01-10Merge branch 'master' into blender2.8Campbell Barton
2018-01-09Fix (unreported) potential crash.Bastien Montagne
RNA_pointer_as_string could return NULL instead of a valid string in some cases.
2018-01-09Significant step toward supporting IDProperties in new RNA diff code.Bastien Montagne
Still not fully working, more work TODO (IDProps are rather tedious to handle in RNA... :/ ). Partial fix of T53715: 2.8: Removing keymap items no longer works. Some shortcuts can now be edited/deleted again, but some remain mysteriously frozen!
2018-01-04Fix uninitialized stack use in rna diff overrideCampbell Barton
2017-12-18Serious cleanup/refactor/fixing of new RNA comparison code.Bastien Montagne
Code also handling auto-generation of static overrides. Aside from some naming consistency cleanup, this commit: * Is the first step addressing the 'operator' issue with static overrides, by implementing a first version of the 'restore from reference' behavior. * Fixes several issues that were discovered on the way in enhanced RNA comparision code, like the 'zero-length dynamic array' case, or some infinite looping caused by some non-ID pointers (that for some mysterious reasons did not show up previously...). * Factorizes a bit said RNA comparison code (auto-static override generation and comparison/check were essentially doing the same thing).
2017-12-13RNA override: Cleanup & small refactor.Bastien Montagne
Remove unused func from public API. Make parameters & variables naming more consistent accross the code. Move RNAproperty validation/'conversion' (for IDProps case) to upper level in code, this will avoid some useless re-processing.
2017-12-06Merge branch 'master' into blender2.8Sergey Sharybin
2017-12-06Add utility function to compare PointerRNA with NULLSergey Sharybin
Thanks Campbell for review!
2017-12-05Merge branch 'master' into blender2.8Bastien Montagne
2017-12-04RNA: Use const qualifier for an utility functionSergey Sharybin
2017-12-04WM: disable property update messages for fcurvesCampbell Barton
2017-12-04WM: message bus replacement for property notifiersCampbell Barton
Use dynamically generated message publish/subscribe so buttons and manipulators update properly. This resolves common glitches where manipulators weren't updating as well as the UI when add-ons exposed properties which hard coded listeners weren't checking for. Python can also publish/scribe changes via `bpy.msgbus`. See D2917
2017-12-04Cleanup: whitespaceCampbell Barton
2017-12-01Cleanup: forgot to rename RNA prop flag to override_static...Bastien Montagne
2017-11-29ID Static Override, part II: RNA changes.Bastien Montagne
This is essentially a huge refactor/extension of our existing RNA compare & copy code, since static override needs more advanced handling here. Note that not all new features are implemented yet, advanced things like collections insertion/deletion are still TODO (medium priority). This completes the ground work for overrides, remaining commits will be about UI and some basic/testing activation of overrides for a limited set of data-blocks & properties. For details see https://developer.blender.org/D2417
2017-11-29RNA: remove paranoid NULL checkCampbell Barton
Was added as part of D2666.
2017-11-29Merge branch 'master' into blender2.8Campbell Barton
2017-11-29RNA: sync API changes from 2.8Campbell Barton
2017-11-29RNA: Allow structs to define tags for their propertiesJulian Eisel
Adds support for defining a number of tags as part of the rna-struct definition, which its properties can set similar to property-flags. BPY supports setting these tags when defining custom properties too. * To define tags for a struct (which its properties can use then), define the tags in an `EnumPropertyItem` array, and assign them to the struct using `RNA_def_struct_property_tags(...)`. * To set tags for an RNA-property in C, use the new `RNA_def_property_tags(...)`. * To set tags for an RNA-property in Python, use the newly added tags parameter. E.g. `bpy.props.FloatProperty(name="Some Float", tags={'SOME_TAG', 'ANOTHER_TAG'})`.
2017-11-23Support tagging operator properties as 'advanced'Julian Eisel
This will later be used to show advanced operator properties separate from basic (as in non-advanced) ones in the UI. Tagging a single operator property in C should be done via `WM_operatortype_prop_tag()`. It does additional checks for type safety that `RNA_def_property_tags()` doesn't do. To avoid having to tag each advanced property individually, multiple ones can be tagged by wrapping them into `WM_operatortype_props_advanced_bein()` and `WM_operatortype_props_advanced_end()` calls. It's also possible to only call `_begin()`, all properties added after this will get tagged then. In most cases this last approach should be sufficient. Example of Python usage: `my_float = bpy.props.FloatProperty(name="Some Float", tags={'ADVANCED'})`
2017-11-23RNA: Allow structs to define tags for their propertiesJulian Eisel
Adds support for defining a number of tags as part of the rna-struct definition, which its properties can set similar to property-flags. BPY supports setting these tags when defining custom properties too. * To define tags for a struct (which its properties can use then), define the tags in an `EnumPropertyItem` array, and assign them to the struct using `RNA_def_struct_property_tags(...)`. * To set tags for an RNA-property in C, use the new `RNA_def_property_tags(...)`. * To set tags for an RNA-property in Python, use the newly added tags parameter. E.g. `bpy.props.FloatProperty(name="Some Float", tags={'SOME_TAG', 'ANOTHER_TAG'})`. Actual usage of this will be added in a follow-up commit.
2017-11-06Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/device/device.cpp source/blender/blenkernel/intern/library.c source/blender/blenkernel/intern/material.c source/blender/editors/object/object_add.c source/blender/editors/object/object_relations.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/space_outliner/outliner_edit.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/util/ed_util.c source/blender/windowmanager/intern/wm_files_link.c
2017-11-06Rename ID_IS_LINKED_DATABLOCK to ID_IS_LINKED.Bastien Montagne
This makes code closer to id_override/assent-engine ones, which introduce a new type of linked data, and hence reserve ID_IS_LINKED_DATABLOCK to real linked datablocks.
2017-10-18Merge branch 'master' into blender2.8Campbell Barton
2017-10-18Cleanup: Use const for RNA EnumPropertyItem argsCampbell Barton
Practically all access to enum data is read-only.
2017-09-01Merge branch 'master' into blender2.8Campbell Barton
2017-09-01RNA: demote non-strict class naming to warningCampbell Barton
This stops a lot of add-ons from registering, while this must be resolved but there no need to force error just now.
2017-08-31Merge branch 'master' into blender2.8Campbell Barton
2017-08-31RNA: strict naming for types in bpy.typesCampbell Barton
Blender scripts already do this, some addons will need updating.
2017-08-31RNA: Limit which classes struct-map containsCampbell Barton
Only add subclasses of: Menu, Panel, Header, UIList, Operator This helps avoid unnecessary naming collisions, See T52599 for details
2017-08-23Merge branch 'master' into blender2.8Campbell Barton
2017-08-23RNA: report error on struct naming collisionCampbell Barton
Fixes T52463, error instead of crash.
2017-08-11Merge branch 'master' into blender2.8Campbell Barton
2017-08-11RNA: Use hash lookups for structsCampbell Barton
Adding structs was checking for duplicates causing approx 75k string comparisons on startup. While overall speedup is minimal, Python access to `bpy.types` will now use a hash lookup instead of a full linked list search. See D2774
2017-07-05Expose rna_translate_ui_text to be used for interface templatesDalai Felinto
2017-06-21RNA: avoid many calls to 'RNA_struct_is_a'Campbell Barton
Quicker to find the ID-subtype then use direct pointer comparisons. Also modify `ID_code_to_RNA_type` so missing ID-codes raise a warning (handy when adding new ID types).
2017-06-12Merge branch 'master' into blender2.8Sergey Sharybin