[Bf-blender-cvs] [271a5772ebc] simulation-tree: write node storage to file and read back
Jacques Lucke
noreply at git.blender.org
Tue Feb 25 18:35:35 CET 2020
Commit: 271a5772ebcb01e80a44d69e1988f0be9d09f2bf
Author: Jacques Lucke
Date: Tue Feb 25 18:35:28 2020 +0100
Branches: simulation-tree
https://developer.blender.org/rB271a5772ebcb01e80a44d69e1988f0be9d09f2bf
write node storage to file and read back
Have to find a better way to do this. An issue is that `node->typeinfo`
when the node is just read.
===================================================================
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/writefile.c
===================================================================
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 7267b8adb00..dc575c1f805 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -3516,6 +3516,11 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
}
if (node->storage) {
+ if (STREQ(node->idname, "FloatAddNode")) {
+ FloatAddNodeStorage *storage = (FloatAddNodeStorage *)node->storage;
+ link_list(fd, &storage->inputs_info);
+ }
+
/* could be handlerized at some point */
switch (node->type) {
case SH_NODE_CURVE_VEC:
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index edc7eba933f..e891227e68f 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1073,6 +1073,13 @@ static void write_nodetree_nolib(WriteData *wd, bNodeTree *ntree)
}
writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage);
}
+ else if (STREQ(node->idname, "FloatAddNode")) {
+ FloatAddNodeStorage *storage = (FloatAddNodeStorage *)node->storage;
+ LISTBASE_FOREACH (VariadicNodeSocketIdentifier *, value, &storage->inputs_info) {
+ writestruct_id(wd, DATA, "VariadicNodeSocketIdentifier", 1, value);
+ }
+ writestruct_id(wd, DATA, "FloatAddNodeStorage", 1, node->storage);
+ }
else {
writestruct_id(wd, DATA, node->typeinfo->storagename, 1, node->storage);
}
More information about the Bf-blender-cvs
mailing list