[Bf-blender-cvs] [6d65c2cff60] topbar: Merge branch 'blender2.8' into topbar

Julian Eisel noreply at git.blender.org
Fri Aug 18 23:01:42 CEST 2017


Commit: 6d65c2cff603d8bb007701e77ad83c4941f39a70
Author: Julian Eisel
Date:   Fri Aug 18 21:00:39 2017 +0200
Branches: topbar
https://developer.blender.org/rB6d65c2cff603d8bb007701e77ad83c4941f39a70

Merge branch 'blender2.8' into topbar

Conflicts:
	source/blender/editors/interface/resources.c

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



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

diff --cc source/blender/blenloader/intern/versioning_280.c
index 5a6fb3408c6,810bf5a3a46..b07c83b2dd8
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@@ -487,50 -433,61 +487,81 @@@ void blo_do_versions_280(FileData *fd, 
  	}
  
  	{
- 		{
- 			/* Eevee shader nodes renamed because of the output node system.
- 			 * Note that a new output node is not being added here, because it would be overkill
- 			 * to handle this case in lib_verify_nodetree. */
- 			bool error = false;
- 			FOREACH_NODETREE(main, ntree, id) {
- 				if (ntree->type == NTREE_SHADER) {
- 					for (bNode *node = ntree->nodes.first; node; node = node->next) {
- 						if (node->type == SH_NODE_EEVEE_METALLIC && STREQ(node->idname, "ShaderNodeOutputMetallic")) {
- 							BLI_strncpy(node->idname, "ShaderNodeEeveeMetallic", sizeof(node->idname));
- 							error = true;
- 						}
+ 		typedef enum eNTreeDoVersionErrors {
+ 			NTREE_DOVERSION_NO_ERROR = 0,
+ 			NTREE_DOVERSION_NEED_OUTPUT = (1 << 0),
+ 			NTREE_DOVERSION_TRANSPARENCY_EMISSION = (1 << 1),
+ 		} eNTreeDoVersionErrors;
+ 
+ 		/* Eevee shader nodes renamed because of the output node system.
+ 		 * Note that a new output node is not being added here, because it would be overkill
+ 		 * to handle this case in lib_verify_nodetree.
+ 		 *
+ 		 * Also, metallic node is now unified into the principled node. */
+ 		eNTreeDoVersionErrors error = NTREE_DOVERSION_NO_ERROR;
+ 
+ 		FOREACH_NODETREE(main, ntree, id) {
+ 			if (ntree->type == NTREE_SHADER) {
+ 				for (bNode *node = ntree->nodes.first; node; node = node->next) {
+ 					if (node->type == 194 /* SH_NODE_EEVEE_METALLIC */ &&
+ 						STREQ(node->idname, "ShaderNodeOutputMetallic"))
+ 					{
+ 						BLI_strncpy(node->idname, "ShaderNodeEeveeMetallic", sizeof(node->idname));
+ 						error |= NTREE_DOVERSION_NEED_OUTPUT;
+ 					}
  
- 						if (node->type == SH_NODE_EEVEE_SPECULAR && STREQ(node->idname, "ShaderNodeOutputSpecular")) {
- 							BLI_strncpy(node->idname, "ShaderNodeEeveeSpecular", sizeof(node->idname));
- 							error = true;
- 						}
+ 					else if (node->type == SH_NODE_EEVEE_SPECULAR && STREQ(node->idname, "ShaderNodeOutputSpecular")) {
+ 						BLI_strncpy(node->idname, "ShaderNodeEeveeSpecular", sizeof(node->idname));
+ 						error |= NTREE_DOVERSION_NEED_OUTPUT;
+ 					}
+ 
+ 					else if (node->type == 196 /* SH_NODE_OUTPUT_EEVEE_MATERIAL */ &&
+ 							 STREQ(node->idname, "ShaderNodeOutputEeveeMaterial"))
+ 					{
+ 						node->type = SH_NODE_OUTPUT_MATERIAL;
+ 						BLI_strncpy(node->idname, "ShaderNodeOutputMaterial", sizeof(node->idname));
+ 					}
+ 
+ 					else if (node->type == 194 /* SH_NODE_EEVEE_METALLIC */ &&
+ 							 STREQ(node->idname, "ShaderNodeEeveeMetallic"))
+ 					{
+ 						node->type = SH_NODE_BSDF_PRINCIPLED;
+ 						BLI_strncpy(node->idname, "ShaderNodeBsdfPrincipled", sizeof(node->idname));
+ 						node->custom1 = SHD_GLOSSY_MULTI_GGX;
+ 						error |= NTREE_DOVERSION_TRANSPARENCY_EMISSION;
  					}
  				}
- 			} FOREACH_NODETREE_END
- 			if (error) {
- 				BKE_report(fd->reports, RPT_ERROR, "Eevee material conversion problem. Error in console");
- 				printf("You need to connect Eevee Metallic and Specular shader nodes to new material output nodes.\n");
  			}
+ 		} FOREACH_NODETREE_END
+ 
+ 		if (error & NTREE_DOVERSION_NEED_OUTPUT) {
+ 			BKE_report(fd->reports, RPT_ERROR, "Eevee material conversion problem. Error in console");
+ 			printf("You need to connect Principled and Eevee Specular shader nodes to new material output nodes.\n");
+ 		}
+ 
+ 		if (error & NTREE_DOVERSION_TRANSPARENCY_EMISSION) {
+ 			BKE_report(fd->reports, RPT_ERROR, "Eevee material conversion problem. Error in console");
+ 			printf("You need to combine transparency and emission shaders to the converted Principled shader nodes.\n");
  		}
  	}
 +
 +	if (!DNA_struct_find(fd->filesdna, "SpaceTopBar")) {
 +		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) {
 +					ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase;
 +
 +					if (sl->spacetype == SPACE_VIEW3D) {
 +						for (ARegion *region = regionbase->first; region; region = region->next) {
 +							if (region->regiontype == RGN_TYPE_TOOL_PROPS) {
 +								BKE_area_region_free(NULL, region);
 +								BLI_freelinkN(regionbase, region);
 +								break;
 +							}
 +						}
 +					}
 +				}
 +			}
 +		}
 +	}
  }
diff --cc source/blender/editors/interface/resources.c
index 29a449080cb,bf42316289f..cd90da24951
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@@ -2903,10 -2915,29 +2926,29 @@@ void init_userdef_do_versions(void
  			btheme->ttime.time_keyframe[3] = btheme->ttime.time_gp_keyframe[3] = 255;
  		}
  	}
+ 
+ 	if (!USER_VERSION_ATLEAST(278, 6)) {
+ 		/* Clear preference flags for re-use. */
+ 		U.flag &= ~(
+ 		    USER_FLAG_DEPRECATED_1 | USER_FLAG_DEPRECATED_2 | USER_FLAG_DEPRECATED_3 |
+ 		    USER_FLAG_DEPRECATED_6 | USER_FLAG_DEPRECATED_7 |
+ 		    USER_FLAG_DEPRECATED_9 | USER_FLAG_DEPRECATED_10);
+ 		U.uiflag &= ~(
+ 		    USER_UIFLAG_DEPRECATED_7);
+ 		U.transopts &= ~(
+ 		    USER_TR_DEPRECATED_2 | USER_TR_DEPRECATED_3 | USER_TR_DEPRECATED_4 |
+ 		    USER_TR_DEPRECATED_6 | USER_TR_DEPRECATED_7);
+ 		U.gameflags &= ~(
+ 		    USER_GL_RENDER_DEPRECATED_0 | USER_GL_RENDER_DEPRECATED_1 |
+ 		    USER_GL_RENDER_DEPRECATED_3 | USER_GL_RENDER_DEPRECATED_4);
+ 
+ 		U.uiflag |= USER_LOCK_CURSOR_ADJUST;
+ 	}
+ 
 -	if (!USER_VERSION_ATLEAST(280, 1)) {
 +	if (!USER_VERSION_ATLEAST(280, 2)) {
  		/* interface_widgets.c */
  		struct uiWidgetColors wcol_tab = {
 -			{255, 255, 255, 255},
 +			{60, 60, 60, 255},
  			{83, 83, 83, 255},
  			{114, 114, 114, 255},
  			{90, 90, 90, 255},



More information about the Bf-blender-cvs mailing list