[Bf-blender-cvs] [49d05687be7] master: LibOverride: Add most of Object properties as overridable.

Bastien Montagne noreply at git.blender.org
Tue Jun 30 16:06:37 CEST 2020


Commit: 49d05687be75598e4512d0aea4eedc58bf9c6f0f
Author: Bastien Montagne
Date:   Tue Jun 30 16:06:08 2020 +0200
Branches: master
https://developer.blender.org/rB49d05687be75598e4512d0aea4eedc58bf9c6f0f

LibOverride: Add most of Object properties as overridable.

===================================================================

M	source/blender/makesrna/intern/rna_object.c

===================================================================

diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 22a1c9dcdf6..089410ffd25 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -2141,6 +2141,8 @@ static void rna_def_material_slot(BlenderRNA *brna)
   RNA_def_struct_ui_text(srna, "Material Slot", "Material slot in an object");
   RNA_def_struct_ui_icon(srna, ICON_MATERIAL_DATA);
 
+  RNA_define_lib_overridable(true);
+
   /* WARNING! Order is crucial for override to work properly here... :/
    * 'link' must come before material pointer,
    * since it defines where (in object or obdata) that one is set! */
@@ -2148,7 +2150,6 @@ static void rna_def_material_slot(BlenderRNA *brna)
   RNA_def_property_enum_items(prop, link_items);
   RNA_def_property_enum_funcs(
       prop, "rna_MaterialSlot_link_get", "rna_MaterialSlot_link_set", NULL);
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(prop, "Link", "Link material to object or the object's data");
   RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_MaterialSlot_update");
 
@@ -2156,7 +2157,6 @@ static void rna_def_material_slot(BlenderRNA *brna)
   RNA_def_property_struct_type(prop, "Material");
   RNA_def_property_flag(prop, PROP_EDITABLE);
   RNA_def_property_editable_func(prop, "rna_MaterialSlot_material_editable");
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_pointer_funcs(prop,
                                  "rna_MaterialSlot_material_get",
                                  "rna_MaterialSlot_material_set",
@@ -2170,8 +2170,12 @@ static void rna_def_material_slot(BlenderRNA *brna)
       prop, "rna_MaterialSlot_name_get", "rna_MaterialSlot_name_length", NULL);
   RNA_def_property_ui_text(prop, "Name", "Material slot name");
   RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+  RNA_def_property_override_flag(prop, PROPOVERRIDE_IGNORE);
+  RNA_def_property_override_clear_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_struct_name_property(srna, prop);
 
+  RNA_define_lib_overridable(false);
+
   RNA_def_struct_path_func(srna, "rna_MaterialSlot_path");
 }
 
@@ -2543,11 +2547,15 @@ static void rna_def_object_display(BlenderRNA *brna)
   RNA_def_struct_nested(brna, srna, "Object");
   RNA_def_struct_path_func(srna, "rna_ObjectDisplay_path");
 
+  RNA_define_lib_overridable(true);
+
   prop = RNA_def_property(srna, "show_shadows", PROP_BOOLEAN, PROP_NONE);
   RNA_def_property_boolean_negative_sdna(prop, NULL, "dtx", OB_DRAW_NO_SHADOW_CAST);
   RNA_def_property_boolean_default(prop, true);
   RNA_def_property_ui_text(prop, "Shadow", "Object cast shadows in the 3d viewport");
   RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, NULL);
+
+  RNA_define_lib_overridable(false);
 }
 
 static void rna_def_object(BlenderRNA *brna)
@@ -2594,12 +2602,13 @@ static void rna_def_object(BlenderRNA *brna)
   RNA_def_struct_clear_flag(srna, STRUCT_ID_REFCOUNT);
   RNA_def_struct_ui_icon(srna, ICON_OBJECT_DATA);
 
+  RNA_define_lib_overridable(true);
+
   prop = RNA_def_property(srna, "data", PROP_POINTER, PROP_NONE);
   RNA_def_property_struct_type(prop, "ID");
   RNA_def_property_pointer_funcs(
       prop, NULL, "rna_Object_data_set", "rna_Object_data_typef", "rna_Object_data_poll");
   RNA_def_property_flag(prop, PROP_EDITABLE | PROP_NEVER_UNLINK);
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(prop, "Data", "Object data");
   RNA_def_property_update(prop, 0, "rna_Object_internal_update_data_dependency");
 
@@ -2607,6 +2616,7 @@ static void rna_def_object(BlenderRNA *brna)
   RNA_def_property_enum_sdna(prop, NULL, "type");
   RNA_def_property_enum_items(prop, rna_enum_object_type_items);
   RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+  RNA_def_property_override_clear_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(prop, "Type", "Type of Object");
   RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_ID);
 
@@ -2620,6 +2630,7 @@ static void rna_def_object(BlenderRNA *brna)
   prop = RNA_def_property(srna, "bound_box", PROP_FLOAT, PROP_NONE);
   RNA_def_property_multi_array(prop, 2, boundbox_dimsize);
   RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+  RNA_def_property_override_clear_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_float_funcs(prop, "rna_Object_boundbox_get", NULL, NULL);
   RNA_def_property_ui_text(
       prop,
@@ -2631,7 +2642,6 @@ static void rna_def_object(BlenderRNA *brna)
   prop = RNA_def_property(srna, "parent", PROP_POINTER, PROP_NONE);
   RNA_def_property_pointer_funcs(prop, NULL, "rna_Object_parent_set", NULL, NULL);
   RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK);
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_override_funcs(prop, NULL, NULL, "rna_Object_parent_override_apply");
   RNA_def_property_ui_text(prop, "Parent", "Parent Object");
   RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Object_dependency_update");
@@ -2684,11 +2694,13 @@ static void rna_def_object(BlenderRNA *brna)
   /* proxy */
   prop = RNA_def_property(srna, "proxy", PROP_POINTER, PROP_NONE);
   RNA_def_property_override_flag(prop, PROPOVERRIDE_NO_COMPARISON);
+  RNA_def_property_override_clear_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(prop, "Proxy", "Library object this proxy object controls");
 
   prop = RNA_def_property(srna, "proxy_collection", PROP_POINTER, PROP_NONE);
   RNA_def_property_pointer_sdna(prop, NULL, "proxy_group");
   RNA_def_property_override_flag(prop, PROPOVERRIDE_NO_COMPARISON);
+  RNA_def_property_override_clear_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(
       prop, "Proxy Collection", "Library collection duplicator object this proxy object controls");
 
@@ -2696,8 +2708,7 @@ static void rna_def_object(BlenderRNA *brna)
   prop = RNA_def_property(srna, "material_slots", PROP_COLLECTION, PROP_NONE);
   RNA_def_property_collection_sdna(prop, NULL, "mat", "totcol");
   RNA_def_property_struct_type(prop, "MaterialSlot");
-  RNA_def_property_override_flag(prop,
-                                 PROPOVERRIDE_OVERRIDABLE_LIBRARY | PROPOVERRIDE_NO_PROP_NAME);
+  RNA_def_property_override_flag(prop, PROPOVERRIDE_NO_PROP_NAME);
   /* don't dereference pointer! */
   RNA_def_property_collection_funcs(
       prop, NULL, NULL, NULL, "rna_iterator_array_get", NULL, NULL, NULL, NULL);
@@ -2711,7 +2722,6 @@ static void rna_def_object(BlenderRNA *brna)
                                  NULL,
                                  "rna_MaterialSlot_material_poll");
   RNA_def_property_flag(prop, PROP_EDITABLE);
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_editable_func(prop, "rna_Object_active_material_editable");
   RNA_def_property_ui_text(prop, "Active Material", "Active material being displayed");
   RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_MaterialSlot_update");
@@ -2719,7 +2729,6 @@ static void rna_def_object(BlenderRNA *brna)
   prop = RNA_def_property(srna, "active_material_index", PROP_INT, PROP_UNSIGNED);
   RNA_def_property_int_sdna(prop, NULL, "actcol");
   RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_int_funcs(prop,
                              "rna_Object_active_material_index_get",
                              "rna_Object_active_material_index_set",
@@ -2731,7 +2740,6 @@ static void rna_def_object(BlenderRNA *brna)
   prop = RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);
   RNA_def_property_float_sdna(prop, NULL, "loc");
   RNA_def_property_editable_array_func(prop, "rna_Object_location_editable");
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(prop, "Location", "Location of the object");
   RNA_def_property_ui_range(prop, -FLT_MAX, FLT_MAX, 1, RNA_TRANSLATION_PREC_DEFAULT);
   RNA_def_property_update(prop, NC_OBJECT | ND_TRANSFORM, "rna_Object_internal_update");
@@ -2739,7 +2747,6 @@ static void rna_def_object(BlenderRNA *brna)
   prop = RNA_def_property(srna, "rotation_quaternion", PROP_FLOAT, PROP_QUATERNION);
   RNA_def_property_float_sdna(prop, NULL, "quat");
   RNA_def_property_editable_array_func(prop, "rna_Object_rotation_4d_editable");
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(prop, "Quaternion Rotation", "Rotation in Quaternions");
   RNA_def_property_update(prop, NC_OBJECT | ND_TRANSFORM, "rna_Object_internal_update");
 
@@ -2752,7 +2759,6 @@ static void rna_def_object(BlenderRNA *brna)
       prop, "rna_Object_rotation_axis_angle_get", "rna_Object_rotation_axis_angle_set", NULL);
   RNA_def_property_editable_array_func(prop, "rna_Object_rotation_4d_editable");
   RNA_def_property_float_array_default(prop, rna_default_axis_angle);
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(
       prop, "Axis-Angle Rotation", "Angle of Rotation for Axis-Angle rotation representation");
   RNA_def_property_update(prop, NC_OBJECT | ND_TRANSFORM, "rna_Object_internal_update");
@@ -2760,7 +2766,6 @@ static void rna_def_object(BlenderRNA *brna)
   prop = RNA_def_property(srna, "rotation_euler", PROP_FLOAT, PROP_EULER);
   RNA_def_property_float_sdna(prop, NULL, "rot");
   RNA_def_property_editable_array_func(prop, "rna_Object_rotation_euler_editable");
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(prop, "Euler Rotation", "Rotation in Eulers");
   RNA_def_property_update(prop, NC_OBJECT | ND_TRANSFORM, "rna_Object_internal_update");
 
@@ -2773,7 +2778,6 @@ static void rna_def_object(BlenderRNA *brna)
 
   prop = RNA_def_property(srna, "scale", PROP_FLOAT, PROP_XYZ);
   RNA_def_property_flag(prop, PROP_PROPORTIONAL);
-  RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_editable_array_func(prop, "rna_Object

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list