Commit Graph

624 Commits

Author SHA1 Message Date
74fd17e9d7 UI/Python: rename Lamps to Lights, to follow more standard terminology.
Internally it's still mostly named lamps, though some modules like Cycles
were already calling them lights.
2018-07-06 20:06:09 +02:00
b076b3853c Merge branch 'master' into blender2.8 2018-07-02 12:03:56 +02:00
b88e51dd55 Cleanup: use bool for poll functions 2018-07-02 11:51:31 +02:00
36a9436d80 Merge branch 'master' into blender2.8 2018-07-01 16:22:06 +02:00
ddee0931b8 RNA: use bool for boolean RNA types
We were using int's for bool arguments in BKE,
just to avoid having wrapper functions.
2018-07-01 15:57:59 +02:00
2223d63c58 Refactor static override code to pass Main around.
Access to main database is actually rarely needed, but some custom
'apply' functions do need it (like Collections' overriding of objects or
children collections).
2018-06-29 12:48:12 +02:00
e35d956860 Static Override: RNA apply code: pass extra 'item_ptr' to apply callbacks.
This is unused currently, but is mandatory for incomming support to
Collections objects and children items override support.
2018-06-28 14:28:31 +02:00
fddfc416ef RNA path: add way to get both valid ptr/prop pair, and final item ptr.
This will be much useful in some cases, at least in override area it is
needed (avoids searching again for the overriden item in a collection).
2018-06-28 11:58:15 +02:00
3f74a5c5fd Proper fix for RNA path evaluation of collection items.
Following RNA pointer way - only return evaluated item if asked for.
2018-06-28 11:06:31 +02:00
33306cabbe RNA_access: path parsing: fix broken code for collections.
When RNA path was for a collection item, we'd falsly get NULL final
property (and wrong final RNA pointer too).

Own stupid mistake in some previous commit, iirc.
2018-06-28 11:06:31 +02:00
2ca8230f67 Merge branch 'master' into blender2.8 2018-06-09 14:43:01 +02:00
fb565ddb68 Cleanup: trailing space in RNA 2018-06-09 14:40:09 +02:00
0be9d8db65 RNA/Override: Move override-related property flags to own variable.
We are already running out of available flags in main, generic int, and
everytime I work on static override I find new special cases that will
need new specific propflag, so...
2018-06-05 11:11:43 +02:00
42d6b8efc0 RNA: re-enable property notifiers
While these will be removed eventually,
it makes tracking down COW buts a hassle.
2018-05-28 18:16:01 +02:00
Dalai Felinto
c1361d2651 Depsgraph: tag depsgraph for copy-on-write flush when RNA changes
Fixes bug with changes to properties not being flushed to the COW data.
It fixes T55144.

This is the part of rBb4b745b72064 that is required although slow.
Which was partially addressed but the rest of the commit, which in
turn broke things. So for now let's get RNA to flush slow cow, and
deal with the consequences.
2018-05-24 12:17:55 +02:00
67598d39b4 Revert "Depsgraph: refresh RNA that doesn't need a full rebuild"
This reverts commit b4b745b720.

This was causing a problem in 01_025_A.anim.blend from the Spring
production files, where selecting one of Autumn's bones would
result in character jumping back to the origin.
2018-05-23 20:30:17 +02:00
b4b745b720 Depsgraph: refresh RNA that doesn't need a full rebuild
Fixes bug with changes to properties not being flushed to the COW data.
2018-05-23 15:26:50 +02:00
54a9136569 RNA: move enums to rna_rna.c
Needed for use in rna non runtime code.
2018-05-17 19:54:35 +02:00
0e0d99161a RNA: move enums to rna_rna.c
Needed for use in rna non runtime code.
2018-05-17 19:10:45 +02:00
Dalai Felinto
1ce1ae3d32 Rename: RNA_property_override_status > RNA_property_static_override_status 2018-05-09 16:18:02 +02:00
0fb5a39baf Static Override: add insertion for modifiers and one constraints, fix editing of inserted items in collections.
Now insertable collection items have a flag to say they are 'local' (and
hence can be freely edited).
2018-05-02 18:14:19 +02:00
c7947b2115 Static override: Add basic two-passes system needed for apply insert op.
And a dummy placeholder for object constraints... All this is WIP of
course!
2018-05-02 09:54:42 +02:00
f6c1762bb3 Fix previous commit, sorry about that :/ 2018-05-01 17:03:23 +02:00
691c532506 Static override: rename highly confusing var name in apply code.
We use 'reference' to designate the linked ID which is being overridden
by the local one, so using 'reference' to designate the stored local ID
in apply RNA code was... not a good idea. ;)
2018-05-01 17:02:30 +02:00
c8e1f18c5d stylecode cleanup 2018-04-23 16:13:50 +02:00
2e1ac7e2df Static Overrides: disable animated check for now.
This is actually rather slow process, commeting it out gives us another
10% speedup... On a non-animated char! Don't even want to know how much
this would have costed on a rig with hundreds of fcurves!

And checking this is not really critical for us anyway, once animated
you do not really care whether props are also statically overridden or
not.
2018-04-23 16:08:45 +02:00
57221d8e83 More debug timing info from main RNA diffing func. 2018-04-20 16:04:57 +02:00
89bdc208d1 Static overrides optimization: 30% quicker.
use stack instead of always allocating memory for RNA paths of checked
properties! From average 167ms to 118ms here with Autumn rig... Still a
lot to improve, but that's already much better.
2018-04-20 12:21:11 +02:00
75f82ac722 Update/improve handling of 'overridable' status of properties.
Main new thing in this commit is ability for real IDProps (aka custom
properties) to be set as overridable or not, they are not by default.
2018-04-17 18:07:08 +02:00
2408a482c0 Merge branch 'master' into blender2.8 2018-04-17 12:12:35 +02:00
aff71a7fdc Fix (unreported) RNA sometimes trying to get named sub-props from non-Group IDProp.
Why exactly this happens remains unclear, found that in the
autumn.blenrig file of Spring production while working on static
overrides... Tons of ugly IDProps in that rig. xD
2018-04-17 11:59:14 +02:00
6962119e7f Merge branch 'master' into blender2.8 2018-04-10 12:00:10 +02:00
814f143acf Fix T54423: Messages from RNA_property_editable_info() were not translatable. 2018-04-10 10:24:02 +02:00
0c753c1dc4 RNA comparison/override: better control over property processing.
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-23 16:35:53 +01:00
c722fd2184 Some more minor cleanups. 2018-03-16 17:49:54 +01:00
d7a8a864ed Minor cleanup & commenting. 2018-03-15 09:44:16 +01:00
59aa8d22ef Cleanup: use flags instead of collection of bools to get RNA override status. 2018-03-14 11:47:35 +01:00
d937d06c02 WorkSpace: UI filtering for add-ons
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-03-01 01:31:07 +11:00
1ae5dfd049 Fix T54005: Broken IDProp copying from RNA code.
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-06 14:39:39 +01:00
a8a77609d3 Fix Cycles + Freestyle rendering crash, due to bug in RNA override code. 2018-02-05 15:08:04 +01:00
c850320b35 Merge branch 'master' into blender2.8 2018-01-19 17:21:15 +11:00
7a24e0d175 Cleanup: typos 2018-01-19 15:34:54 +11:00
129196dc32 Merge branch 'master' into blender2.8 2018-01-15 15:59:59 +11:00
ec52e64a5d RNA: Add RNA_property_string_set_bytes
This is needed to set values that contain zero bytes
(where the length isn't fixed).
2018-01-15 15:59:10 +11:00
cc63c8511c Fix static override (very stupid mistakes in code!) 2018-01-11 12:29:09 +01:00
de91f2389d Further fixes to new RNA props diff code.
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-11 09:41:44 +01:00
5ff33ecdf0 Merge branch 'master' into blender2.8 2018-01-10 14:01:09 +11:00
0f6ed7d111 Fix (unreported) potential crash.
RNA_pointer_as_string could return NULL instead of a valid string in some cases.
2018-01-09 19:51:50 +01:00
1cab3be7a7 Significant step toward supporting IDProperties in new RNA diff code.
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-09 15:54:33 +01:00
727aab5af4 Fix uninitialized stack use in rna diff override 2018-01-04 16:15:31 +11:00