Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2017-06-22 11:32:50 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-06-22 11:48:41 +0300
commit7773a8ad0482a3069f82b3321b3c492b1f2e5059 (patch)
tree67ed46aff28589fec25cd5ef8dc2b6bca44a472b /source/blender
parentf1824507e2b73859ede1c2e850d05795f10da6bb (diff)
Indicate to users when manual conversion of Eevee materials is needed
We now shows a report error when user opens a file that need fixing. It's fine(ish) to not do doversion. It's not fine to not communicate that.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenloader/intern/versioning_280.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 9379c605fe8..664f1e07f71 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -50,6 +50,7 @@
#include "BKE_main.h"
#include "BKE_mesh.h"
#include "BKE_node.h"
+#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_workspace.h"
@@ -425,19 +426,26 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
/* 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;
}
if (node->type == SH_NODE_EEVEE_SPECULAR && STREQ(node->idname, "ShaderNodeOutputSpecular")) {
BLI_strncpy(node->idname, "ShaderNodeEeveeSpecular", sizeof(node->idname));
+ error = true;
}
}
}
} 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");
+ }
}
}
}