From eb9826d8d9c71989cf4232d96f0e1ea332ede6d2 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis <kalast@gmail.com> Date: Mon, 23 Mar 2015 18:33:50 +0100 Subject: [PATCH] Versioning code to correct socket naming after 340b76b42c53816ddac1b4cecdff3d8d2010a9cc Reported by formerly Old_Demon on blenderartists. Apparently this caused old files to lose their links to material sockets (noob own mistake from inexperience with node system). This should either be included in release with version checking being set to version 2.73 and subversion 10, without tweaking the BKE_blender.h file OR 340b76b42c53816ddac1b4cecdff3d8d2010a9cc should be reverted for this release. Thanks to Lukas for checking this out. Conflicts: source/blender/blenkernel/BKE_blender.h source/blender/blenloader/intern/versioning_270.c --- .../blenloader/intern/versioning_270.c | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index 735ed199e3d..cd0869f0e54 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -643,4 +643,32 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } + if (!MAIN_VERSION_ATLEAST(main, 274, 3)) { + FOREACH_NODETREE(main, ntree, id) + { + bNode *node; + bNodeSocket *sock; + + for (node = ntree->nodes.first; node; node = node->next) { + if (node->type == SH_NODE_MATERIAL) { + for (sock = node->inputs.first; sock; sock = sock->next) { + if (STREQ(sock->name, "Refl")) { + BLI_strncpy(sock->name, "DiffuseIntensity", sizeof(sock->name)); + } + } + } + else if (node->type == SH_NODE_MATERIAL_EXT) { + for (sock = node->outputs.first; sock; sock = sock->next) { + if (STREQ(sock->name, "Refl")) { + BLI_strncpy(sock->name, "DiffuseIntensity", sizeof(sock->name)); + } + else if (STREQ(sock->name, "Ray Mirror")) { + BLI_strncpy(sock->name, "Reflectivity", sizeof(sock->name)); + } + } + } + } + } + FOREACH_NODETREE_END + } } -- GitLab