[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