Cleanup: Rename LibOverride-related enum flags/tags.

Mainly use a shorter, straight-forward prefix (`LIBOVERRIDE`), and
unify/make these enum names more consistant. No functional changes
expected here.
This commit is contained in:
Bastien Montagne 2023-05-02 16:13:02 +02:00
parent 9ea2170cce
commit 5095ecc67b
26 changed files with 232 additions and 232 deletions

View File

@ -166,10 +166,10 @@ IDOverrideLibrary *BKE_lib_override_library_init(ID *local_id, ID *reference_id)
local_id->override_library = MEM_cnew<IDOverrideLibrary>(__func__);
local_id->override_library->reference = reference_id;
id_us_plus(local_id->override_library->reference);
local_id->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_REFOK;
local_id->tag &= ~LIB_TAG_LIBOVERRIDE_REFOK;
/* By default initialized liboverrides are 'system overrides', higher-level code is responsible
* to unset this flag for specific IDs. */
local_id->override_library->flag |= IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
local_id->override_library->flag |= LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
/* TODO: do we want to add tag or flag to referee to mark it as such? */
return local_id->override_library;
}
@ -218,7 +218,7 @@ void BKE_lib_override_library_copy(ID *dst_id, const ID *src_id, const bool do_f
}
}
dst_id->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_REFOK;
dst_id->tag &= ~LIB_TAG_LIBOVERRIDE_REFOK;
}
void BKE_lib_override_library_clear(IDOverrideLibrary *override, const bool do_id_user)
@ -313,10 +313,10 @@ bool BKE_lib_override_library_is_user_edited(const ID *id)
LISTBASE_FOREACH (const IDOverrideLibraryProperty *, op, &id->override_library->properties) {
LISTBASE_FOREACH (const IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if ((opop->flag & IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) != 0) {
if ((opop->flag & LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE) != 0) {
continue;
}
if (opop->operation == IDOVERRIDE_LIBRARY_OP_NOOP) {
if (opop->operation == LIBOVERRIDE_OP_NOOP) {
continue;
}
/* If an operation does not match the filters above, it is considered as a user-editing one,
@ -332,7 +332,7 @@ bool BKE_lib_override_library_is_system_defined(const Main *bmain, const ID *id)
if (ID_IS_OVERRIDE_LIBRARY(id)) {
const ID *override_owner_id;
BKE_lib_override_library_get(bmain, id, nullptr, &override_owner_id);
return (override_owner_id->override_library->flag & IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED) !=
return (override_owner_id->override_library->flag & LIBOVERRIDE_FLAG_SYSTEM_DEFINED) !=
0;
}
return false;
@ -408,8 +408,8 @@ ID *BKE_lib_override_library_create_from_id(Main *bmain,
/* We cannot allow automatic hierarchy resync on this ID, it is highly likely to generate a giant
* mess in case there are a lot of hidden, non-instantiated, non-properly organized dependencies.
* Ref #94650. */
local_id->override_library->flag |= IDOVERRIDE_LIBRARY_FLAG_NO_HIERARCHY;
local_id->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
local_id->override_library->flag |= LIBOVERRIDE_FLAG_NO_HIERARCHY;
local_id->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
local_id->override_library->hierarchy_root = local_id;
if (do_tagged_remap) {
@ -562,7 +562,7 @@ bool BKE_lib_override_library_create_from_tag(Main *bmain,
break;
}
if (do_fully_editable) {
reference_id->newid->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
reference_id->newid->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
}
}
/* We also tag the new IDs so that in next step we can remap their pointers too. */
@ -1079,7 +1079,7 @@ static void lib_override_overrides_group_tag_recursive(LibOverrideGroupTagData *
ID *id_hierarchy_root = data->hierarchy_root_id;
if (ID_IS_OVERRIDE_LIBRARY_REAL(id_owner) &&
(id_owner->override_library->flag & IDOVERRIDE_LIBRARY_FLAG_NO_HIERARCHY) != 0)
(id_owner->override_library->flag & LIBOVERRIDE_FLAG_NO_HIERARCHY) != 0)
{
return;
}
@ -1923,7 +1923,7 @@ static bool lib_override_library_resync(Main *bmain,
bool do_break = false;
LISTBASE_FOREACH (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if ((opop->flag & IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) == 0) {
if ((opop->flag & LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE) == 0) {
id->override_library->reference->tag |= LIB_TAG_DOIT;
do_break = true;
break;
@ -1980,7 +1980,7 @@ static bool lib_override_library_resync(Main *bmain,
ID *id_override_new = id->newid;
ID *id_override_old = static_cast<ID *>(BLI_ghash_lookup(linkedref_to_old_override, id));
BLI_assert((id_override_new->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) == 0);
BLI_assert((id_override_new->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) == 0);
/* We need to 'move back' newly created override into its proper library (since it was
* duplicated from the reference ID with 'no main' option, it should currently be the same
@ -2074,7 +2074,7 @@ static bool lib_override_library_resync(Main *bmain,
RNA_id_pointer_create(id_override_old, &rnaptr_src);
RNA_id_pointer_create(id_override_new, &rnaptr_dst);
/* We remove any operation tagged with `IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE`,
/* We remove any operation tagged with `LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE`,
* that way the potentially new pointer will be properly kept, when old one is still valid
* too (typical case: assigning new ID to some usage, while old one remains used elsewhere
* in the override hierarchy). */
@ -2082,7 +2082,7 @@ static bool lib_override_library_resync(Main *bmain,
IDOverrideLibraryProperty *, op, &id_override_new->override_library->properties)
{
LISTBASE_FOREACH_MUTABLE (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (opop->flag & IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) {
if (opop->flag & LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE) {
lib_override_library_property_operation_clear(opop);
BLI_freelinkN(&op->operations, opop);
}
@ -2342,7 +2342,7 @@ static bool lib_override_resync_tagging_finalize_recurse(
id->name,
id->lib->filepath,
id->lib->temp_index);
id->tag &= ~LIB_TAG_LIB_OVERRIDE_NEED_RESYNC;
id->tag &= ~LIB_TAG_LIBOVERRIDE_NEED_RESYNC;
return false;
}
@ -2352,7 +2352,7 @@ static bool lib_override_resync_tagging_finalize_recurse(
if (entry->tags & MAINIDRELATIONS_ENTRY_TAGS_PROCESSED) {
/* This ID has already been processed. */
return (ID_IS_OVERRIDE_LIBRARY(id) && (id->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) != 0);
return (ID_IS_OVERRIDE_LIBRARY(id) && (id->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) != 0);
}
/* This way we won't process again that ID, should we encounter it again through another
@ -2378,8 +2378,8 @@ static bool lib_override_resync_tagging_finalize_recurse(
*
* In the example above, the armature will become the resync root.
*/
const int id_tag_need_resync = (id->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC);
id->tag &= ~LIB_TAG_LIB_OVERRIDE_NEED_RESYNC;
const int id_tag_need_resync = (id->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC);
id->tag &= ~LIB_TAG_LIBOVERRIDE_NEED_RESYNC;
/* Pre-set the 'isolated from root' tag, it will be cleared if a valid path to its root is found
* in its parents hierarchy. See comment below when this tag is checked for details. */
@ -2436,9 +2436,9 @@ static bool lib_override_resync_tagging_finalize_recurse(
if (is_ancestor_tagged_for_resync) {
/* If a tagged-for-resync ancestor was found, this id is not a resync sub-tree root, but it is
* part of one, and therefore needs to be tagged for resync too. */
id->tag |= LIB_TAG_LIB_OVERRIDE_NEED_RESYNC;
id->tag |= LIB_TAG_LIBOVERRIDE_NEED_RESYNC;
}
else if (id->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) {
else if (id->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) {
/* If no tagged-for-resync ancestor was found, but this id is tagged for resync, then it is a
* root of a resync sub-tree. Find the root of the whole override hierarchy and add this ID as
* one of its resync sub-tree roots. */
@ -2508,9 +2508,9 @@ static bool lib_override_library_main_resync_id_skip_check(ID *id,
return true;
}
if (id->override_library->flag & IDOVERRIDE_LIBRARY_FLAG_NO_HIERARCHY) {
if (id->override_library->flag & LIBOVERRIDE_FLAG_NO_HIERARCHY) {
/* This ID is not part of an override hierarchy. */
BLI_assert((id->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) == 0);
BLI_assert((id->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) == 0);
return true;
}
@ -2591,7 +2591,7 @@ static void lib_override_library_main_resync_on_library_indirect_level(
continue;
}
if (id->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) {
if (id->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) {
CLOG_INFO(&LOG, 4, "ID %s (%p) was already tagged as needing resync", id->name, id->lib);
continue;
}
@ -2618,7 +2618,7 @@ static void lib_override_library_main_resync_on_library_indirect_level(
id->lib,
id_to->name,
id_to->lib);
id->tag |= LIB_TAG_LIB_OVERRIDE_NEED_RESYNC;
id->tag |= LIB_TAG_LIBOVERRIDE_NEED_RESYNC;
break;
}
}
@ -2635,7 +2635,7 @@ static void lib_override_library_main_resync_on_library_indirect_level(
continue;
}
if (id->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) {
if (id->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) {
if (STREQ(id->name, "GRSE-rocket_interior")) {
printf("f\n");
}
@ -2659,7 +2659,7 @@ static void lib_override_library_main_resync_on_library_indirect_level(
CLOG_INFO(
&LOG, 2, "Checking validity of computed TODO data for root '%s'... \n", id_root->name);
if (id_root->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) {
if (id_root->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) {
LinkNode *id_resync_root_iter = id_resync_roots->list;
ID *id_resync_root = static_cast<ID *>(id_resync_root_iter->link);
@ -2777,7 +2777,7 @@ static void lib_override_library_main_resync_on_library_indirect_level(
continue;
}
const bool need_resync = (id->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) != 0;
const bool need_resync = (id->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) != 0;
const bool is_isolated_from_root = (id->override_library->runtime != nullptr &&
(id->override_library->runtime->tag &
LIBOVERRIDE_TAG_RESYNC_ISOLATED_FROM_ROOT) != 0);
@ -2803,7 +2803,7 @@ static void lib_override_library_main_resync_on_library_indirect_level(
"an object was moved into another sub-collection of the same hierarchy).",
id->name,
ID_IS_LINKED(id) ? id->lib->temp_index : 0);
id->tag &= ~LIB_TAG_LIB_OVERRIDE_NEED_RESYNC;
id->tag &= ~LIB_TAG_LIBOVERRIDE_NEED_RESYNC;
id->override_library->runtime->tag &= ~LIBOVERRIDE_TAG_RESYNC_ISOLATED_FROM_ROOT;
}
}
@ -2814,7 +2814,7 @@ static void lib_override_library_main_resync_on_library_indirect_level(
id->name,
ID_IS_LINKED(id) ? id->lib->temp_index : 0,
library_indirect_level);
id->tag &= ~LIB_TAG_LIB_OVERRIDE_NEED_RESYNC;
id->tag &= ~LIB_TAG_LIBOVERRIDE_NEED_RESYNC;
}
else if (is_isolated_from_root) {
CLOG_ERROR(
@ -3337,23 +3337,23 @@ bool BKE_lib_override_library_property_operation_operands_validate(
PropertyRNA *prop_storage)
{
switch (override_property_operation->operation) {
case IDOVERRIDE_LIBRARY_OP_NOOP:
case LIBOVERRIDE_OP_NOOP:
return true;
case IDOVERRIDE_LIBRARY_OP_ADD:
case LIBOVERRIDE_OP_ADD:
ATTR_FALLTHROUGH;
case IDOVERRIDE_LIBRARY_OP_SUBTRACT:
case LIBOVERRIDE_OP_SUBTRACT:
ATTR_FALLTHROUGH;
case IDOVERRIDE_LIBRARY_OP_MULTIPLY:
case LIBOVERRIDE_OP_MULTIPLY:
if (ptr_storage == nullptr || ptr_storage->data == nullptr || prop_storage == nullptr) {
BLI_assert_msg(0, "Missing data to apply differential override operation.");
return false;
}
ATTR_FALLTHROUGH;
case IDOVERRIDE_LIBRARY_OP_INSERT_AFTER:
case LIBOVERRIDE_OP_INSERT_AFTER:
ATTR_FALLTHROUGH;
case IDOVERRIDE_LIBRARY_OP_INSERT_BEFORE:
case LIBOVERRIDE_OP_INSERT_BEFORE:
ATTR_FALLTHROUGH;
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
if ((ptr_dst == nullptr || ptr_dst->data == nullptr || prop_dst == nullptr) ||
(ptr_src == nullptr || ptr_src->data == nullptr || prop_src == nullptr))
{
@ -3454,7 +3454,7 @@ bool BKE_lib_override_library_status_check_local(Main *bmain, ID *local)
RNA_OVERRIDE_COMPARE_IGNORE_OVERRIDDEN),
nullptr))
{
local->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_REFOK;
local->tag &= ~LIB_TAG_LIBOVERRIDE_REFOK;
return false;
}
@ -3474,12 +3474,12 @@ bool BKE_lib_override_library_status_check_reference(Main *bmain, ID *local)
BLI_assert(GS(local->name) == GS(reference->name));
if (reference->override_library && (reference->tag & LIB_TAG_OVERRIDE_LIBRARY_REFOK) == 0) {
if (reference->override_library && (reference->tag & LIB_TAG_LIBOVERRIDE_REFOK) == 0) {
if (!BKE_lib_override_library_status_check_reference(bmain, reference)) {
/* If reference is also an override of another data-block, and its status is not OK,
* then this override is not OK either.
* Note that this should only happen when reloading libraries. */
local->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_REFOK;
local->tag &= ~LIB_TAG_LIBOVERRIDE_REFOK;
return false;
}
}
@ -3511,7 +3511,7 @@ bool BKE_lib_override_library_status_check_reference(Main *bmain, ID *local)
RNA_OVERRIDE_COMPARE_IGNORE_OVERRIDDEN,
nullptr))
{
local->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_REFOK;
local->tag &= ~LIB_TAG_LIBOVERRIDE_REFOK;
return false;
}
@ -3615,9 +3615,9 @@ void BKE_lib_override_library_operations_restore(Main *bmain, ID *local, int *r_
LISTBASE_FOREACH_MUTABLE (IDOverrideLibraryProperty *, op, &local->override_library->properties)
{
if (op->tag & IDOVERRIDE_LIBRARY_PROPERTY_TAG_NEEDS_RETORE) {
if (op->tag & LIBOVERRIDE_PROP_TAG_NEEDS_RETORE) {
LISTBASE_FOREACH_MUTABLE (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (opop->tag & IDOVERRIDE_LIBRARY_PROPERTY_TAG_NEEDS_RETORE) {
if (opop->tag & LIBOVERRIDE_PROP_TAG_NEEDS_RETORE) {
BKE_lib_override_library_property_operation_delete(op, opop);
}
}
@ -3626,7 +3626,7 @@ void BKE_lib_override_library_operations_restore(Main *bmain, ID *local, int *r_
}
else {
BKE_lib_override_library_operations_tag(
op, IDOVERRIDE_LIBRARY_PROPERTY_TAG_NEEDS_RETORE, false);
op, LIBOVERRIDE_PROP_TAG_NEEDS_RETORE, false);
}
}
}
@ -3672,7 +3672,7 @@ void BKE_lib_override_library_main_operations_create(Main *bmain,
/* When force-auto is set, we also remove all unused existing override properties & operations.
*/
if (force_auto) {
BKE_lib_override_library_main_tag(bmain, IDOVERRIDE_LIBRARY_TAG_UNUSED, true);
BKE_lib_override_library_main_tag(bmain, LIBOVERRIDE_PROP_OP_TAG_UNUSED, true);
}
/* Usual pose bones issue, need to be done outside of the threaded process or we may run into
@ -3693,7 +3693,7 @@ void BKE_lib_override_library_main_operations_create(Main *bmain,
FOREACH_MAIN_ID_BEGIN (bmain, id) {
if (!ID_IS_LINKED(id) && ID_IS_OVERRIDE_LIBRARY_REAL(id) &&
(force_auto || (id->tag & LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH)))
(force_auto || (id->tag & LIB_TAG_LIBOVERRIDE_AUTOREFRESH)))
{
/* Usual issue with pose, it's quiet rare but sometimes they may not be up to date when this
* function is called. */
@ -3712,16 +3712,16 @@ void BKE_lib_override_library_main_operations_create(Main *bmain,
}
else {
BKE_lib_override_library_properties_tag(
id->override_library, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
id->override_library, LIBOVERRIDE_PROP_OP_TAG_UNUSED, false);
}
}
else {
/* Clear 'unused' tag for un-processed IDs, otherwise e.g. linked overrides will loose their
* list of overridden properties. */
BKE_lib_override_library_properties_tag(
id->override_library, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
id->override_library, LIBOVERRIDE_PROP_OP_TAG_UNUSED, false);
}
id->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH;
id->tag &= ~LIB_TAG_LIBOVERRIDE_AUTOREFRESH;
}
FOREACH_MAIN_ID_END;
@ -3778,7 +3778,7 @@ static bool lib_override_library_id_reset_do(Main *bmain,
bool was_op_deleted = false;
if (do_reset_system_override) {
id_root->override_library->flag |= IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
id_root->override_library->flag |= LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
}
LISTBASE_FOREACH_MUTABLE (
@ -3973,12 +3973,12 @@ void BKE_lib_override_library_id_unused_cleanup(ID *local)
if (ID_IS_OVERRIDE_LIBRARY_REAL(local)) {
LISTBASE_FOREACH_MUTABLE (
IDOverrideLibraryProperty *, op, &local->override_library->properties) {
if (op->tag & IDOVERRIDE_LIBRARY_TAG_UNUSED) {
if (op->tag & LIBOVERRIDE_PROP_OP_TAG_UNUSED) {
BKE_lib_override_library_property_delete(local->override_library, op);
}
else {
LISTBASE_FOREACH_MUTABLE (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (opop->tag & IDOVERRIDE_LIBRARY_TAG_UNUSED) {
if (opop->tag & LIBOVERRIDE_PROP_OP_TAG_UNUSED) {
BKE_lib_override_library_property_operation_delete(op, opop);
}
}
@ -4004,7 +4004,7 @@ static void lib_override_id_swap(Main *bmain, ID *id_local, ID *id_temp)
BKE_lib_id_swap(bmain, id_local, id_temp, true, 0);
/* We need to keep these tags from temp ID into orig one.
* ID swap does not swap most of ID data itself. */
id_local->tag |= (id_temp->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC);
id_local->tag |= (id_temp->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC);
}
void BKE_lib_override_library_update(Main *bmain, ID *local)
@ -4022,7 +4022,7 @@ void BKE_lib_override_library_update(Main *bmain, ID *local)
/* Recursively do 'ancestor' overrides first, if any. */
if (local->override_library->reference->override_library &&
(local->override_library->reference->tag & LIB_TAG_OVERRIDE_LIBRARY_REFOK) == 0)
(local->override_library->reference->tag & LIB_TAG_LIBOVERRIDE_REFOK) == 0)
{
BKE_lib_override_library_update(bmain, local->override_library->reference);
}
@ -4134,7 +4134,7 @@ void BKE_lib_override_library_update(Main *bmain, ID *local)
local->override_library->storage = nullptr;
}
local->tag |= LIB_TAG_OVERRIDE_LIBRARY_REFOK;
local->tag |= LIB_TAG_LIBOVERRIDE_REFOK;
/* NOTE: Since we reload full content from linked ID here, potentially from edited local
* override, we do not really have a way to know *what* is changed, so we need to rely on the

View File

@ -63,7 +63,7 @@ bool BKE_lib_override_library_proxy_convert(Main *bmain,
ob_proxy->proxy->id.tag |= LIB_TAG_DOIT;
ob_proxy->proxy->id.newid = &ob_proxy->id;
BKE_lib_override_library_init(&ob_proxy->id, &ob_proxy->proxy->id);
ob_proxy->id.override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
ob_proxy->id.override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
ob_proxy->proxy->proxy_from = NULL;
ob_proxy->proxy = ob_proxy->proxy_group = NULL;

View File

@ -1808,7 +1808,7 @@ static void version_liboverride_rnacollections_insertion_object_constraints(
ListBase *constraints, IDOverrideLibraryProperty *op)
{
LISTBASE_FOREACH_MUTABLE (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (opop->operation != IDOVERRIDE_LIBRARY_OP_INSERT_AFTER) {
if (opop->operation != LIBOVERRIDE_OP_INSERT_AFTER) {
continue;
}
bConstraint *constraint_anchor = static_cast<bConstraint *>(
@ -1842,7 +1842,7 @@ static void version_liboverride_rnacollections_insertion_object(Object *object)
op = BKE_lib_override_library_property_find(liboverride, "modifiers");
if (op != nullptr) {
LISTBASE_FOREACH_MUTABLE (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (opop->operation != IDOVERRIDE_LIBRARY_OP_INSERT_AFTER) {
if (opop->operation != LIBOVERRIDE_OP_INSERT_AFTER) {
continue;
}
ModifierData *mod_anchor = static_cast<ModifierData *>(
@ -1871,7 +1871,7 @@ static void version_liboverride_rnacollections_insertion_object(Object *object)
op = BKE_lib_override_library_property_find(liboverride, "grease_pencil_modifiers");
if (op != nullptr) {
LISTBASE_FOREACH_MUTABLE (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (opop->operation != IDOVERRIDE_LIBRARY_OP_INSERT_AFTER) {
if (opop->operation != LIBOVERRIDE_OP_INSERT_AFTER) {
continue;
}
GpencilModifierData *gp_mod_anchor = static_cast<GpencilModifierData *>(
@ -1930,7 +1930,7 @@ static void version_liboverride_rnacollections_insertion_animdata(ID *id)
op = BKE_lib_override_library_property_find(liboverride, "animation_data.nla_tracks");
if (op != nullptr) {
LISTBASE_FOREACH (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (opop->operation != IDOVERRIDE_LIBRARY_OP_INSERT_AFTER) {
if (opop->operation != LIBOVERRIDE_OP_INSERT_AFTER) {
continue;
}
/* NLA tracks are only referenced by index, which limits possibilities, basically they are
@ -3502,7 +3502,7 @@ void blo_do_versions_300(FileData *fd, Library * /*lib*/, Main *bmain)
/* Do not 'lock' an ID already edited by the user. */
continue;
}
id->override_library->flag |= IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
id->override_library->flag |= LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
}
FOREACH_MAIN_ID_END;

View File

@ -252,12 +252,12 @@ void flush_editors_id_update(Depsgraph *graph, const DEGEditorUpdateContext *upd
* changed. CoW IDs indirectly modified because of changes in other IDs should never
* require a lib-override diffing. */
if (ID_IS_OVERRIDE_LIBRARY_REAL(id_orig)) {
id_orig->tag |= LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH;
id_orig->tag |= LIB_TAG_LIBOVERRIDE_AUTOREFRESH;
}
else if (ID_IS_OVERRIDE_LIBRARY_VIRTUAL(id_orig)) {
switch (GS(id_orig->name)) {
case ID_KE:
((Key *)id_orig)->from->tag |= LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH;
((Key *)id_orig)->from->tag |= LIB_TAG_LIBOVERRIDE_AUTOREFRESH;
break;
case ID_GR:
BLI_assert(id_orig->flag & LIB_EMBEDDED_DATA);

View File

@ -2300,7 +2300,7 @@ int UI_icon_from_library(const ID *id)
}
if (ID_IS_OVERRIDE_LIBRARY(id)) {
if (!ID_IS_OVERRIDE_LIBRARY_REAL(id) ||
(id->override_library->flag & IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED) != 0)
(id->override_library->flag & LIBOVERRIDE_FLAG_SYSTEM_DEFINED) != 0)
{
return ICON_LIBRARY_DATA_OVERRIDE_NONEDITABLE;
}

View File

@ -568,20 +568,20 @@ static int override_type_set_button_exec(bContext *C, wmOperator *op)
switch (op_type) {
case UIOverride_Type_NOOP:
operation = IDOVERRIDE_LIBRARY_OP_NOOP;
operation = LIBOVERRIDE_OP_NOOP;
break;
case UIOverride_Type_Replace:
operation = IDOVERRIDE_LIBRARY_OP_REPLACE;
operation = LIBOVERRIDE_OP_REPLACE;
break;
case UIOverride_Type_Difference:
/* override code will automatically switch to subtract if needed. */
operation = IDOVERRIDE_LIBRARY_OP_ADD;
operation = LIBOVERRIDE_OP_ADD;
break;
case UIOverride_Type_Factor:
operation = IDOVERRIDE_LIBRARY_OP_MULTIPLY;
operation = LIBOVERRIDE_OP_MULTIPLY;
break;
default:
operation = IDOVERRIDE_LIBRARY_OP_REPLACE;
operation = LIBOVERRIDE_OP_REPLACE;
BLI_assert(0);
break;
}
@ -619,7 +619,7 @@ static int override_type_set_button_invoke(bContext *C, wmOperator *op, const wm
#if 0 /* Disabled for now */
return WM_menu_invoke_ex(C, op, WM_OP_INVOKE_DEFAULT);
#else
RNA_enum_set(op->ptr, "type", IDOVERRIDE_LIBRARY_OP_REPLACE);
RNA_enum_set(op->ptr, "type", LIBOVERRIDE_OP_REPLACE);
return override_type_set_button_exec(C, op);
#endif
}

View File

@ -675,8 +675,8 @@ ID *ui_template_id_liboverride_hierarchy_make(
if (!ID_IS_OVERRIDE_LIBRARY_REAL(id)) {
BKE_lib_override_library_get(bmain, id, nullptr, &id);
}
if (id->override_library->flag & IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED) {
id->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
if (id->override_library->flag & LIBOVERRIDE_FLAG_SYSTEM_DEFINED) {
id->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
*r_undo_push_label = "Make Library Override Hierarchy Editable";
}
else {
@ -895,7 +895,7 @@ ID *ui_template_id_liboverride_hierarchy_make(
}
if (id_override != nullptr) {
id_override->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
id_override->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
*r_undo_push_label = "Make Library Override Hierarchy";
/* In theory we could rely on setting/updating the RNA ID pointer property (as done by calling

View File

@ -2335,7 +2335,7 @@ static int make_override_library_exec(bContext *C, wmOperator *op)
bool is_active_override = false;
FOREACH_SELECTED_OBJECT_BEGIN (view_layer, CTX_wm_view3d(C), ob_iter) {
if (ID_IS_OVERRIDE_LIBRARY_REAL(ob_iter) && !ID_IS_LINKED(ob_iter)) {
ob_iter->id.override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
ob_iter->id.override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
is_active_override = is_active_override || (&ob_iter->id == id_root);
DEG_id_tag_update(&ob_iter->id, ID_RECALC_COPY_ON_WRITE);
}
@ -2423,7 +2423,7 @@ static int make_override_library_exec(bContext *C, wmOperator *op)
if (BLI_gset_haskey(user_overrides_objects_uids,
POINTER_FROM_UINT(id_iter->override_library->reference->session_uuid)))
{
id_iter->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
id_iter->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
}
}
FOREACH_MAIN_ID_END;

View File

@ -2211,7 +2211,7 @@ static void outliner_draw_mode_column_toggle(uiBlock *block,
if (ID_IS_LINKED(&ob->id) ||
(ID_IS_OVERRIDE_LIBRARY_REAL(ob) &&
(ob->id.override_library->flag & IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED) != 0))
(ob->id.override_library->flag & LIBOVERRIDE_FLAG_SYSTEM_DEFINED) != 0))
{
UI_but_disable(but, TIP_("Can't edit library or non-editable override data"));
}

View File

@ -465,7 +465,7 @@ static void id_delete_tag(bContext *C, ReportList *reports, TreeElement *te, Tre
if (ID_IS_OVERRIDE_LIBRARY(id)) {
if (!ID_IS_OVERRIDE_LIBRARY_REAL(id) ||
(id->override_library->flag & IDOVERRIDE_LIBRARY_FLAG_NO_HIERARCHY) == 0)
(id->override_library->flag & LIBOVERRIDE_FLAG_NO_HIERARCHY) == 0)
{
BKE_reportf(reports,
RPT_WARNING,

View File

@ -1049,7 +1049,7 @@ static void id_override_library_create_hierarchy_pre_process_fn(bContext *C,
data->selected_id_uid.add(id_root_reference->session_uuid);
if (ID_IS_OVERRIDE_LIBRARY_REAL(id_root_reference) && !ID_IS_LINKED(id_root_reference)) {
id_root_reference->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
id_root_reference->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
return;
}
@ -1269,7 +1269,7 @@ static void id_override_library_create_hierarchy(
success = id_root_override != nullptr;
if (success) {
BLI_assert(ID_IS_OVERRIDE_LIBRARY_REAL(id_root_override));
id_root_override->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
id_root_override->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
}
/* Cleanup. */
BKE_main_id_newptr_and_tag_clear(&bmain);
@ -1330,7 +1330,7 @@ static void id_override_library_create_hierarchy_process(bContext *C,
if (data.selected_id_uid.contains(id_iter->override_library->reference->session_uuid) ||
data.selected_id_uid.contains(id_iter->session_uuid))
{
id_iter->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
id_iter->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
}
}
FOREACH_MAIN_ID_END;

View File

@ -112,7 +112,7 @@ static void iterate_properties_to_display(ID &id,
for (IDOverrideLibraryPropertyOperation *override_prop_op :
ListBaseWrapper<IDOverrideLibraryPropertyOperation>(override_prop->operations))
{
if ((override_prop_op->flag & IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) == 0) {
if ((override_prop_op->flag & LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE) == 0) {
do_skip = false;
break;
}
@ -229,8 +229,8 @@ TreeElementOverridesPropertyOperation::TreeElementOverridesPropertyOperation(
StringRefNull TreeElementOverridesPropertyOperation::getOverrideOperationLabel() const
{
if (ELEM(operation_->operation,
IDOVERRIDE_LIBRARY_OP_INSERT_AFTER,
IDOVERRIDE_LIBRARY_OP_INSERT_BEFORE))
LIBOVERRIDE_OP_INSERT_AFTER,
LIBOVERRIDE_OP_INSERT_BEFORE))
{
return TIP_("Added through override");
}

View File

@ -314,7 +314,7 @@ static int lib_id_override_editable_toggle_exec(bContext *C, wmOperator * /*op*/
const bool is_system_override = BKE_lib_override_library_is_system_defined(bmain, id);
if (is_system_override) {
/* A system override is not editable. Make it an editable (non-system-defined) one. */
id->override_library->flag &= ~IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED;
id->override_library->flag &= ~LIBOVERRIDE_FLAG_SYSTEM_DEFINED;
}
else {
/* Reset override, which makes it non-editable (i.e. a system define override). */

View File

@ -248,35 +248,35 @@ typedef struct IDOverrideLibraryPropertyOperation {
/* IDOverrideLibraryPropertyOperation->operation. */
enum {
/* Basic operations. */
IDOVERRIDE_LIBRARY_OP_NOOP = 0, /* Special value, forbids any overriding. */
LIBOVERRIDE_OP_NOOP = 0, /* Special value, forbids any overriding. */
IDOVERRIDE_LIBRARY_OP_REPLACE = 1, /* Fully replace local value by reference one. */
LIBOVERRIDE_OP_REPLACE = 1, /* Fully replace local value by reference one. */
/* Numeric-only operations. */
IDOVERRIDE_LIBRARY_OP_ADD = 101, /* Add local value to reference one. */
LIBOVERRIDE_OP_ADD = 101, /* Add local value to reference one. */
/* Subtract local value from reference one (needed due to unsigned values etc.). */
IDOVERRIDE_LIBRARY_OP_SUBTRACT = 102,
LIBOVERRIDE_OP_SUBTRACT = 102,
/* Multiply reference value by local one (more useful than diff for scales and the like). */
IDOVERRIDE_LIBRARY_OP_MULTIPLY = 103,
LIBOVERRIDE_OP_MULTIPLY = 103,
/* Collection-only operations. */
IDOVERRIDE_LIBRARY_OP_INSERT_AFTER = 201, /* Insert after given reference's subitem. */
IDOVERRIDE_LIBRARY_OP_INSERT_BEFORE = 202, /* Insert before given reference's subitem. */
LIBOVERRIDE_OP_INSERT_AFTER = 201, /* Insert after given reference's subitem. */
LIBOVERRIDE_OP_INSERT_BEFORE = 202, /* Insert before given reference's subitem. */
/* We can add more if needed (move, delete, ...). */
};
/* IDOverrideLibraryPropertyOperation->flag. */
enum {
/** User cannot remove that override operation. */
IDOVERRIDE_LIBRARY_FLAG_MANDATORY = 1 << 0,
LIBOVERRIDE_OP_FLAG_MANDATORY = 1 << 0,
/** User cannot change that override operation. */
IDOVERRIDE_LIBRARY_FLAG_LOCKED = 1 << 1,
LIBOVERRIDE_OP_FLAG_LOCKED = 1 << 1,
/**
* For overrides of ID pointers: this override still matches (follows) the hierarchy of the
* reference linked data.
*/
IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE = 1 << 8,
LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE = 1 << 8,
};
/** A single overridden property, contain all operations on this one. */
@ -308,10 +308,10 @@ typedef struct IDOverrideLibraryProperty {
/* IDOverrideLibraryProperty->tag and IDOverrideLibraryPropertyOperation->tag. */
enum {
/** This override property (operation) is unused and should be removed by cleanup process. */
IDOVERRIDE_LIBRARY_TAG_UNUSED = 1 << 0,
LIBOVERRIDE_PROP_OP_TAG_UNUSED = 1 << 0,
/** This override property is forbidden and should be restored to its linked reference value. */
IDOVERRIDE_LIBRARY_PROPERTY_TAG_NEEDS_RETORE = 1 << 1,
LIBOVERRIDE_PROP_TAG_NEEDS_RETORE = 1 << 1,
};
#
@ -370,12 +370,12 @@ enum {
* The override data-block should not be considered as part of an override hierarchy (generally
* because it was created as an single override, outside of any hierarchy consideration).
*/
IDOVERRIDE_LIBRARY_FLAG_NO_HIERARCHY = 1 << 0,
LIBOVERRIDE_FLAG_NO_HIERARCHY = 1 << 0,
/**
* The override ID is required for the system to work (because of ID dependencies), but is not
* seen as editable by the user.
*/
IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED = 1 << 1,
LIBOVERRIDE_FLAG_SYSTEM_DEFINED = 1 << 1,
};
/* watch it: Sequence has identical beginning. */
@ -784,19 +784,19 @@ enum {
*
* RESET_NEVER
*/
LIB_TAG_OVERRIDE_LIBRARY_REFOK = 1 << 6,
LIB_TAG_LIBOVERRIDE_REFOK = 1 << 6,
/**
* ID needs an auto-diffing execution, if enabled (only for library overrides).
*
* RESET_NEVER
*/
LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH = 1 << 7,
LIB_TAG_LIBOVERRIDE_AUTOREFRESH = 1 << 7,
/**
* ID is a library override that needs re-sync to its linked reference.
*
* RESET_NEVER
*/
LIB_TAG_LIB_OVERRIDE_NEED_RESYNC = 1 << 8,
LIB_TAG_LIBOVERRIDE_NEED_RESYNC = 1 << 8,
/**
* Short-life tags used during specific processes, like blend-file reading.

View File

@ -2192,7 +2192,7 @@ extern const char *RE_engine_id_CYCLES;
#define BASE_EDITABLE(v3d, base) \
(BASE_VISIBLE(v3d, base) && !ID_IS_LINKED((base)->object) && \
(!ID_IS_OVERRIDE_LIBRARY_REAL((base)->object) || \
((base)->object->id.override_library->flag & IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED) == 0))
((base)->object->id.override_library->flag & LIBOVERRIDE_FLAG_SYSTEM_DEFINED) == 0))
#define BASE_SELECTED_EDITABLE(v3d, base) \
(BASE_EDITABLE(v3d, base) && (((base)->flag & BASE_SELECTED) != 0))

View File

@ -73,38 +73,38 @@ const EnumPropertyItem rna_enum_id_type_items[] = {
};
static const EnumPropertyItem rna_enum_override_library_property_operation_items[] = {
{IDOVERRIDE_LIBRARY_OP_NOOP,
{LIBOVERRIDE_OP_NOOP,
"NOOP",
0,
"No-Op",
"Does nothing, prevents adding actual overrides (NOT USED)"},
{IDOVERRIDE_LIBRARY_OP_REPLACE,
{LIBOVERRIDE_OP_REPLACE,
"REPLACE",
0,
"Replace",
"Replace value of reference by overriding one"},
{IDOVERRIDE_LIBRARY_OP_ADD,
{LIBOVERRIDE_OP_ADD,
"DIFF_ADD",
0,
"Differential",
"Stores and apply difference between reference and local value (NOT USED)"},
{IDOVERRIDE_LIBRARY_OP_SUBTRACT,
{LIBOVERRIDE_OP_SUBTRACT,
"DIFF_SUB",
0,
"Differential",
"Stores and apply difference between reference and local value (NOT USED)"},
{IDOVERRIDE_LIBRARY_OP_MULTIPLY,
{LIBOVERRIDE_OP_MULTIPLY,
"FACT_MULTIPLY",
0,
"Factor",
"Stores and apply multiplication factor between reference and local value (NOT USED)"},
{IDOVERRIDE_LIBRARY_OP_INSERT_AFTER,
{LIBOVERRIDE_OP_INSERT_AFTER,
"INSERT_AFTER",
0,
"Insert After",
"Insert a new item into collection after the one referenced in subitem_reference_name or "
"_index"},
{IDOVERRIDE_LIBRARY_OP_INSERT_BEFORE,
{LIBOVERRIDE_OP_INSERT_BEFORE,
"INSERT_BEFORE",
0,
"Insert Before",
@ -1689,12 +1689,12 @@ static void rna_def_ID_override_library_property_operation(BlenderRNA *brna)
PropertyRNA *prop;
static const EnumPropertyItem override_library_property_flag_items[] = {
{IDOVERRIDE_LIBRARY_FLAG_MANDATORY,
{LIBOVERRIDE_OP_FLAG_MANDATORY,
"MANDATORY",
0,
"Mandatory",
"For templates, prevents the user from removing predefined operation (NOT USED)"},
{IDOVERRIDE_LIBRARY_FLAG_LOCKED,
{LIBOVERRIDE_OP_FLAG_LOCKED,
"LOCKED",
0,
"Locked",
@ -1710,7 +1710,7 @@ static void rna_def_ID_override_library_property_operation(BlenderRNA *brna)
prop = RNA_def_enum(srna,
"operation",
rna_enum_override_library_property_operation_items,
IDOVERRIDE_LIBRARY_OP_REPLACE,
LIBOVERRIDE_OP_REPLACE,
"Operation",
"What override operation is performed");
RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
@ -1784,7 +1784,7 @@ static void rna_def_ID_override_library_property_operations(BlenderRNA *brna, Pr
parm = RNA_def_enum(func,
"operation",
rna_enum_override_library_property_operation_items,
IDOVERRIDE_LIBRARY_OP_REPLACE,
LIBOVERRIDE_OP_REPLACE,
"Operation",
"What override operation is performed");
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
@ -1931,7 +1931,7 @@ static void rna_def_ID_override_library(BlenderRNA *brna)
"Whether this library override is defined as part of a library "
"hierarchy, or as a single, isolated and autonomous override");
RNA_def_property_update(prop, NC_WM | ND_LIB_OVERRIDE_CHANGED, NULL);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", IDOVERRIDE_LIBRARY_FLAG_NO_HIERARCHY);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", LIBOVERRIDE_FLAG_NO_HIERARCHY);
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
prop = RNA_def_boolean(srna,
@ -1941,7 +1941,7 @@ static void rna_def_ID_override_library(BlenderRNA *brna)
"Whether this library override exists only for the override hierarchy, "
"or if it is actually editable by the user");
RNA_def_property_update(prop, NC_WM | ND_LIB_OVERRIDE_CHANGED, NULL);
RNA_def_property_boolean_sdna(prop, NULL, "flag", IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED);
RNA_def_property_boolean_sdna(prop, NULL, "flag", LIBOVERRIDE_FLAG_SYSTEM_DEFINED);
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
prop = RNA_def_collection(srna,

View File

@ -244,7 +244,7 @@ bool RNA_property_copy(
}
IDOverrideLibraryPropertyOperation opop = {
.operation = IDOVERRIDE_LIBRARY_OP_REPLACE,
.operation = LIBOVERRIDE_OP_REPLACE,
.subitem_reference_index = index,
.subitem_local_index = index,
};
@ -499,9 +499,9 @@ static bool rna_property_override_operation_store(Main *bmain,
LISTBASE_FOREACH (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
/* Only needed for diff operations. */
if (!ELEM(opop->operation,
IDOVERRIDE_LIBRARY_OP_ADD,
IDOVERRIDE_LIBRARY_OP_SUBTRACT,
IDOVERRIDE_LIBRARY_OP_MULTIPLY))
LIBOVERRIDE_OP_ADD,
LIBOVERRIDE_OP_SUBTRACT,
LIBOVERRIDE_OP_MULTIPLY))
{
continue;
}
@ -547,7 +547,7 @@ static bool rna_property_override_operation_apply(Main *bmain,
return false;
}
if (override_op == IDOVERRIDE_LIBRARY_OP_NOOP) {
if (override_op == LIBOVERRIDE_OP_NOOP) {
return true;
}
@ -775,7 +775,7 @@ bool RNA_struct_override_matches(Main *bmain,
IDOverrideLibraryProperty *op = BKE_lib_override_library_property_find(override, rna_path);
if (ignore_overridden && op != NULL) {
BKE_lib_override_library_operations_tag(op, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
BKE_lib_override_library_operations_tag(op, LIBOVERRIDE_PROP_OP_TAG_UNUSED, false);
if (rna_path != rna_path_buffer) {
MEM_freeN(rna_path);
@ -819,20 +819,20 @@ bool RNA_struct_override_matches(Main *bmain,
IDOverrideLibraryPropertyOperation *opop = op ? op->operations.first : NULL;
if (op != NULL) {
BKE_lib_override_library_operations_tag(op, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
BKE_lib_override_library_operations_tag(op, LIBOVERRIDE_PROP_OP_TAG_UNUSED, false);
}
if ((do_restore || do_tag_for_restore) &&
(report_flags & RNA_OVERRIDE_MATCH_RESULT_CREATED) == 0) {
/* We are allowed to restore to reference's values. */
if (ELEM(NULL, op, opop) || opop->operation == IDOVERRIDE_LIBRARY_OP_NOOP) {
if (ELEM(NULL, op, opop) || opop->operation == LIBOVERRIDE_OP_NOOP) {
if (RNA_property_editable(ptr_local, rawprop)) {
/* This property should be restored to its reference value. This should not be done
* here, since this code may be called from non-main thread (modifying data through RNA
* is not thread safe). */
if (do_restore) {
IDOverrideLibraryPropertyOperation opop_tmp = {
.operation = IDOVERRIDE_LIBRARY_OP_REPLACE,
.operation = LIBOVERRIDE_OP_REPLACE,
.subitem_reference_index = -1,
.subitem_local_index = -1,
};
@ -855,16 +855,16 @@ bool RNA_struct_override_matches(Main *bmain,
if (op == NULL) {
/* An override property is needed, create a temp one if necessary. */
op = BKE_lib_override_library_property_get(override, rna_path, NULL);
BKE_lib_override_library_operations_tag(op, IDOVERRIDE_LIBRARY_TAG_UNUSED, true);
BKE_lib_override_library_operations_tag(op, LIBOVERRIDE_PROP_OP_TAG_UNUSED, true);
}
IDOverrideLibraryPropertyOperation *opop_restore =
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, false, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, false, NULL, NULL);
/* Do not use `BKE_lib_override_library_operations_tag` here, as the property may be
* a valid one that has other operations that needs to remain (e.g. from a template,
* a NOOP operation to enforce no change on that property, etc.). */
op->tag |= IDOVERRIDE_LIBRARY_PROPERTY_TAG_NEEDS_RETORE;
opop_restore->tag |= IDOVERRIDE_LIBRARY_PROPERTY_TAG_NEEDS_RETORE;
op->tag |= LIBOVERRIDE_PROP_TAG_NEEDS_RETORE;
opop_restore->tag |= LIBOVERRIDE_PROP_TAG_NEEDS_RETORE;
override->runtime->tag |= LIBOVERRIDE_TAG_NEEDS_RESTORE;
if (r_report_flags) {
@ -1122,7 +1122,7 @@ static void rna_property_override_check_resync(Main *bmain,
BLI_assert(ID_IS_OVERRIDE_LIBRARY_REAL(id_owner_src));
/* If the owner ID is not part of an override hierarchy, there is no possible resync. */
if (id_owner_src->override_library->flag & IDOVERRIDE_LIBRARY_FLAG_NO_HIERARCHY) {
if (id_owner_src->override_library->flag & LIBOVERRIDE_FLAG_NO_HIERARCHY) {
return;
}
@ -1149,7 +1149,7 @@ static void rna_property_override_check_resync(Main *bmain,
* self-references updated to itself, instead of still pointing to its linked source. */
(id_dst->lib == id_src->lib && id_dst != id_owner_dst)))
{
id_owner_dst->tag |= LIB_TAG_LIB_OVERRIDE_NEED_RESYNC;
id_owner_dst->tag |= LIB_TAG_LIBOVERRIDE_NEED_RESYNC;
if (ID_IS_LINKED(id_owner_src)) {
id_owner_src->lib->tag |= LIBRARY_TAG_RESYNC_REQUIRED;
}
@ -1171,13 +1171,13 @@ static void rna_property_override_apply_ex(Main *bmain,
const bool do_insert)
{
LISTBASE_FOREACH (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (opop->operation == IDOVERRIDE_LIBRARY_OP_NOOP) {
if (opop->operation == LIBOVERRIDE_OP_NOOP) {
continue;
}
if (!do_insert != !ELEM(opop->operation,
IDOVERRIDE_LIBRARY_OP_INSERT_AFTER,
IDOVERRIDE_LIBRARY_OP_INSERT_BEFORE))
LIBOVERRIDE_OP_INSERT_AFTER,
LIBOVERRIDE_OP_INSERT_BEFORE))
{
if (!do_insert) {
CLOG_INFO(&LOG, 5, "Skipping insert override operations in first pass (%s)", op->rna_path);
@ -1244,12 +1244,12 @@ void RNA_struct_override_apply(Main *bmain,
bool do_insert = false;
for (int i = 0; i < (do_restore_only ? 1 : 2); i++, do_insert = true) {
LISTBASE_FOREACH (IDOverrideLibraryProperty *, op, &override->properties) {
if (do_restore_only && (op->tag % IDOVERRIDE_LIBRARY_PROPERTY_TAG_NEEDS_RETORE) == 0) {
if (do_restore_only && (op->tag % LIBOVERRIDE_PROP_TAG_NEEDS_RETORE) == 0) {
continue;
}
/* That tag should only exist for short lifespan when restoring values from reference linked
* data. */
BLI_assert((op->tag & IDOVERRIDE_LIBRARY_PROPERTY_TAG_NEEDS_RETORE) == 0 || do_restore_only);
BLI_assert((op->tag & LIBOVERRIDE_PROP_TAG_NEEDS_RETORE) == 0 || do_restore_only);
/* Simplified for now! */
PointerRNA data_src, data_dst;
@ -1284,11 +1284,11 @@ void RNA_struct_override_apply(Main *bmain,
/* Check if an overridden ID pointer supposed to be in sync with linked data gets out of
* sync. */
if ((flag & RNA_OVERRIDE_APPLY_FLAG_SKIP_RESYNC_CHECK) == 0 &&
(ptr_dst->owner_id->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) == 0)
(ptr_dst->owner_id->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) == 0)
{
if (op->rna_prop_type == PROP_POINTER &&
(((IDOverrideLibraryPropertyOperation *)op->operations.first)->flag &
IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) != 0)
LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE) != 0)
{
BLI_assert(RNA_struct_is_ID(RNA_property_pointer_type(&data_src, prop_src)));
BLI_assert(ptr_src->owner_id ==
@ -1309,7 +1309,7 @@ void RNA_struct_override_apply(Main *bmain,
rna_property_override_property_real_id_owner(bmain, &data_dst, NULL, NULL));
LISTBASE_FOREACH (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if ((opop->flag & IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) == 0) {
if ((opop->flag & LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE) == 0) {
continue;
}
@ -1343,7 +1343,7 @@ void RNA_struct_override_apply(Main *bmain,
if ((flag & RNA_OVERRIDE_APPLY_FLAG_IGNORE_ID_POINTERS) != 0 &&
op->rna_prop_type == PROP_POINTER &&
(((IDOverrideLibraryPropertyOperation *)op->operations.first)->flag &
IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) == 0)
LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE) == 0)
{
BLI_assert(ptr_src->owner_id ==
rna_property_override_property_real_id_owner(bmain, &data_src, NULL, NULL));
@ -1501,10 +1501,10 @@ eRNAOverrideStatus RNA_property_override_library_status(Main *bmain,
bmain, ptr, prop, index, false, NULL);
if (opop != NULL) {
override_status |= RNA_OVERRIDE_STATUS_OVERRIDDEN;
if (opop->flag & IDOVERRIDE_LIBRARY_FLAG_MANDATORY) {
if (opop->flag & LIBOVERRIDE_OP_FLAG_MANDATORY) {
override_status |= RNA_OVERRIDE_STATUS_MANDATORY;
}
if (opop->flag & IDOVERRIDE_LIBRARY_FLAG_LOCKED) {
if (opop->flag & LIBOVERRIDE_OP_FLAG_LOCKED) {
override_status |= RNA_OVERRIDE_STATUS_LOCKED;
}
}

View File

@ -718,7 +718,7 @@ bool rna_AnimaData_override_apply(Main *bmain,
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_REPLACE &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_REPLACE &&
"Unsupported RNA override operation on animdata pointer");
UNUSED_VARS_NDEBUG(ptr_storage, len_dst, len_src, len_storage, opop);
@ -757,7 +757,7 @@ bool rna_NLA_tracks_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_INSERT_AFTER &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_INSERT_AFTER &&
"Unsupported RNA override operation on constraints collection");
AnimData *anim_data_dst = (AnimData *)ptr_dst->data;

View File

@ -160,7 +160,7 @@ static bool rna_Camera_background_images_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert_msg(opop->operation == IDOVERRIDE_LIBRARY_OP_INSERT_AFTER,
BLI_assert_msg(opop->operation == LIBOVERRIDE_OP_INSERT_AFTER,
"Unsupported RNA override operation on background images collection");
Camera *cam_dst = (Camera *)ptr_dst->owner_id;

View File

@ -175,7 +175,7 @@ static bool rna_Collection_objects_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_REPLACE &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_REPLACE &&
"Unsupported RNA override operation on collections' objects");
UNUSED_VARS_NDEBUG(opop);
@ -309,7 +309,7 @@ static bool rna_Collection_children_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_REPLACE &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_REPLACE &&
"Unsupported RNA override operation on collections' children");
UNUSED_VARS_NDEBUG(opop);

View File

@ -2654,7 +2654,7 @@ static bool rna_Mesh_materials_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert_msg(opop->operation == IDOVERRIDE_LIBRARY_OP_REPLACE,
BLI_assert_msg(opop->operation == LIBOVERRIDE_OP_REPLACE,
"Unsupported RNA override operation on collections' objects");
UNUSED_VARS_NDEBUG(opop);

View File

@ -920,7 +920,7 @@ static bool rna_HookModifier_object_override_apply(Main *bmain,
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_REPLACE &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_REPLACE &&
"Unsupported RNA override operation on Hook modifier target object pointer");
UNUSED_VARS_NDEBUG(ptr_storage, len_dst, len_src, len_storage, opop);

View File

@ -653,7 +653,7 @@ static bool rna_Object_parent_override_apply(Main *bmain,
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_REPLACE &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_REPLACE &&
"Unsupported RNA override operation on object parent pointer");
UNUSED_VARS_NDEBUG(ptr_storage, len_dst, len_src, len_storage, opop);
@ -1683,7 +1683,7 @@ bool rna_Object_constraints_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_INSERT_AFTER &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_INSERT_AFTER &&
"Unsupported RNA override operation on constraints collection");
Object *ob_dst = (Object *)ptr_dst->owner_id;
@ -1811,7 +1811,7 @@ bool rna_Object_modifiers_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_INSERT_AFTER &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_INSERT_AFTER &&
"Unsupported RNA override operation on modifiers collection");
Object *ob_dst = (Object *)ptr_dst->owner_id;
@ -1927,7 +1927,7 @@ bool rna_Object_greasepencil_modifiers_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_INSERT_AFTER &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_INSERT_AFTER &&
"Unsupported RNA override operation on modifiers collection");
Object *ob_dst = (Object *)ptr_dst->owner_id;

View File

@ -257,7 +257,7 @@ bool rna_Cache_use_disk_cache_override_apply(Main *UNUSED(bmain),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(RNA_property_type(prop_dst) == PROP_BOOLEAN);
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_REPLACE);
BLI_assert(opop->operation == LIBOVERRIDE_OP_REPLACE);
UNUSED_VARS_NDEBUG(opop);
RNA_property_boolean_set(ptr_dst, prop_dst, RNA_property_boolean_get(ptr_src, prop_src));

View File

@ -659,7 +659,7 @@ bool rna_PoseChannel_constraints_override_apply(Main *bmain,
PointerRNA *UNUSED(ptr_item_storage),
IDOverrideLibraryPropertyOperation *opop)
{
BLI_assert(opop->operation == IDOVERRIDE_LIBRARY_OP_INSERT_AFTER &&
BLI_assert(opop->operation == LIBOVERRIDE_OP_INSERT_AFTER &&
"Unsupported RNA override operation on constraints collection");
bPoseChannel *pchan_dst = (bPoseChannel *)ptr_dst->data;

View File

@ -1424,7 +1424,7 @@ static int rna_property_override_diff_propptr(Main *bmain,
rna_itemindex_a != -1 || rna_itemindex_b != -1)
{
opop = BKE_lib_override_library_property_operation_get(op,
IDOVERRIDE_LIBRARY_OP_REPLACE,
LIBOVERRIDE_OP_REPLACE,
rna_itemname_b,
rna_itemname_a,
rna_itemindex_b,
@ -1434,14 +1434,14 @@ static int rna_property_override_diff_propptr(Main *bmain,
&created);
/* Do not use BKE_lib_override_library_operations_tag here, we do not want to validate
* as used all of its operations. */
op->tag &= ~IDOVERRIDE_LIBRARY_TAG_UNUSED;
opop->tag &= ~IDOVERRIDE_LIBRARY_TAG_UNUSED;
op->tag &= ~LIBOVERRIDE_PROP_OP_TAG_UNUSED;
opop->tag &= ~LIBOVERRIDE_PROP_OP_TAG_UNUSED;
if (r_report_flag && created) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
}
else {
BKE_lib_override_library_operations_tag(op, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
BKE_lib_override_library_operations_tag(op, LIBOVERRIDE_PROP_OP_TAG_UNUSED, false);
}
if (is_id && no_ownership) {
@ -1463,10 +1463,10 @@ static int rna_property_override_diff_propptr(Main *bmain,
if (ELEM(NULL, id_a, id_b)) {
/* In case one of the pointer is NULL and not the other, we consider that the
* override is not matching its reference anymore. */
opop->flag &= ~IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE;
opop->flag &= ~LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE;
}
else if ((owner_id_a->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) != 0 ||
(owner_id_b->tag & LIB_TAG_LIB_OVERRIDE_NEED_RESYNC) != 0)
else if ((owner_id_a->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) != 0 ||
(owner_id_b->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) != 0)
{
/* In case one of the owner of the checked property is tagged as needing resync, do
* not change the 'match reference' status of its ID pointer properties overrides,
@ -1478,13 +1478,13 @@ static int rna_property_override_diff_propptr(Main *bmain,
id_a->name);
}
else if (id_a->override_library != NULL && id_a->override_library->reference == id_b) {
opop->flag |= IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE;
opop->flag |= LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE;
}
else if (id_b->override_library != NULL && id_b->override_library->reference == id_a) {
opop->flag |= IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE;
opop->flag |= LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE;
}
else {
opop->flag &= ~IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE;
opop->flag &= ~LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE;
}
}
}
@ -1664,7 +1664,7 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL && created) {
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
if (*r_report_flag) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
@ -1693,7 +1693,7 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL && created) { /* If not yet overridden... */
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
if (r_report_flag) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
@ -1725,7 +1725,7 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL && created) {
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
if (r_report_flag && created) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
@ -1754,7 +1754,7 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL && created) { /* If not yet overridden... */
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
if (r_report_flag) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
@ -1786,7 +1786,7 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL && created) {
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
if (r_report_flag) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
@ -1815,7 +1815,7 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL && created) { /* If not yet overridden... */
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
if (r_report_flag) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
@ -1836,7 +1836,7 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL && created) { /* If not yet overridden... */
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
if (r_report_flag) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
@ -1868,7 +1868,7 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL && created) { /* If not yet overridden... */
BKE_lib_override_library_property_operation_get(
op, IDOVERRIDE_LIBRARY_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
op, LIBOVERRIDE_OP_REPLACE, NULL, NULL, -1, -1, true, NULL, NULL);
if (r_report_flag) {
*r_report_flag |= RNA_OVERRIDE_MATCH_RESULT_CREATED;
}
@ -1946,8 +1946,8 @@ int rna_property_override_diff_default(Main *bmain,
if (op != NULL) {
LISTBASE_FOREACH_MUTABLE (IDOverrideLibraryPropertyOperation *, opop, &op->operations) {
if (ELEM(opop->operation,
IDOVERRIDE_LIBRARY_OP_INSERT_AFTER,
IDOVERRIDE_LIBRARY_OP_INSERT_BEFORE)) {
LIBOVERRIDE_OP_INSERT_AFTER,
LIBOVERRIDE_OP_INSERT_BEFORE)) {
BKE_lib_override_library_property_operation_delete(op, opop);
}
}
@ -2043,7 +2043,7 @@ int rna_property_override_diff_default(Main *bmain,
op = BKE_lib_override_library_property_get(override, rna_path, &created);
BKE_lib_override_library_property_operation_get(op,
IDOVERRIDE_LIBRARY_OP_INSERT_AFTER,
LIBOVERRIDE_OP_INSERT_AFTER,
no_prop_name ? NULL : prev_propname_a,
no_prop_name ? NULL : propname_a,
idx_a - 1,
@ -2176,9 +2176,9 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
const int index = is_array ? opop->subitem_reference_index : 0;
if (!ELEM(opop->operation,
IDOVERRIDE_LIBRARY_OP_ADD,
IDOVERRIDE_LIBRARY_OP_SUBTRACT,
IDOVERRIDE_LIBRARY_OP_MULTIPLY))
LIBOVERRIDE_OP_ADD,
LIBOVERRIDE_OP_SUBTRACT,
LIBOVERRIDE_OP_MULTIPLY))
{
return changed;
}
@ -2209,12 +2209,12 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
RNA_property_int_get_array(ptr_reference, prop_reference, array_a);
switch (opop->operation) {
case IDOVERRIDE_LIBRARY_OP_ADD:
case IDOVERRIDE_LIBRARY_OP_SUBTRACT: {
const int fac = opop->operation == IDOVERRIDE_LIBRARY_OP_ADD ? 1 : -1;
const int other_op = opop->operation == IDOVERRIDE_LIBRARY_OP_ADD ?
IDOVERRIDE_LIBRARY_OP_SUBTRACT :
IDOVERRIDE_LIBRARY_OP_ADD;
case LIBOVERRIDE_OP_ADD:
case LIBOVERRIDE_OP_SUBTRACT: {
const int fac = opop->operation == LIBOVERRIDE_OP_ADD ? 1 : -1;
const int other_op = opop->operation == LIBOVERRIDE_OP_ADD ?
LIBOVERRIDE_OP_SUBTRACT :
LIBOVERRIDE_OP_ADD;
bool do_set = true;
array_b = (len_local > RNA_STACK_ARRAY) ?
MEM_mallocN(sizeof(*array_b) * len_local, __func__) :
@ -2229,7 +2229,7 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
if (array_b[j] < prop_min || array_b[j] > prop_max) {
/* We failed to find a suitable diff op,
* fall back to plain REPLACE one. */
opop->operation = IDOVERRIDE_LIBRARY_OP_REPLACE;
opop->operation = LIBOVERRIDE_OP_REPLACE;
do_set = false;
break;
}
@ -2259,18 +2259,18 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
const int value = RNA_PROPERTY_GET_SINGLE(int, ptr_reference, prop_reference, index);
switch (opop->operation) {
case IDOVERRIDE_LIBRARY_OP_ADD:
case IDOVERRIDE_LIBRARY_OP_SUBTRACT: {
const int fac = opop->operation == IDOVERRIDE_LIBRARY_OP_ADD ? 1 : -1;
const int other_op = opop->operation == IDOVERRIDE_LIBRARY_OP_ADD ?
IDOVERRIDE_LIBRARY_OP_SUBTRACT :
IDOVERRIDE_LIBRARY_OP_ADD;
case LIBOVERRIDE_OP_ADD:
case LIBOVERRIDE_OP_SUBTRACT: {
const int fac = opop->operation == LIBOVERRIDE_OP_ADD ? 1 : -1;
const int other_op = opop->operation == LIBOVERRIDE_OP_ADD ?
LIBOVERRIDE_OP_SUBTRACT :
LIBOVERRIDE_OP_ADD;
int b = fac * (RNA_PROPERTY_GET_SINGLE(int, ptr_local, prop_local, index) - value);
if (b < prop_min || b > prop_max) {
opop->operation = other_op;
b = -b;
if (b < prop_min || b > prop_max) {
opop->operation = IDOVERRIDE_LIBRARY_OP_REPLACE;
opop->operation = LIBOVERRIDE_OP_REPLACE;
break;
}
}
@ -2299,12 +2299,12 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
RNA_property_float_get_array(ptr_reference, prop_reference, array_a);
switch (opop->operation) {
case IDOVERRIDE_LIBRARY_OP_ADD:
case IDOVERRIDE_LIBRARY_OP_SUBTRACT: {
const float fac = opop->operation == IDOVERRIDE_LIBRARY_OP_ADD ? 1.0 : -1.0;
const int other_op = opop->operation == IDOVERRIDE_LIBRARY_OP_ADD ?
IDOVERRIDE_LIBRARY_OP_SUBTRACT :
IDOVERRIDE_LIBRARY_OP_ADD;
case LIBOVERRIDE_OP_ADD:
case LIBOVERRIDE_OP_SUBTRACT: {
const float fac = opop->operation == LIBOVERRIDE_OP_ADD ? 1.0 : -1.0;
const int other_op = opop->operation == LIBOVERRIDE_OP_ADD ?
LIBOVERRIDE_OP_SUBTRACT :
LIBOVERRIDE_OP_ADD;
bool do_set = true;
array_b = (len_local > RNA_STACK_ARRAY) ?
MEM_mallocN(sizeof(*array_b) * len_local, __func__) :
@ -2319,7 +2319,7 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
if (array_b[j] < prop_min || array_b[j] > prop_max) {
/* We failed to find a suitable diff op,
* fall back to plain REPLACE one. */
opop->operation = IDOVERRIDE_LIBRARY_OP_REPLACE;
opop->operation = LIBOVERRIDE_OP_REPLACE;
do_set = false;
break;
}
@ -2336,7 +2336,7 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
}
break;
}
case IDOVERRIDE_LIBRARY_OP_MULTIPLY: {
case LIBOVERRIDE_OP_MULTIPLY: {
bool do_set = true;
array_b = (len_local > RNA_STACK_ARRAY) ?
MEM_mallocN(sizeof(*array_b) * len_local, __func__) :
@ -2345,7 +2345,7 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
for (int i = len_local; i--;) {
array_b[i] = array_a[i] == 0.0f ? array_b[i] : array_b[i] / array_a[i];
if (array_b[i] < prop_min || array_b[i] > prop_max) {
opop->operation = IDOVERRIDE_LIBRARY_OP_REPLACE;
opop->operation = LIBOVERRIDE_OP_REPLACE;
do_set = false;
break;
}
@ -2372,18 +2372,18 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
const float value = RNA_PROPERTY_GET_SINGLE(float, ptr_reference, prop_reference, index);
switch (opop->operation) {
case IDOVERRIDE_LIBRARY_OP_ADD:
case IDOVERRIDE_LIBRARY_OP_SUBTRACT: {
const float fac = opop->operation == IDOVERRIDE_LIBRARY_OP_ADD ? 1.0f : -1.0f;
const int other_op = opop->operation == IDOVERRIDE_LIBRARY_OP_ADD ?
IDOVERRIDE_LIBRARY_OP_SUBTRACT :
IDOVERRIDE_LIBRARY_OP_ADD;
case LIBOVERRIDE_OP_ADD:
case LIBOVERRIDE_OP_SUBTRACT: {
const float fac = opop->operation == LIBOVERRIDE_OP_ADD ? 1.0f : -1.0f;
const int other_op = opop->operation == LIBOVERRIDE_OP_ADD ?
LIBOVERRIDE_OP_SUBTRACT :
LIBOVERRIDE_OP_ADD;
float b = fac * (RNA_PROPERTY_GET_SINGLE(float, ptr_local, prop_local, index) - value);
if (b < prop_min || b > prop_max) {
opop->operation = other_op;
b = -b;
if (b < prop_min || b > prop_max) {
opop->operation = IDOVERRIDE_LIBRARY_OP_REPLACE;
opop->operation = LIBOVERRIDE_OP_REPLACE;
break;
}
}
@ -2391,11 +2391,11 @@ bool rna_property_override_store_default(Main *UNUSED(bmain),
RNA_PROPERTY_SET_SINGLE(float, ptr_storage, prop_storage, index, b);
break;
}
case IDOVERRIDE_LIBRARY_OP_MULTIPLY: {
case LIBOVERRIDE_OP_MULTIPLY: {
const float b = RNA_property_float_get_index(ptr_local, prop_local, index) /
(value == 0.0f ? 1.0f : value);
if (b < prop_min || b > prop_max) {
opop->operation = IDOVERRIDE_LIBRARY_OP_REPLACE;
opop->operation = LIBOVERRIDE_OP_REPLACE;
break;
}
changed = true;
@ -2466,7 +2466,7 @@ bool rna_property_override_apply_default(Main *bmain,
RNA_property_boolean_get_array(ptr_src, prop_src, array_a);
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_property_boolean_set_array(ptr_dst, prop_dst, array_a);
break;
default:
@ -2482,7 +2482,7 @@ bool rna_property_override_apply_default(Main *bmain,
const bool value = RNA_PROPERTY_GET_SINGLE(boolean, ptr_src, prop_src, index);
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_PROPERTY_SET_SINGLE(boolean, ptr_dst, prop_dst, index, value);
break;
default:
@ -2500,18 +2500,18 @@ bool rna_property_override_apply_default(Main *bmain,
array_stack_a;
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_property_int_get_array(ptr_src, prop_src, array_a);
RNA_property_int_set_array(ptr_dst, prop_dst, array_a);
break;
case IDOVERRIDE_LIBRARY_OP_ADD:
case IDOVERRIDE_LIBRARY_OP_SUBTRACT:
case LIBOVERRIDE_OP_ADD:
case LIBOVERRIDE_OP_SUBTRACT:
RNA_property_int_get_array(ptr_dst, prop_dst, array_a);
array_b = (len_dst > RNA_STACK_ARRAY) ?
MEM_mallocN(sizeof(*array_b) * len_dst, __func__) :
array_stack_b;
RNA_property_int_get_array(ptr_storage, prop_storage, array_b);
if (override_op == IDOVERRIDE_LIBRARY_OP_ADD) {
if (override_op == LIBOVERRIDE_OP_ADD) {
for (int i = len_dst; i--;) {
array_a[i] += array_b[i];
}
@ -2541,14 +2541,14 @@ bool rna_property_override_apply_default(Main *bmain,
0;
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_PROPERTY_SET_SINGLE(int,
ptr_dst,
prop_dst,
index,
RNA_PROPERTY_GET_SINGLE(int, ptr_src, prop_src, index));
break;
case IDOVERRIDE_LIBRARY_OP_ADD:
case LIBOVERRIDE_OP_ADD:
RNA_PROPERTY_SET_SINGLE(int,
ptr_dst,
prop_dst,
@ -2556,7 +2556,7 @@ bool rna_property_override_apply_default(Main *bmain,
RNA_PROPERTY_GET_SINGLE(int, ptr_dst, prop_dst, index) -
storage_value);
break;
case IDOVERRIDE_LIBRARY_OP_SUBTRACT:
case LIBOVERRIDE_OP_SUBTRACT:
RNA_PROPERTY_SET_SINGLE(int,
ptr_dst,
prop_dst,
@ -2579,24 +2579,24 @@ bool rna_property_override_apply_default(Main *bmain,
array_stack_a;
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_property_float_get_array(ptr_src, prop_src, array_a);
RNA_property_float_set_array(ptr_dst, prop_dst, array_a);
break;
case IDOVERRIDE_LIBRARY_OP_ADD:
case IDOVERRIDE_LIBRARY_OP_SUBTRACT:
case IDOVERRIDE_LIBRARY_OP_MULTIPLY:
case LIBOVERRIDE_OP_ADD:
case LIBOVERRIDE_OP_SUBTRACT:
case LIBOVERRIDE_OP_MULTIPLY:
RNA_property_float_get_array(ptr_dst, prop_dst, array_a);
array_b = (len_dst > RNA_STACK_ARRAY) ?
MEM_mallocN(sizeof(*array_b) * len_dst, __func__) :
array_stack_b;
RNA_property_float_get_array(ptr_storage, prop_storage, array_b);
if (override_op == IDOVERRIDE_LIBRARY_OP_ADD) {
if (override_op == LIBOVERRIDE_OP_ADD) {
for (int i = len_dst; i--;) {
array_a[i] += array_b[i];
}
}
else if (override_op == IDOVERRIDE_LIBRARY_OP_SUBTRACT) {
else if (override_op == LIBOVERRIDE_OP_SUBTRACT) {
for (int i = len_dst; i--;) {
array_a[i] -= array_b[i];
}
@ -2626,14 +2626,14 @@ bool rna_property_override_apply_default(Main *bmain,
0.0f;
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_PROPERTY_SET_SINGLE(float,
ptr_dst,
prop_dst,
index,
RNA_PROPERTY_GET_SINGLE(float, ptr_src, prop_src, index));
break;
case IDOVERRIDE_LIBRARY_OP_ADD:
case LIBOVERRIDE_OP_ADD:
RNA_PROPERTY_SET_SINGLE(float,
ptr_dst,
prop_dst,
@ -2641,7 +2641,7 @@ bool rna_property_override_apply_default(Main *bmain,
RNA_PROPERTY_GET_SINGLE(float, ptr_dst, prop_dst, index) +
storage_value);
break;
case IDOVERRIDE_LIBRARY_OP_SUBTRACT:
case LIBOVERRIDE_OP_SUBTRACT:
RNA_PROPERTY_SET_SINGLE(float,
ptr_dst,
prop_dst,
@ -2649,7 +2649,7 @@ bool rna_property_override_apply_default(Main *bmain,
RNA_PROPERTY_GET_SINGLE(float, ptr_dst, prop_dst, index) -
storage_value);
break;
case IDOVERRIDE_LIBRARY_OP_MULTIPLY:
case LIBOVERRIDE_OP_MULTIPLY:
RNA_PROPERTY_SET_SINGLE(float,
ptr_dst,
prop_dst,
@ -2667,7 +2667,7 @@ bool rna_property_override_apply_default(Main *bmain,
const int value = RNA_property_enum_get(ptr_src, prop_src);
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_property_enum_set(ptr_dst, prop_dst, value);
break;
/* TODO: support add/sub, for bitflags? */
@ -2681,7 +2681,7 @@ bool rna_property_override_apply_default(Main *bmain,
PointerRNA value = RNA_property_pointer_get(ptr_src, prop_src);
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_property_pointer_set(ptr_dst, prop_dst, value, NULL);
break;
default:
@ -2695,7 +2695,7 @@ bool rna_property_override_apply_default(Main *bmain,
char *value = RNA_property_string_get_alloc(ptr_src, prop_src, buff, sizeof(buff), NULL);
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_REPLACE:
case LIBOVERRIDE_OP_REPLACE:
RNA_property_string_set(ptr_dst, prop_dst, value);
break;
default:
@ -2720,7 +2720,7 @@ bool rna_property_override_apply_default(Main *bmain,
}
switch (override_op) {
case IDOVERRIDE_LIBRARY_OP_INSERT_AFTER: {
case LIBOVERRIDE_OP_INSERT_AFTER: {
PointerRNA item_ptr_src, item_ptr_ref, item_ptr_dst;
int item_index_dst;
bool is_valid = false;