diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2015-03-23 20:33:50 +0300 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2015-03-23 20:37:50 +0300 |
commit | 1b71279adccb9f8cc1f4d7cbb3cbb06871da982e (patch) | |
tree | 02cc3122c1c29df4477db2843672089ea7020294 | |
parent | b13770215c97194aba0703d9844976f6eb3a61fb (diff) |
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.
-rw-r--r-- | source/blender/blenkernel/BKE_blender.h | 2 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_270.c | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index eb6797ed4dd..98672025028 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -42,7 +42,7 @@ extern "C" { * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 274 -#define BLENDER_SUBVERSION 1 +#define BLENDER_SUBVERSION 2 /* Several breakages with 270, e.g. constraint deg vs rad */ #define BLENDER_MINVERSION 270 #define BLENDER_MINSUBVERSION 5 diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index fc9ea1a3acf..9c8db6d6a9b 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -673,4 +673,31 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } } + + if (!MAIN_VERSION_ATLEAST(main, 274, 2)) { + 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 + } } |