Fix T92636: Vector math node link disconnects when loading old file
Previously, unique identifiers for sockets were created automatically, sometimes using .001 and sometimes _001. Now they are created manually with the second format, but some files were saved with .001 format. I think this was only an issue in the vector math node. rBd845ba481c6d fixed this problem in 3.1, but in a more general way. After I merge this patch to 3.1, I will revert it, since the versioning added in that commit will make this redundant. Differential Revision: https://developer.blender.org/D13209
This commit is contained in:
parent
8d3a771574
commit
6b4ca78108
Notes:
blender-bot
2023-02-14 08:42:53 +01:00
Referenced by commit 738f4fbc5e
, Revert "Fix T92636: Vector math node link disconnects when loading old file"
Referenced by issue #92636, Procedural texture "Camo" not rendering correctly in 3.0.0 Beta
|
@ -783,7 +783,6 @@ void do_versions_after_linking_300(Main *bmain, ReportList *UNUSED(reports))
|
|||
*/
|
||||
{
|
||||
/* Keep this block, even when empty. */
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2159,6 +2158,20 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
|||
* \note Keep this message at the bottom of the function.
|
||||
*/
|
||||
{
|
||||
/* Keep this block, even when empty. */
|
||||
/* Use consistent socket identifiers for the vector math node.
|
||||
* Thecode to make unique identifiers from the names was inconsitent. */
|
||||
FOREACH_NODETREE_BEGIN (bmain, ntree, id) {
|
||||
if (ELEM(ntree->type, NTREE_SHADER, NTREE_GEOMETRY)) {
|
||||
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
|
||||
if (node->type == SH_NODE_MATH) {
|
||||
bNodeSocket *value1 = ((bNodeSocket *)node->inputs.first)->next;
|
||||
bNodeSocket *value2 = value1->next;
|
||||
strcpy(value1->identifier, "Value_001");
|
||||
strcpy(value2->identifier, "Value_002");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
FOREACH_NODETREE_END;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue