of the nodes, I realized I had strayed from the path of enlightened blending
by causing the math node to create an output the size of the larger of the
two inputs.
It has been corrected create the output the size of the
first image, and in its abscense the second image. In the event of
nether input containing image data the node does not function. I also
added some early out checks at the beginning of the function to speed it
up a tad in these cases and commented the code a bit more.
* refactor copying and freeing of node->storage by handlerizing them.
- freestoragefunc
- copystoragefunc
- node_util.c/h have generic handlers for these.
This will allow python or plugin defined nodes to work as well.
(And fixes compile issues with MSVC in yesterdays commit for nodes)
Code provided by Nathan L.
Fixes in his code:
- free_nodesystem() was called too late (after guarded alloc was closed)
- free_nodesystem() was freeing nodes that were not malloced even
- free_nodesystem was using free, not freeN :)
- the typedefs needed to be malloced yes, to allow duplicate nodes like
group but also for dynamic nodes.