Alright Sergey, here’s the patch in the Tangent Animation branch (now a public repo as of 5 minutes ago) that I’m referring to. If you have any insight it would be greatly appreciated.
https://github.com/tangent-animation/blender278/compare/ReactivateCurveTexture <https://github.com/tangent-animation/blender278/compare/ReactivateCurveTexture> and specifically on line 3088 here for the readfile modification: https://github.com/tangent-animation/blender278/blob/ReactivateCurveTexture/source/blender/blenloader/intern/readfile.c Thanks, Tod. > On Jul 20, 2017, at 2:17 PM, Smells Like Donkey > <[email protected]> wrote: > > Hi Sergey, > > I added the code to readfile and it seems to work when saving and reloading > the files. It’s only during linking that it’s getting lost. > > Let me see if I can get you a link to the patch. Stay tuned. > > Tod. > > P.S. The code added to readfile > > else if (node->type == SH_NODE_TEX_CURVE) { > NodeTexCurve *ntc = (NodeTexCurve*)node->storage; > ntc->object = newlibadr(fd, ntree->id.lib, ntc->object); > } > > > >> On Jul 20, 2017, at 2:10 PM, Sergey Sharybin <[email protected]> wrote: >> >> Hi, >> >> Hard to tell without seeing actual patch, but guess is that you didn't add >> linking code to readfile. You would need to make sure to call newlibadr_us >> for the new node, so the pointer to Curve is not properly restored on >> redo/reload. >> >> On Thu, Jul 20, 2017 at 9:58 PM, Smells Like Donkey < >> [email protected]> wrote: >> >>> Hi, >>> >>> I’m hoping someone here can shed some light on how I can fix this linking >>> issue. >>> >>> We built a new texture node that can project Bezier curves onto a texture. >>> So it’s a shading node that had a field where you can select a bezier >>> curve. The RNA code is at the end of this if it’s relevant. >>> >>> It all works and renders fine but there’s a linking issue. If I do these >>> steps... >>> >>> 1. Create an asset with the shader >>> 2. Link that asset in (still works), save the file >>> 3. Reopen (doesn’t work) >>> >>> ...the connection to the Curve doesn’t get set and the node is broken. >>> Where should I be looking to fix this issue? Any ideas would be appreciated. >>> >>> Thanks, >>> Tod. >>> >>> >>> /**************** Curve Texture ****************/ >>> >>> class ShaderNodeTexCurve : public ShaderNode { >>> public: >>> ShaderNodeTexCurve(const PointerRNA &ptr_arg) : >>> ShaderNode(ptr_arg) >>> {} >>> >>> inline TexMapping texture_mapping(void); >>> inline ColorMapping color_mapping(void); >>> inline Object object(void); >>> enum curve_type_enum { >>> curve_type_LINE = 0, >>> curve_type_FILL = 1, >>> curve_type_GRAD = 2, >>> }; >>> inline curve_type_enum curve_type(void); >>> inline void curve_type(curve_type_enum value); >>> >>> inline int is_registered_node_type(); >>> inline NodeInternalSocketTemplate input_template(int index); >>> inline NodeInternalSocketTemplate output_template(int index); >>> }; >>> >>> _______________________________________________ >>> Bf-committers mailing list >>> [email protected] >>> https://lists.blender.org/mailman/listinfo/bf-committers >>> >> >> >> >> -- >> With best regards, Sergey Sharybin >> _______________________________________________ >> Bf-committers mailing list >> [email protected] >> https://lists.blender.org/mailman/listinfo/bf-committers > > _______________________________________________ > Bf-committers mailing list > [email protected] > https://lists.blender.org/mailman/listinfo/bf-committers _______________________________________________ Bf-committers mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-committers
