[Bf-blender-cvs] [68e861059fd] temp-dynamic-overrides: Merge remote-tracking branch 'origin/blender2.8' into temp-dynamic-overrides

Dalai Felinto noreply at git.blender.org
Wed May 16 23:23:33 CEST 2018


Commit: 68e861059fddde9ce94873934c99cde70c0bed5c
Author: Dalai Felinto
Date:   Wed May 16 23:21:45 2018 +0200
Branches: temp-dynamic-overrides
https://developer.blender.org/rB68e861059fddde9ce94873934c99cde70c0bed5c

Merge remote-tracking branch 'origin/blender2.8' into temp-dynamic-overrides

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



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

diff --cc source/blender/blenkernel/BKE_layer.h
index bb651ddb5f8,00154f3e68e..56bfdc26c80
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@@ -137,54 -130,6 +135,23 @@@ void BKE_override_view_layer_int_add(st
  
  void BKE_override_layer_collection_boolean_add(struct LayerCollection *layer_collection, int id_type, const char *data_path, const bool value);
  
- /* engine settings */
- typedef void (*EngineSettingsCB)(struct RenderEngine *engine, struct IDProperty *props);
- 
- struct IDProperty *BKE_layer_collection_engine_scene_get(struct Scene *scene, const char *engine_name);
- void BKE_layer_collection_engine_settings_callback_register(struct Main *bmain, const char *engine_name, EngineSettingsCB func);
- void BKE_layer_collection_engine_settings_callback_free(void);
- void BKE_layer_collection_engine_settings_create(struct IDProperty *root);
- void BKE_layer_collection_engine_settings_validate_scene(struct Scene *scene);
- 
- struct IDProperty *BKE_view_layer_engine_evaluated_get(struct ViewLayer *view_layer, const char *engine_name);
- struct IDProperty *BKE_view_layer_engine_scene_get(struct Scene *scene, const char *engine_name);
- void BKE_view_layer_engine_settings_callback_register(struct Main *bmain, const char *engine_name, EngineSettingsCB func);
- void BKE_view_layer_engine_settings_callback_free(void);
- void BKE_view_layer_engine_settings_validate_scene(struct Scene *scene);
- void BKE_view_layer_engine_settings_create(struct IDProperty *root);
- 
- void BKE_collection_engine_property_add_float(struct IDProperty *props, const char *name, float value);
- void BKE_collection_engine_property_add_float_array(
-         struct IDProperty *props, const char *name, const float *values, const int array_length);
- void BKE_collection_engine_property_add_int(struct IDProperty *props, const char *name, int value);
- void BKE_collection_engine_property_add_bool(struct IDProperty *props, const char *name, bool value);
- 
- int BKE_collection_engine_property_value_get_int(struct IDProperty *props, const char *name);
- float BKE_collection_engine_property_value_get_float(struct IDProperty *props, const char *name);
- const float *BKE_collection_engine_property_value_get_float_array(struct IDProperty *props, const char *name);
- bool BKE_collection_engine_property_value_get_bool(struct IDProperty *props, const char *name);
- void BKE_collection_engine_property_value_set_int(struct IDProperty *props, const char *name, int value);
- void BKE_collection_engine_property_value_set_float(struct IDProperty *props, const char *name, float value);
- void BKE_collection_engine_property_value_set_float_array(struct IDProperty *props, const char *name, const float *values);
- void BKE_collection_engine_property_value_set_bool(struct IDProperty *props, const char *name, bool value);
- 
 +/* Dynamic override. */
 +
 +struct OverrideSet *BKE_view_layer_override_set_add(struct ViewLayer *view_layer, const char *name);
 +bool BKE_view_layer_override_set_remove(struct ViewLayer *view_layer, struct OverrideSet *override_set);
 +bool BKE_view_layer_override_set_collection_link(struct OverrideSet *override_set, struct SceneCollection *collection);
 +bool BKE_view_layer_override_set_collection_unlink(struct OverrideSet *override_set, struct SceneCollection *collection);
 +
 +struct DynamicOverrideProperty *BKE_view_layer_override_property_add(
 +        struct OverrideSet *override_set,
 +        struct PointerRNA *ptr,
 +        struct PropertyRNA *prop,
 +        const int index);
 +
 +bool BKE_view_layer_override_property_remove(
 +        struct OverrideSet *override_set,
 +        struct DynamicOverrideProperty *dyn_prop);
 +
  /* evaluation */
  
  void BKE_layer_eval_view_layer(
diff --cc source/blender/blenkernel/intern/layer.c
index 8f179f5f395,da068802586..81fa66b034e
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@@ -70,12 -68,6 +70,8 @@@ static void layer_collection_free(ViewL
  static void layer_collection_objects_populate(ViewLayer *view_layer, LayerCollection *lc, ListBase *objects);
  static LayerCollection *layer_collection_add(ViewLayer *view_layer, LayerCollection *parent, SceneCollection *sc);
  static LayerCollection *find_layer_collection_by_scene_collection(LayerCollection *lc, const SceneCollection *sc);
- static IDProperty *collection_engine_settings_create(struct EngineSettingsCB_Type *ces_type, const bool populate);
- static IDProperty *collection_engine_get(IDProperty *root, const char *engine_name);
- static void collection_engine_settings_init(IDProperty *root, const bool populate);
- static void layer_engine_settings_init(IDProperty *root, const bool populate);
 +static void override_set_copy_data(struct OverrideSet *override_set_dst, struct OverrideSet *override_set_src);
 +static void override_set_free(struct OverrideSet *override_set);
  static void object_bases_iterator_next(BLI_Iterator *iter, const int flag);
  
  /* RenderLayer */
diff --cc source/blender/blenloader/intern/readfile.c
index 4d4859c29a9,9618ae432f1..1a760563f3a
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -5945,22 -5923,8 +5945,20 @@@ static void direct_link_view_layer(File
  	link_list(fd, &(view_layer->freestyle_config.modules));
  	link_list(fd, &(view_layer->freestyle_config.linesets));
  
- 	view_layer->properties_evaluated = NULL;
- 
  	BLI_listbase_clear(&view_layer->drawdata);
  	view_layer->object_bases_array = NULL;
 +
 +	link_list(fd, &(view_layer->override_sets));
 +	for (OverrideSet *override_set = view_layer->override_sets.first; override_set; override_set = override_set->next) {
 +		link_list(fd, &override_set->affected_collections);
 +		for (LinkData *link = override_set->affected_collections.first; link; link = link->next) {
 +			link->data = newdataadr(fd, link->data);
 +		}
 +		link_list(fd, &override_set->scene_properties);
 +		direct_link_dynamic_properties(fd, &override_set->scene_properties);
 +		link_list(fd, &override_set->collection_properties);
 +		direct_link_dynamic_properties(fd, &override_set->collection_properties);
 +	}
  }
  
  /**



More information about the Bf-blender-cvs mailing list