[Bf-blender-cvs] [ec1e3ba904f] asset-engine: Merge branch 'blender2.8' into asset-engine

Bastien Montagne noreply at git.blender.org
Tue Jan 9 10:04:57 CET 2018


Commit: ec1e3ba904ff6e01e02afa2ada9cf3b55f29b9ae
Author: Bastien Montagne
Date:   Tue Jan 9 10:04:02 2018 +0100
Branches: asset-engine
https://developer.blender.org/rBec1e3ba904ff6e01e02afa2ada9cf3b55f29b9ae

Merge branch 'blender2.8' into asset-engine

Conflicts:
	source/blender/blenloader/intern/versioning_280.c
	source/blender/makesdna/DNA_ID.h

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



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

diff --cc source/blender/blenloader/intern/versioning_280.c
index a2b287387eb,31d3b48aee0..b7b2d0f4232
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@@ -828,32 -869,18 +869,46 @@@ void blo_do_versions_280(FileData *fd, 
  		}
  	}
  
+ 	if (!MAIN_VERSION_ATLEAST(main, 280, 3)) {
+ 		for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+ 			ViewLayer *view_layer;
+ 			for (view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
+ 				do_version_view_layer_visibility(view_layer);
+ 			}
+ 		}
+ 
+ 		for (Group *group = main->group.first; group; group = group->id.next) {
+ 			if (group->view_layer != NULL){
+ 				do_version_view_layer_visibility(group->view_layer);
+ 			}
+ 		}
+ 	}
 +
 +	{
 +		if (1 || !DNA_struct_find(fd->filesdna, "AssetUUID")) {  /* struct_find will have to wait, not working for now... */
 +			/* Move non-op filebrowsers to 'library browsing' type/mode. */
 +			for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) {
 +				for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
 +					for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
 +						if (sl->spacetype == SPACE_FILE) {
 +							SpaceFile *sfile = (SpaceFile *)sl;
 +							if (sfile->params != NULL) {
 +								sfile->params->type = FILE_LOADLIB;
 +								sfile->params->filter = FILE_TYPE_FOLDER | FILE_TYPE_BLENDERLIB;
 +								/* For now, always init filterid to 'all true' */
 +								sfile->params->filter_id = FILTER_ID_AC | FILTER_ID_AR | FILTER_ID_BR | FILTER_ID_CA |
 +								                           FILTER_ID_CU | FILTER_ID_GD | FILTER_ID_GR | FILTER_ID_IM |
 +								                           FILTER_ID_LA | FILTER_ID_LS | FILTER_ID_LT | FILTER_ID_MA |
 +								                           FILTER_ID_MB | FILTER_ID_MC | FILTER_ID_ME | FILTER_ID_MSK |
 +								                           FILTER_ID_NT | FILTER_ID_OB | FILTER_ID_PA | FILTER_ID_PAL |
 +								                           FILTER_ID_PC | FILTER_ID_SCE | FILTER_ID_SPK | FILTER_ID_SO |
 +								                           FILTER_ID_TE | FILTER_ID_TXT | FILTER_ID_VF | FILTER_ID_WO |
 +								                           FILTER_ID_CF;
 +							}
 +						}
 +					}
 +				}
 +			}
 +		}
 +	}
  }
diff --cc source/blender/editors/space_outliner/outliner_draw.c
index 273198f17d5,dd7a9f2880a..ac90b1ea2e5
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@@ -1474,25 -1454,13 +1454,30 @@@ static void outliner_draw_tree_element
  				UI_icon_draw_alpha((float)startx + offsx + 2 * ufac, (float)*starty + 2 * ufac, ICON_LIBRARY_DATA_DIRECT,
  				                   alpha_fac);
  			}
 +			if (tselem->id->uuid) {
 +				offsx += UI_UNIT_X;
 +				UI_icon_draw_alpha((float)startx + offsx - 0.5f * ufac, (float)*starty + 1.5f * ufac, ICON_SOLO_ON,
 +				                   alpha_fac);
 +				if (tselem->id->uuid->tag & UUID_TAG_ENGINE_MISSING) {
 +					UI_icon_draw_alpha((float)startx + offsx, (float)*starty + 2 * ufac, ICON_GHOST_ENABLED, alpha_fac);
 +				}
 +				else if (tselem->id->uuid->tag & UUID_TAG_ASSET_MISSING) {
 +					/* Nothing special (underlying icon is already 'broken' one)... */
 +				}
 +				else if (tselem->id->uuid->tag & UUID_TAG_ASSET_RELOAD) {
 +					UI_icon_draw_alpha((float)startx + offsx, (float)*starty + 2 * ufac, ICON_FILE_REFRESH, alpha_fac);
 +				}
 +				else {
 +					/* Nothing special (underlying icon is already 'OK' one)... */
 +				}
 +			}
  			offsx += UI_UNIT_X + 2 * ufac;
  		}
+ 		else if (tselem->type == 0 && ID_IS_STATIC_OVERRIDE(tselem->id)) {
+ 			UI_icon_draw_alpha((float)startx + offsx + 2 * ufac, (float)*starty + 2 * ufac, ICON_LIBRARY_DATA_OVERRIDE,
+ 			                   alpha_fac);
+ 			offsx += UI_UNIT_X + 2 * ufac;
+ 		}
  		glDisable(GL_BLEND);
  		
  		/* name */
diff --cc source/blender/makesdna/DNA_ID.h
index 5f5f3a6abdb,04929931bfd..fcfab47c32d
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@@ -464,10 -373,13 +466,16 @@@ typedef enum ID_Type 
  #define ID_MISSING(_id) (((_id)->tag & LIB_TAG_MISSING) != 0)
  
  #define ID_IS_LINKED(_id) (((ID *)(_id))->lib != NULL)
 +#define LIB_IS_VIRTUAL(_lib) (((_lib)->flag & LIBRARY_FLAG_VIRTUAL) != 0)
 +#define ID_IS_LINKED_DATABLOCK(_id) (ID_IS_LINKED(_id) && !LIB_IS_VIRTUAL(((ID *)(_id))->lib))
 +#define ID_IS_LINKED_DATAPATH(_id) (ID_IS_LINKED(_id) && LIB_IS_VIRTUAL(((ID *)(_id))->lib))
  
+ #define ID_IS_STATIC_OVERRIDE(_id) (((ID *)(_id))->override_static != NULL && \
+                                     ((ID *)(_id))->override_static->reference != NULL)
+ 
+ #define ID_IS_STATIC_OVERRIDE_TEMPLATE(_id) (((ID *)(_id))->override_static != NULL && \
+                                              ((ID *)(_id))->override_static->reference == NULL)
+ 
  #ifdef GS
  #  undef GS
  #endif



More information about the Bf-blender-cvs mailing list