Saturday, March 27, 2021

Re: [MAINTAINER UPDATE] graphics/blender -> 2.92.0

Ping

On Thu, Mar 18, 2021 at 04:08:31AM +0000, Dimitri Karamazov wrote:
> Update graphics/blender to 2.92.0
>
> This update broke the cycles renderer just for OpenBSD hence the
> delay. Fix by @brecht - blender cycles developer.
> Hopefully if blender makes a corrective release we can get
> rid of these additional patches or just wait until 2.93.0.
>
> The tests could be enabled now, 4 fail out of 61 but these failures are
> harmless and caused by the absence of port embree which I'm working on.
> Tests can only be carried out against the final installation and
> additional 1.5GBs of files are required which are hosted in a svn repo
> with no tarballs. :(
> So I've refrained from enabling them.
>
> Added py-requests dependency to enable blenderkit addon.
>
> Build & Run tested on amd64.
>
> regards,
> Dimitri
>
Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/blender/Makefile,v
retrieving revision 1.102
diff -u -p -r1.102 Makefile
--- Makefile 23 Feb 2021 19:39:24 -0000 1.102
+++ Makefile 18 Mar 2021 03:26:59 -0000
@@ -4,7 +4,7 @@ ONLY_FOR_ARCHS = amd64

COMMENT = 3D creation software

-DISTNAME = blender-2.91.2
+DISTNAME = blender-2.92.0

CATEGORIES = graphics

@@ -23,8 +23,8 @@ WANTLIB += avformat avutil blosc boost_a
WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt
WANTLIB += boost_regex-mt boost_system-mt boost_thread-mt c fftw3
WANTLIB += freetype gmp gmpxx jpeg m openal openjp2 openvdb osdCPU
-WANTLIB += osdGPU png potrace sndfile swscale tbb tiff tinyxml
-WANTLIB += util yaml-cpp z
+WANTLIB += osdGPU png potrace pugixml sndfile swscale tbb tiff
+WANTLIB += tinyxml util yaml-cpp z

MASTER_SITES = https://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/
@@ -44,7 +44,8 @@ CONFIGURE_ARGS = -DPYTHON_INCLUDE_DIR="$
-DWITH_CYCLES_EMBREE=OFF \
-DWITH_JACK=OFF

-BUILD_DEPENDS = math/py-numpy${MODPY_FLAVOR}
+BUILD_DEPENDS = math/py-numpy${MODPY_FLAVOR} \
+ www/py-requests${MODPY_FLAVOR}
LIB_DEPENDS = audio/libsndfile \
audio/openal \
devel/boost \
@@ -68,6 +69,7 @@ LIB_DEPENDS = audio/libsndfile \
${MODPY_LIB_DEPENDS}
RUN_DEPENDS = devel/desktop-file-utils \
math/py-numpy${MODPY_FLAVOR} \
+ www/py-requests${MODPY_FLAVOR} \
x11/gnome/librsvg

NO_TEST = Yes
Index: distinfo
===================================================================
RCS file: /cvs/ports/graphics/blender/distinfo,v
retrieving revision 1.30
diff -u -p -r1.30 distinfo
--- distinfo 27 Jan 2021 20:15:25 -0000 1.30
+++ distinfo 18 Mar 2021 03:26:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (blender-2.91.2.tar.xz) = GFy8TNfy9hSnWUIh2CNxcK3n84nRaFjO4irXeMJvzHA=
-SIZE (blender-2.91.2.tar.xz) = 42057100
+SHA256 (blender-2.92.0.tar.xz) = 55HPxAMpI4NXfDyM4s005aos2NoKdIMEEEmhYJ3bRZU=
+SIZE (blender-2.92.0.tar.xz) = 42444576
Index: patches/patch-intern_cycles_graph_node_type_cpp
===================================================================
RCS file: patches/patch-intern_cycles_graph_node_type_cpp
diff -N patches/patch-intern_cycles_graph_node_type_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_graph_node_type_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: intern/cycles/graph/node_type.cpp
+--- intern/cycles/graph/node_type.cpp.orig
++++ intern/cycles/graph/node_type.cpp
+@@ -154,7 +154,7 @@ void NodeType::register_input(ustring name,
+ int struct_offset,
+ const void *default_value,
+ const NodeEnum *enum_values,
+- const NodeType **node_type,
++ const NodeType *node_type,
+ int flags,
+ int extra_flags)
+ {
Index: patches/patch-intern_cycles_graph_node_type_h
===================================================================
RCS file: patches/patch-intern_cycles_graph_node_type_h
diff -N patches/patch-intern_cycles_graph_node_type_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_graph_node_type_h 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,68 @@
+$OpenBSD$
+
+Index: intern/cycles/graph/node_type.h
+--- intern/cycles/graph/node_type.h.orig
++++ intern/cycles/graph/node_type.h
+@@ -87,7 +87,7 @@ struct SocketType {
+ int struct_offset;
+ const void *default_value;
+ const NodeEnum *enum_values;
+- const NodeType **node_type;
++ const NodeType *node_type;
+ int flags;
+ ustring ui_name;
+ SocketModifiedFlags modified_flag_bit;
+@@ -115,7 +115,7 @@ struct NodeType {
+ int struct_offset,
+ const void *default_value,
+ const NodeEnum *enum_values = NULL,
+- const NodeType **node_type = NULL,
++ const NodeType *node_type = NULL,
+ int flags = 0,
+ int extra_flags = 0);
+ void register_output(ustring name, ustring ui_name, SocketType::Type type);
+@@ -140,27 +140,38 @@ struct NodeType {
+ static unordered_map<ustring, NodeType, ustringHash> &types();
+ };
+
+-/* Node Definition Macros */
++/* Node Definition Macros
++ *
++ * Node we use accessor to get node types to ensure correct static
++ * initialization order. */
+
+ #define NODE_DECLARE \
++ static const NodeType *get_node_type(); \
+ template<typename T> static const NodeType *register_type(); \
+- static Node *create(const NodeType *type); \
+- static const NodeType *node_type;
++ static Node *create(const NodeType *type);
+
+ #define NODE_DEFINE(structname) \
+- const NodeType *structname::node_type = structname::register_type<structname>(); \
+ Node *structname::create(const NodeType *) \
+ { \
+ return new structname(); \
+ } \
++ const NodeType *structname::get_node_type() \
++ { \
++ static const NodeType *node_type = register_type<structname>(); \
++ return node_type; \
++ } \
+ template<typename T> const NodeType *structname::register_type()
+
+ #define NODE_ABSTRACT_DECLARE \
+ template<typename T> static const NodeType *register_base_type(); \
+- static const NodeType *node_base_type;
++ static const NodeType *get_node_base_type();
+
+ #define NODE_ABSTRACT_DEFINE(structname) \
+- const NodeType *structname::node_base_type = structname::register_base_type<structname>(); \
++ const NodeType *structname::get_node_base_type() \
++ { \
++ static const NodeType *node_base_type = register_base_type<structname>(); \
++ return node_base_type; \
++ } \
+ template<typename T> const NodeType *structname::register_base_type()
+
+ /* Sock Definition Macros */
Index: patches/patch-intern_cycles_graph_node_xml_cpp
===================================================================
RCS file: patches/patch-intern_cycles_graph_node_xml_cpp
diff -N patches/patch-intern_cycles_graph_node_xml_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_graph_node_xml_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: intern/cycles/graph/node_xml.cpp
+--- intern/cycles/graph/node_xml.cpp.orig
++++ intern/cycles/graph/node_xml.cpp
+@@ -200,7 +200,7 @@ void xml_read_node(XMLReader &reader, Node *node, xml_
+ map<ustring, Node *>::iterator it = reader.node_map.find(value);
+ if (it != reader.node_map.end()) {
+ Node *value_node = it->second;
+- if (value_node->is_a(*(socket.node_type)))
++ if (value_node->is_a(socket.node_type))
+ node->set(socket, it->second);
+ }
+ break;
+@@ -215,7 +215,7 @@ void xml_read_node(XMLReader &reader, Node *node, xml_
+ map<ustring, Node *>::iterator it = reader.node_map.find(ustring(tokens[i]));
+ if (it != reader.node_map.end()) {
+ Node *value_node = it->second;
+- value[i] = (value_node->is_a(*(socket.node_type))) ? value_node : NULL;
++ value[i] = (value_node->is_a(socket.node_type)) ? value_node : NULL;
+ }
+ else {
+ value[i] = NULL;
Index: patches/patch-intern_cycles_render_background_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_background_cpp
diff -N patches/patch-intern_cycles_render_background_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_background_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+Index: intern/cycles/render/background.cpp
+--- intern/cycles/render/background.cpp.orig
++++ intern/cycles/render/background.cpp
+@@ -47,12 +47,12 @@ NODE_DEFINE(Background)
+
+ SOCKET_FLOAT(volume_step_size, "Volume Step Size", 0.1f);
+
+- SOCKET_NODE(shader, "Shader", &Shader::node_type);
++ SOCKET_NODE(shader, "Shader", Shader::get_node_type());
+
+ return type;
+ }
+
+-Background::Background() : Node(node_type)
++Background::Background() : Node(get_node_type())
+ {
+ shader = NULL;
+ }
Index: patches/patch-intern_cycles_render_camera_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_camera_cpp
diff -N patches/patch-intern_cycles_render_camera_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_camera_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: intern/cycles/render/camera.cpp
+--- intern/cycles/render/camera.cpp.orig
++++ intern/cycles/render/camera.cpp
+@@ -163,7 +163,7 @@ NODE_DEFINE(Camera)
+ return type;
+ }
+
+-Camera::Camera() : Node(node_type)
++Camera::Camera() : Node(get_node_type())
+ {
+ shutter_table_offset = TABLE_OFFSET_INVALID;
+
Index: patches/patch-intern_cycles_render_film_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_film_cpp
diff -N patches/patch-intern_cycles_render_film_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_film_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: intern/cycles/render/film.cpp
+--- intern/cycles/render/film.cpp.orig
++++ intern/cycles/render/film.cpp
+@@ -96,7 +96,7 @@ NODE_DEFINE(Pass)
+ return type;
+ }
+
+-Pass::Pass() : Node(node_type)
++Pass::Pass() : Node(get_node_type())
+ {
+ }
+
+@@ -407,7 +407,7 @@ NODE_DEFINE(Film)
+ return type;
+ }
+
+-Film::Film() : Node(node_type)
++Film::Film() : Node(get_node_type())
+ {
+ use_light_visibility = false;
+ filter_table_offset = TABLE_OFFSET_INVALID;
Index: patches/patch-intern_cycles_render_geometry_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_geometry_cpp
diff -N patches/patch-intern_cycles_render_geometry_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_geometry_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: intern/cycles/render/geometry.cpp
+--- intern/cycles/render/geometry.cpp.orig
++++ intern/cycles/render/geometry.cpp
+@@ -52,7 +52,7 @@ NODE_ABSTRACT_DEFINE(Geometry)
+
+ SOCKET_UINT(motion_steps, "Motion Steps", 3);
+ SOCKET_BOOLEAN(use_motion_blur, "Use Motion Blur", false);
+- SOCKET_NODE_ARRAY(used_shaders, "Shaders", &Shader::node_type);
++ SOCKET_NODE_ARRAY(used_shaders, "Shaders", Shader::get_node_type());
+
+ return type;
+ }
+@@ -1289,7 +1289,7 @@ void GeometryManager::device_update_bvh(Device *device
+ dscene->data.bvh.use_bvh_steps = (scene->params.num_bvh_time_steps != 0);
+ dscene->data.bvh.curve_subdivisions = scene->params.curve_subdivisions();
+ /* The scene handle is set in 'CPUDevice::const_copy_to' and 'OptiXDevice::const_copy_to' */
+- dscene->data.bvh.scene = NULL;
++ dscene->data.bvh.scene = 0;
+ }
+
+ void GeometryManager::device_update_preprocess(Device *device, Scene *scene, Progress &progress)
Index: patches/patch-intern_cycles_render_hair_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_hair_cpp
diff -N patches/patch-intern_cycles_render_hair_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_hair_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: intern/cycles/render/hair.cpp
+--- intern/cycles/render/hair.cpp.orig
++++ intern/cycles/render/hair.cpp
+@@ -283,7 +283,7 @@ void Hair::Curve::cardinal_keys_for_step(const float3
+
+ NODE_DEFINE(Hair)
+ {
+- NodeType *type = NodeType::add("hair", create, NodeType::NONE, Geometry::node_base_type);
++ NodeType *type = NodeType::add("hair", create, NodeType::NONE, Geometry::get_node_base_type());
+
+ SOCKET_POINT_ARRAY(curve_keys, "Curve Keys", array<float3>());
+ SOCKET_FLOAT_ARRAY(curve_radius, "Curve Radius", array<float>());
+@@ -293,7 +293,7 @@ NODE_DEFINE(Hair)
+ return type;
+ }
+
+-Hair::Hair() : Geometry(node_type, Geometry::HAIR)
++Hair::Hair() : Geometry(get_node_type(), Geometry::HAIR)
+ {
+ curvekey_offset = 0;
+ curve_shape = CURVE_RIBBON;
Index: patches/patch-intern_cycles_render_integrator_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_integrator_cpp
diff -N patches/patch-intern_cycles_render_integrator_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_integrator_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: intern/cycles/render/integrator.cpp
+--- intern/cycles/render/integrator.cpp.orig
++++ intern/cycles/render/integrator.cpp
+@@ -94,7 +94,7 @@ NODE_DEFINE(Integrator)
+ return type;
+ }
+
+-Integrator::Integrator() : Node(node_type)
++Integrator::Integrator() : Node(get_node_type())
+ {
+ }
+
Index: patches/patch-intern_cycles_render_light_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_light_cpp
diff -N patches/patch-intern_cycles_render_light_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_light_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,47 @@
+$OpenBSD$
+
+Index: intern/cycles/render/light.cpp
+--- intern/cycles/render/light.cpp.orig
++++ intern/cycles/render/light.cpp
+@@ -151,12 +151,12 @@ NODE_DEFINE(Light)
+ SOCKET_BOOLEAN(is_portal, "Is Portal", false);
+ SOCKET_BOOLEAN(is_enabled, "Is Enabled", true);
+
+- SOCKET_NODE(shader, "Shader", &Shader::node_type);
++ SOCKET_NODE(shader, "Shader", Shader::get_node_type());
+
+ return type;
+ }
+
+-Light::Light() : Node(node_type)
++Light::Light() : Node(get_node_type())
+ {
+ }
+
+@@ -603,7 +603,7 @@ void LightManager::device_update_background(Device *de
+ Shader *shader = scene->background->get_shader(scene);
+ int num_suns = 0;
+ foreach (ShaderNode *node, shader->graph->nodes) {
+- if (node->type == EnvironmentTextureNode::node_type) {
++ if (node->type == EnvironmentTextureNode::get_node_type()) {
+ EnvironmentTextureNode *env = (EnvironmentTextureNode *)node;
+ ImageMetaData metadata;
+ if (!env->handle.empty()) {
+@@ -612,7 +612,7 @@ void LightManager::device_update_background(Device *de
+ environment_res.y = max(environment_res.y, metadata.height);
+ }
+ }
+- if (node->type == SkyTextureNode::node_type) {
++ if (node->type == SkyTextureNode::get_node_type()) {
+ SkyTextureNode *sky = (SkyTextureNode *)node;
+ if (sky->get_sky_type() == NODE_SKY_NISHITA && sky->get_sun_disc()) {
+ /* Ensure that the input coordinates aren't transformed before they reach the node.
+@@ -621,7 +621,7 @@ void LightManager::device_update_background(Device *de
+ const ShaderInput *vec_in = sky->input("Vector");
+ if (vec_in && vec_in->link && vec_in->link->parent) {
+ ShaderNode *vec_src = vec_in->link->parent;
+- if ((vec_src->type != TextureCoordinateNode::node_type) ||
++ if ((vec_src->type != TextureCoordinateNode::get_node_type()) ||
+ (vec_in->link != vec_src->output("Generated"))) {
+ environment_res.x = max(environment_res.x, 4096);
+ environment_res.y = max(environment_res.y, 2048);
Index: patches/patch-intern_cycles_render_mesh_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_mesh_cpp
diff -N patches/patch-intern_cycles_render_mesh_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_mesh_cpp 18 Mar 2021 03:26:59 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: intern/cycles/render/mesh.cpp
+--- intern/cycles/render/mesh.cpp.orig
++++ intern/cycles/render/mesh.cpp
+@@ -125,7 +125,7 @@ float3 Mesh::SubdFace::normal(const Mesh *mesh) const
+
+ NODE_DEFINE(Mesh)
+ {
+- NodeType *type = NodeType::add("mesh", create, NodeType::NONE, Geometry::node_base_type);
++ NodeType *type = NodeType::add("mesh", create, NodeType::NONE, Geometry::get_node_base_type());
+
+ SOCKET_INT_ARRAY(triangles, "Triangles", array<int>());
+ SOCKET_POINT_ARRAY(verts, "Vertices", array<float3>());
+@@ -202,7 +202,7 @@ Mesh::Mesh(const NodeType *node_type, Type geom_type_)
+ patch_table = NULL;
+ }
+
+-Mesh::Mesh() : Mesh(node_type, Geometry::MESH)
++Mesh::Mesh() : Mesh(get_node_type(), Geometry::MESH)
+ {
+ }
+
Index: patches/patch-intern_cycles_render_nodes_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_nodes_cpp
diff -N patches/patch-intern_cycles_render_nodes_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_nodes_cpp 18 Mar 2021 03:27:00 -0000
@@ -0,0 +1,811 @@
+$OpenBSD$
+
+Index: intern/cycles/render/nodes.cpp
+--- intern/cycles/render/nodes.cpp.orig
++++ intern/cycles/render/nodes.cpp
+@@ -258,7 +258,7 @@ NODE_DEFINE(ImageTextureNode)
+ return type;
+ }
+
+-ImageTextureNode::ImageTextureNode() : ImageSlotTextureNode(node_type)
++ImageTextureNode::ImageTextureNode() : ImageSlotTextureNode(get_node_type())
+ {
+ colorspace = u_colorspace_raw;
+ animated = false;
+@@ -309,11 +309,11 @@ void ImageTextureNode::cull_tiles(Scene *scene, Shader
+ ustring attribute;
+ if (vector_in->link) {
+ ShaderNode *node = vector_in->link->parent;
+- if (node->type == UVMapNode::node_type) {
++ if (node->type == UVMapNode::get_node_type()) {
+ UVMapNode *uvmap = (UVMapNode *)node;
+ attribute = uvmap->get_attribute();
+ }
+- else if (node->type == TextureCoordinateNode::node_type) {
++ else if (node->type == TextureCoordinateNode::get_node_type()) {
+ if (vector_in->link != node->output("UV")) {
+ return;
+ }
+@@ -525,7 +525,7 @@ NODE_DEFINE(EnvironmentTextureNode)
+ return type;
+ }
+
+-EnvironmentTextureNode::EnvironmentTextureNode() : ImageSlotTextureNode(node_type)
++EnvironmentTextureNode::EnvironmentTextureNode() : ImageSlotTextureNode(get_node_type())
+ {
+ colorspace = u_colorspace_raw;
+ animated = false;
+@@ -819,7 +819,7 @@ NODE_DEFINE(SkyTextureNode)
+ return type;
+ }
+
+-SkyTextureNode::SkyTextureNode() : TextureNode(node_type)
++SkyTextureNode::SkyTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1002,7 +1002,7 @@ NODE_DEFINE(GradientTextureNode)
+ return type;
+ }
+
+-GradientTextureNode::GradientTextureNode() : TextureNode(node_type)
++GradientTextureNode::GradientTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1060,7 +1060,7 @@ NODE_DEFINE(NoiseTextureNode)
+ return type;
+ }
+
+-NoiseTextureNode::NoiseTextureNode() : TextureNode(node_type)
++NoiseTextureNode::NoiseTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1154,7 +1154,7 @@ NODE_DEFINE(VoronoiTextureNode)
+ return type;
+ }
+
+-VoronoiTextureNode::VoronoiTextureNode() : TextureNode(node_type)
++VoronoiTextureNode::VoronoiTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1234,7 +1234,7 @@ NODE_DEFINE(IESLightNode)
+ return type;
+ }
+
+-IESLightNode::IESLightNode() : TextureNode(node_type)
++IESLightNode::IESLightNode() : TextureNode(get_node_type())
+ {
+ light_manager = NULL;
+ slot = -1;
+@@ -1326,7 +1326,7 @@ NODE_DEFINE(WhiteNoiseTextureNode)
+ return type;
+ }
+
+-WhiteNoiseTextureNode::WhiteNoiseTextureNode() : ShaderNode(node_type)
++WhiteNoiseTextureNode::WhiteNoiseTextureNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -1392,7 +1392,7 @@ NODE_DEFINE(MusgraveTextureNode)
+ return type;
+ }
+
+-MusgraveTextureNode::MusgraveTextureNode() : TextureNode(node_type)
++MusgraveTextureNode::MusgraveTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1491,7 +1491,7 @@ NODE_DEFINE(WaveTextureNode)
+ return type;
+ }
+
+-WaveTextureNode::WaveTextureNode() : TextureNode(node_type)
++WaveTextureNode::WaveTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1566,7 +1566,7 @@ NODE_DEFINE(MagicTextureNode)
+ return type;
+ }
+
+-MagicTextureNode::MagicTextureNode() : TextureNode(node_type)
++MagicTextureNode::MagicTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1620,7 +1620,7 @@ NODE_DEFINE(CheckerTextureNode)
+ return type;
+ }
+
+-CheckerTextureNode::CheckerTextureNode() : TextureNode(node_type)
++CheckerTextureNode::CheckerTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1687,7 +1687,7 @@ NODE_DEFINE(BrickTextureNode)
+ return type;
+ }
+
+-BrickTextureNode::BrickTextureNode() : TextureNode(node_type)
++BrickTextureNode::BrickTextureNode() : TextureNode(get_node_type())
+ {
+ }
+
+@@ -1780,7 +1780,7 @@ NODE_DEFINE(PointDensityTextureNode)
+ return type;
+ }
+
+-PointDensityTextureNode::PointDensityTextureNode() : ShaderNode(node_type)
++PointDensityTextureNode::PointDensityTextureNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -1897,7 +1897,7 @@ NODE_DEFINE(NormalNode)
+ return type;
+ }
+
+-NormalNode::NormalNode() : ShaderNode(node_type)
++NormalNode::NormalNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -1944,7 +1944,7 @@ NODE_DEFINE(MappingNode)
+ return type;
+ }
+
+-MappingNode::MappingNode() : ShaderNode(node_type)
++MappingNode::MappingNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -1999,7 +1999,7 @@ NODE_DEFINE(RGBToBWNode)
+ return type;
+ }
+
+-RGBToBWNode::RGBToBWNode() : ShaderNode(node_type)
++RGBToBWNode::RGBToBWNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -2312,7 +2312,7 @@ NODE_DEFINE(AnisotropicBsdfNode)
+ return type;
+ }
+
+-AnisotropicBsdfNode::AnisotropicBsdfNode() : BsdfNode(node_type)
++AnisotropicBsdfNode::AnisotropicBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_MICROFACET_GGX_ID;
+ }
+@@ -2370,7 +2370,7 @@ NODE_DEFINE(GlossyBsdfNode)
+ return type;
+ }
+
+-GlossyBsdfNode::GlossyBsdfNode() : BsdfNode(node_type)
++GlossyBsdfNode::GlossyBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_MICROFACET_GGX_ID;
+ distribution_orig = NBUILTIN_CLOSURES;
+@@ -2463,7 +2463,7 @@ NODE_DEFINE(GlassBsdfNode)
+ return type;
+ }
+
+-GlassBsdfNode::GlassBsdfNode() : BsdfNode(node_type)
++GlassBsdfNode::GlassBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_SHARP_GLASS_ID;
+ distribution_orig = NBUILTIN_CLOSURES;
+@@ -2556,7 +2556,7 @@ NODE_DEFINE(RefractionBsdfNode)
+ return type;
+ }
+
+-RefractionBsdfNode::RefractionBsdfNode() : BsdfNode(node_type)
++RefractionBsdfNode::RefractionBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_REFRACTION_ID;
+ distribution_orig = NBUILTIN_CLOSURES;
+@@ -2644,7 +2644,7 @@ NODE_DEFINE(ToonBsdfNode)
+ return type;
+ }
+
+-ToonBsdfNode::ToonBsdfNode() : BsdfNode(node_type)
++ToonBsdfNode::ToonBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_DIFFUSE_TOON_ID;
+ }
+@@ -2678,7 +2678,7 @@ NODE_DEFINE(VelvetBsdfNode)
+ return type;
+ }
+
+-VelvetBsdfNode::VelvetBsdfNode() : BsdfNode(node_type)
++VelvetBsdfNode::VelvetBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID;
+ }
+@@ -2709,7 +2709,7 @@ NODE_DEFINE(DiffuseBsdfNode)
+ return type;
+ }
+
+-DiffuseBsdfNode::DiffuseBsdfNode() : BsdfNode(node_type)
++DiffuseBsdfNode::DiffuseBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_DIFFUSE_ID;
+ }
+@@ -2776,7 +2776,7 @@ NODE_DEFINE(PrincipledBsdfNode)
+ return type;
+ }
+
+-PrincipledBsdfNode::PrincipledBsdfNode() : BsdfBaseNode(node_type)
++PrincipledBsdfNode::PrincipledBsdfNode() : BsdfBaseNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_PRINCIPLED_ID;
+ distribution = CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID;
+@@ -2997,7 +2997,7 @@ NODE_DEFINE(TranslucentBsdfNode)
+ return type;
+ }
+
+-TranslucentBsdfNode::TranslucentBsdfNode() : BsdfNode(node_type)
++TranslucentBsdfNode::TranslucentBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_TRANSLUCENT_ID;
+ }
+@@ -3026,7 +3026,7 @@ NODE_DEFINE(TransparentBsdfNode)
+ return type;
+ }
+
+-TransparentBsdfNode::TransparentBsdfNode() : BsdfNode(node_type)
++TransparentBsdfNode::TransparentBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_TRANSPARENT_ID;
+ }
+@@ -3067,7 +3067,7 @@ NODE_DEFINE(SubsurfaceScatteringNode)
+ return type;
+ }
+
+-SubsurfaceScatteringNode::SubsurfaceScatteringNode() : BsdfNode(node_type)
++SubsurfaceScatteringNode::SubsurfaceScatteringNode() : BsdfNode(get_node_type())
+ {
+ closure = falloff;
+ }
+@@ -3109,7 +3109,7 @@ NODE_DEFINE(EmissionNode)
+ return type;
+ }
+
+-EmissionNode::EmissionNode() : ShaderNode(node_type)
++EmissionNode::EmissionNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -3159,7 +3159,7 @@ NODE_DEFINE(BackgroundNode)
+ return type;
+ }
+
+-BackgroundNode::BackgroundNode() : ShaderNode(node_type)
++BackgroundNode::BackgroundNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -3208,7 +3208,7 @@ NODE_DEFINE(HoldoutNode)
+ return type;
+ }
+
+-HoldoutNode::HoldoutNode() : ShaderNode(node_type)
++HoldoutNode::HoldoutNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -3246,7 +3246,7 @@ NODE_DEFINE(AmbientOcclusionNode)
+ return type;
+ }
+
+-AmbientOcclusionNode::AmbientOcclusionNode() : ShaderNode(node_type)
++AmbientOcclusionNode::AmbientOcclusionNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -3334,7 +3334,7 @@ NODE_DEFINE(AbsorptionVolumeNode)
+ return type;
+ }
+
+-AbsorptionVolumeNode::AbsorptionVolumeNode() : VolumeNode(node_type)
++AbsorptionVolumeNode::AbsorptionVolumeNode() : VolumeNode(get_node_type())
+ {
+ closure = CLOSURE_VOLUME_ABSORPTION_ID;
+ }
+@@ -3365,7 +3365,7 @@ NODE_DEFINE(ScatterVolumeNode)
+ return type;
+ }
+
+-ScatterVolumeNode::ScatterVolumeNode() : VolumeNode(node_type)
++ScatterVolumeNode::ScatterVolumeNode() : VolumeNode(get_node_type())
+ {
+ closure = CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID;
+ }
+@@ -3406,7 +3406,7 @@ NODE_DEFINE(PrincipledVolumeNode)
+ return type;
+ }
+
+-PrincipledVolumeNode::PrincipledVolumeNode() : VolumeNode(node_type)
++PrincipledVolumeNode::PrincipledVolumeNode() : VolumeNode(get_node_type())
+ {
+ closure = CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID;
+ density_attribute = ustring("density");
+@@ -3531,7 +3531,7 @@ NODE_DEFINE(PrincipledHairBsdfNode)
+ return type;
+ }
+
+-PrincipledHairBsdfNode::PrincipledHairBsdfNode() : BsdfBaseNode(node_type)
++PrincipledHairBsdfNode::PrincipledHairBsdfNode() : BsdfBaseNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_HAIR_PRINCIPLED_ID;
+ }
+@@ -3642,7 +3642,7 @@ NODE_DEFINE(HairBsdfNode)
+ return type;
+ }
+
+-HairBsdfNode::HairBsdfNode() : BsdfNode(node_type)
++HairBsdfNode::HairBsdfNode() : BsdfNode(get_node_type())
+ {
+ closure = CLOSURE_BSDF_HAIR_REFLECTION_ID;
+ }
+@@ -3684,7 +3684,7 @@ NODE_DEFINE(GeometryNode)
+ return type;
+ }
+
+-GeometryNode::GeometryNode() : ShaderNode(node_type)
++GeometryNode::GeometryNode() : ShaderNode(get_node_type())
+ {
+ special_type = SHADER_SPECIAL_TYPE_GEOMETRY;
+ }
+@@ -3833,7 +3833,7 @@ NODE_DEFINE(TextureCoordinateNode)
+ return type;
+ }
+
+-TextureCoordinateNode::TextureCoordinateNode() : ShaderNode(node_type)
++TextureCoordinateNode::TextureCoordinateNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -3980,7 +3980,7 @@ NODE_DEFINE(UVMapNode)
+ return type;
+ }
+
+-UVMapNode::UVMapNode() : ShaderNode(node_type)
++UVMapNode::UVMapNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4069,7 +4069,7 @@ NODE_DEFINE(LightPathNode)
+ return type;
+ }
+
+-LightPathNode::LightPathNode() : ShaderNode(node_type)
++LightPathNode::LightPathNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4169,7 +4169,7 @@ NODE_DEFINE(LightFalloffNode)
+ return type;
+ }
+
+-LightFalloffNode::LightFalloffNode() : ShaderNode(node_type)
++LightFalloffNode::LightFalloffNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4226,7 +4226,7 @@ NODE_DEFINE(ObjectInfoNode)
+ return type;
+ }
+
+-ObjectInfoNode::ObjectInfoNode() : ShaderNode(node_type)
++ObjectInfoNode::ObjectInfoNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4284,7 +4284,7 @@ NODE_DEFINE(ParticleInfoNode)
+ return type;
+ }
+
+-ParticleInfoNode::ParticleInfoNode() : ShaderNode(node_type)
++ParticleInfoNode::ParticleInfoNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4391,7 +4391,7 @@ NODE_DEFINE(HairInfoNode)
+ return type;
+ }
+
+-HairInfoNode::HairInfoNode() : ShaderNode(node_type)
++HairInfoNode::HairInfoNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4466,7 +4466,7 @@ NODE_DEFINE(VolumeInfoNode)
+ return type;
+ }
+
+-VolumeInfoNode::VolumeInfoNode() : ShaderNode(node_type)
++VolumeInfoNode::VolumeInfoNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4547,7 +4547,7 @@ NODE_DEFINE(VertexColorNode)
+ return type;
+ }
+
+-VertexColorNode::VertexColorNode() : ShaderNode(node_type)
++VertexColorNode::VertexColorNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4628,7 +4628,7 @@ NODE_DEFINE(ValueNode)
+ return type;
+ }
+
+-ValueNode::ValueNode() : ShaderNode(node_type)
++ValueNode::ValueNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4662,7 +4662,7 @@ NODE_DEFINE(ColorNode)
+ return type;
+ }
+
+-ColorNode::ColorNode() : ShaderNode(node_type)
++ColorNode::ColorNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4701,7 +4701,7 @@ NODE_DEFINE(AddClosureNode)
+ return type;
+ }
+
+-AddClosureNode::AddClosureNode() : ShaderNode(node_type)
++AddClosureNode::AddClosureNode() : ShaderNode(get_node_type())
+ {
+ special_type = SHADER_SPECIAL_TYPE_COMBINE_CLOSURE;
+ }
+@@ -4745,7 +4745,7 @@ NODE_DEFINE(MixClosureNode)
+ return type;
+ }
+
+-MixClosureNode::MixClosureNode() : ShaderNode(node_type)
++MixClosureNode::MixClosureNode() : ShaderNode(get_node_type())
+ {
+ special_type = SHADER_SPECIAL_TYPE_COMBINE_CLOSURE;
+ }
+@@ -4799,7 +4799,7 @@ NODE_DEFINE(MixClosureWeightNode)
+ return type;
+ }
+
+-MixClosureWeightNode::MixClosureWeightNode() : ShaderNode(node_type)
++MixClosureWeightNode::MixClosureWeightNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4836,7 +4836,7 @@ NODE_DEFINE(InvertNode)
+ return type;
+ }
+
+-InvertNode::InvertNode() : ShaderNode(node_type)
++InvertNode::InvertNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4912,7 +4912,7 @@ NODE_DEFINE(MixNode)
+ return type;
+ }
+
+-MixNode::MixNode() : ShaderNode(node_type)
++MixNode::MixNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -4967,7 +4967,7 @@ NODE_DEFINE(CombineRGBNode)
+ return type;
+ }
+
+-CombineRGBNode::CombineRGBNode() : ShaderNode(node_type)
++CombineRGBNode::CombineRGBNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5015,7 +5015,7 @@ NODE_DEFINE(CombineXYZNode)
+ return type;
+ }
+
+-CombineXYZNode::CombineXYZNode() : ShaderNode(node_type)
++CombineXYZNode::CombineXYZNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5063,7 +5063,7 @@ NODE_DEFINE(CombineHSVNode)
+ return type;
+ }
+
+-CombineHSVNode::CombineHSVNode() : ShaderNode(node_type)
++CombineHSVNode::CombineHSVNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5106,7 +5106,7 @@ NODE_DEFINE(GammaNode)
+ return type;
+ }
+
+-GammaNode::GammaNode() : ShaderNode(node_type)
++GammaNode::GammaNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5162,7 +5162,7 @@ NODE_DEFINE(BrightContrastNode)
+ return type;
+ }
+
+-BrightContrastNode::BrightContrastNode() : ShaderNode(node_type)
++BrightContrastNode::BrightContrastNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5207,7 +5207,7 @@ NODE_DEFINE(SeparateRGBNode)
+ return type;
+ }
+
+-SeparateRGBNode::SeparateRGBNode() : ShaderNode(node_type)
++SeparateRGBNode::SeparateRGBNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5260,7 +5260,7 @@ NODE_DEFINE(SeparateXYZNode)
+ return type;
+ }
+
+-SeparateXYZNode::SeparateXYZNode() : ShaderNode(node_type)
++SeparateXYZNode::SeparateXYZNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5313,7 +5313,7 @@ NODE_DEFINE(SeparateHSVNode)
+ return type;
+ }
+
+-SeparateHSVNode::SeparateHSVNode() : ShaderNode(node_type)
++SeparateHSVNode::SeparateHSVNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5367,7 +5367,7 @@ NODE_DEFINE(HSVNode)
+ return type;
+ }
+
+-HSVNode::HSVNode() : ShaderNode(node_type)
++HSVNode::HSVNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5410,7 +5410,7 @@ NODE_DEFINE(AttributeNode)
+ return type;
+ }
+
+-AttributeNode::AttributeNode() : ShaderNode(node_type)
++AttributeNode::AttributeNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5498,7 +5498,7 @@ NODE_DEFINE(CameraNode)
+ return type;
+ }
+
+-CameraNode::CameraNode() : ShaderNode(node_type)
++CameraNode::CameraNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5536,7 +5536,7 @@ NODE_DEFINE(FresnelNode)
+ return type;
+ }
+
+-FresnelNode::FresnelNode() : ShaderNode(node_type)
++FresnelNode::FresnelNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5576,7 +5576,7 @@ NODE_DEFINE(LayerWeightNode)
+ return type;
+ }
+
+-LayerWeightNode::LayerWeightNode() : ShaderNode(node_type)
++LayerWeightNode::LayerWeightNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5624,7 +5624,7 @@ NODE_DEFINE(WireframeNode)
+ return type;
+ }
+
+-WireframeNode::WireframeNode() : ShaderNode(node_type)
++WireframeNode::WireframeNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5672,7 +5672,7 @@ NODE_DEFINE(WavelengthNode)
+ return type;
+ }
+
+-WavelengthNode::WavelengthNode() : ShaderNode(node_type)
++WavelengthNode::WavelengthNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5702,7 +5702,7 @@ NODE_DEFINE(BlackbodyNode)
+ return type;
+ }
+
+-BlackbodyNode::BlackbodyNode() : ShaderNode(node_type)
++BlackbodyNode::BlackbodyNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5741,7 +5741,7 @@ NODE_DEFINE(OutputNode)
+ return type;
+ }
+
+-OutputNode::OutputNode() : ShaderNode(node_type)
++OutputNode::OutputNode() : ShaderNode(get_node_type())
+ {
+ special_type = SHADER_SPECIAL_TYPE_OUTPUT;
+ }
+@@ -5793,7 +5793,7 @@ NODE_DEFINE(MapRangeNode)
+ return type;
+ }
+
+-MapRangeNode::MapRangeNode() : ShaderNode(node_type)
++MapRangeNode::MapRangeNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5881,7 +5881,7 @@ NODE_DEFINE(ClampNode)
+ return type;
+ }
+
+-ClampNode::ClampNode() : ShaderNode(node_type)
++ClampNode::ClampNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -5936,7 +5936,7 @@ NODE_DEFINE(OutputAOVNode)
+ return type;
+ }
+
+-OutputAOVNode::OutputAOVNode() : ShaderNode(node_type)
++OutputAOVNode::OutputAOVNode() : ShaderNode(get_node_type())
+ {
+ special_type = SHADER_SPECIAL_TYPE_OUTPUT_AOV;
+ slot = -1;
+@@ -6034,7 +6034,7 @@ NODE_DEFINE(MathNode)
+ return type;
+ }
+
+-MathNode::MathNode() : ShaderNode(node_type)
++MathNode::MathNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6137,7 +6137,7 @@ NODE_DEFINE(VectorMathNode)
+ return type;
+ }
+
+-VectorMathNode::VectorMathNode() : ShaderNode(node_type)
++VectorMathNode::VectorMathNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6226,7 +6226,7 @@ NODE_DEFINE(VectorRotateNode)
+ return type;
+ }
+
+-VectorRotateNode::VectorRotateNode() : ShaderNode(node_type)
++VectorRotateNode::VectorRotateNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6282,7 +6282,7 @@ NODE_DEFINE(VectorTransformNode)
+ return type;
+ }
+
+-VectorTransformNode::VectorTransformNode() : ShaderNode(node_type)
++VectorTransformNode::VectorTransformNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6330,7 +6330,7 @@ NODE_DEFINE(BumpNode)
+ return type;
+ }
+
+-BumpNode::BumpNode() : ShaderNode(node_type)
++BumpNode::BumpNode() : ShaderNode(get_node_type())
+ {
+ special_type = SHADER_SPECIAL_TYPE_BUMP;
+ }
+@@ -6477,7 +6477,7 @@ NODE_DEFINE(RGBCurvesNode)
+ return type;
+ }
+
+-RGBCurvesNode::RGBCurvesNode() : CurvesNode(node_type)
++RGBCurvesNode::RGBCurvesNode() : CurvesNode(get_node_type())
+ {
+ }
+
+@@ -6514,7 +6514,7 @@ NODE_DEFINE(VectorCurvesNode)
+ return type;
+ }
+
+-VectorCurvesNode::VectorCurvesNode() : CurvesNode(node_type)
++VectorCurvesNode::VectorCurvesNode() : CurvesNode(get_node_type())
+ {
+ }
+
+@@ -6551,7 +6551,7 @@ NODE_DEFINE(RGBRampNode)
+ return type;
+ }
+
+-RGBRampNode::RGBRampNode() : ShaderNode(node_type)
++RGBRampNode::RGBRampNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6624,7 +6624,7 @@ NODE_DEFINE(SetNormalNode)
+ return type;
+ }
+
+-SetNormalNode::SetNormalNode() : ShaderNode(node_type)
++SetNormalNode::SetNormalNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6748,7 +6748,7 @@ NODE_DEFINE(NormalMapNode)
+ return type;
+ }
+
+-NormalMapNode::NormalMapNode() : ShaderNode(node_type)
++NormalMapNode::NormalMapNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6844,7 +6844,7 @@ NODE_DEFINE(TangentNode)
+ return type;
+ }
+
+-TangentNode::TangentNode() : ShaderNode(node_type)
++TangentNode::TangentNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6914,7 +6914,7 @@ NODE_DEFINE(BevelNode)
+ return type;
+ }
+
+-BevelNode::BevelNode() : ShaderNode(node_type)
++BevelNode::BevelNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -6959,7 +6959,7 @@ NODE_DEFINE(DisplacementNode)
+ return type;
+ }
+
+-DisplacementNode::DisplacementNode() : ShaderNode(node_type)
++DisplacementNode::DisplacementNode() : ShaderNode(get_node_type())
+ {
+ }
+
+@@ -7018,7 +7018,7 @@ NODE_DEFINE(VectorDisplacementNode)
+ return type;
+ }
+
+-VectorDisplacementNode::VectorDisplacementNode() : ShaderNode(node_type)
++VectorDisplacementNode::VectorDisplacementNode() : ShaderNode(get_node_type())
+ {
+ }
+
Index: patches/patch-intern_cycles_render_object_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_object_cpp
diff -N patches/patch-intern_cycles_render_object_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_object_cpp 18 Mar 2021 03:27:00 -0000
@@ -0,0 +1,30 @@
+$OpenBSD$
+
+Index: intern/cycles/render/object.cpp
+--- intern/cycles/render/object.cpp.orig
++++ intern/cycles/render/object.cpp
+@@ -82,7 +82,7 @@ NODE_DEFINE(Object)
+ {
+ NodeType *type = NodeType::add("object", create);
+
+- SOCKET_NODE(geometry, "Geometry", &Geometry::node_base_type);
++ SOCKET_NODE(geometry, "Geometry", Geometry::get_node_base_type());
+ SOCKET_TRANSFORM(tfm, "Transform", transform_identity());
+ SOCKET_UINT(visibility, "Visibility", ~0);
+ SOCKET_COLOR(color, "Color", make_float3(0.0f, 0.0f, 0.0f));
+@@ -98,13 +98,13 @@ NODE_DEFINE(Object)
+
+ SOCKET_BOOLEAN(is_shadow_catcher, "Shadow Catcher", false);
+
+- SOCKET_NODE(particle_system, "Particle System", &ParticleSystem::node_type);
++ SOCKET_NODE(particle_system, "Particle System", ParticleSystem::get_node_type());
+ SOCKET_INT(particle_index, "Particle Index", 0);
+
+ return type;
+ }
+
+-Object::Object() : Node(node_type)
++Object::Object() : Node(get_node_type())
+ {
+ particle_system = NULL;
+ particle_index = 0;
Index: patches/patch-intern_cycles_render_particles_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_particles_cpp
diff -N patches/patch-intern_cycles_render_particles_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_particles_cpp 18 Mar 2021 03:27:00 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: intern/cycles/render/particles.cpp
+--- intern/cycles/render/particles.cpp.orig
++++ intern/cycles/render/particles.cpp
+@@ -36,7 +36,7 @@ NODE_DEFINE(ParticleSystem)
+ return type;
+ }
+
+-ParticleSystem::ParticleSystem() : Node(node_type)
++ParticleSystem::ParticleSystem() : Node(get_node_type())
+ {
+ }
+
Index: patches/patch-intern_cycles_render_shader_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_shader_cpp
diff -N patches/patch-intern_cycles_render_shader_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_shader_cpp 18 Mar 2021 03:27:00 -0000
@@ -0,0 +1,32 @@
+$OpenBSD$
+
+Index: intern/cycles/render/shader.cpp
+--- intern/cycles/render/shader.cpp.orig
++++ intern/cycles/render/shader.cpp
+@@ -192,7 +192,7 @@ NODE_DEFINE(Shader)
+ return type;
+ }
+
+-Shader::Shader() : Node(node_type)
++Shader::Shader() : Node(get_node_type())
+ {
+ pass_id = 0;
+
+@@ -241,7 +241,7 @@ bool Shader::is_constant_emission(float3 *emission)
+ return false;
+ }
+
+- if (surf->link->parent->type == EmissionNode::node_type) {
++ if (surf->link->parent->type == EmissionNode::get_node_type()) {
+ EmissionNode *node = (EmissionNode *)surf->link->parent;
+
+ assert(node->input("Color"));
+@@ -253,7 +253,7 @@ bool Shader::is_constant_emission(float3 *emission)
+
+ *emission = node->get_color() * node->get_strength();
+ }
+- else if (surf->link->parent->type == BackgroundNode::node_type) {
++ else if (surf->link->parent->type == BackgroundNode::get_node_type()) {
+ BackgroundNode *node = (BackgroundNode *)surf->link->parent;
+
+ assert(node->input("Color"));
Index: patches/patch-intern_cycles_render_volume_cpp
===================================================================
RCS file: patches/patch-intern_cycles_render_volume_cpp
diff -N patches/patch-intern_cycles_render_volume_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-intern_cycles_render_volume_cpp 18 Mar 2021 03:27:00 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: intern/cycles/render/volume.cpp
+--- intern/cycles/render/volume.cpp.orig
++++ intern/cycles/render/volume.cpp
+@@ -36,7 +36,7 @@ CCL_NAMESPACE_BEGIN
+
+ NODE_DEFINE(Volume)
+ {
+- NodeType *type = NodeType::add("volume", create, NodeType::NONE, Mesh::node_type);
++ NodeType *type = NodeType::add("volume", create, NodeType::NONE, Mesh::get_node_type());
+
+ SOCKET_FLOAT(clipping, "Clipping", 0.001f);
+ SOCKET_FLOAT(step_size, "Step Size", 0.0f);
+@@ -45,7 +45,7 @@ NODE_DEFINE(Volume)
+ return type;
+ }
+
+-Volume::Volume() : Mesh(node_type, Geometry::VOLUME)
++Volume::Volume() : Mesh(get_node_type(), Geometry::VOLUME)
+ {
+ clipping = 0.001f;
+ step_size = 0.0f;
Index: patches/patch-intern_guardedalloc_intern_mallocn_c
===================================================================
RCS file: /cvs/ports/graphics/blender/patches/patch-intern_guardedalloc_intern_mallocn_c,v
retrieving revision 1.5
diff -u -p -r1.5 patch-intern_guardedalloc_intern_mallocn_c
--- patches/patch-intern_guardedalloc_intern_mallocn_c 29 Nov 2020 19:57:01 -0000 1.5
+++ patches/patch-intern_guardedalloc_intern_mallocn_c 18 Mar 2021 03:27:00 -0000
@@ -3,9 +3,9 @@ $OpenBSD: patch-intern_guardedalloc_inte
Use posix_memalign() on OpenBSD.

Index: intern/guardedalloc/intern/mallocn.c
---- intern/guardedalloc/intern/mallocn.c.orig Tue Sep 22 19:36:29 2020
-+++ intern/guardedalloc/intern/mallocn.c Sun Nov 22 13:12:51 2020
-@@ -71,7 +71,8 @@ void *aligned_malloc(size_t size, size_t alignment)
+--- intern/guardedalloc/intern/mallocn.c.orig
++++ intern/guardedalloc/intern/mallocn.c
+@@ -72,7 +72,8 @@ void *aligned_malloc(size_t size, size_t alignment)

#ifdef _WIN32
return _aligned_malloc(size, alignment);
Index: patches/patch-source_blender_blenkernel_intern_packedFile_c
===================================================================
RCS file: /cvs/ports/graphics/blender/patches/patch-source_blender_blenkernel_intern_packedFile_c,v
retrieving revision 1.11
diff -u -p -r1.11 patch-source_blender_blenkernel_intern_packedFile_c
--- patches/patch-source_blender_blenkernel_intern_packedFile_c 29 Nov 2020 19:57:01 -0000 1.11
+++ patches/patch-source_blender_blenkernel_intern_packedFile_c 18 Mar 2021 03:27:00 -0000
@@ -1,9 +1,9 @@
$OpenBSD: patch-source_blender_blenkernel_intern_packedFile_c,v 1.11 2020/11/29 19:57:01 sthen Exp $

Index: source/blender/blenkernel/intern/packedFile.c
---- source/blender/blenkernel/intern/packedFile.c.orig Wed Nov 25 14:01:32 2020
-+++ source/blender/blenkernel/intern/packedFile.c Sat Nov 28 21:50:54 2020
-@@ -330,7 +330,7 @@ int BKE_packedfile_write_to_file(ReportList *reports,
+--- source/blender/blenkernel/intern/packedFile.c.orig
++++ source/blender/blenkernel/intern/packedFile.c
+@@ -333,7 +333,7 @@ int BKE_packedfile_write_to_file(ReportList *reports,
/* make sure the path to the file exists... */
BLI_make_existing_file(name);

Index: patches/patch-source_blender_blenloader_intern_readfile_h
===================================================================
RCS file: /cvs/ports/graphics/blender/patches/patch-source_blender_blenloader_intern_readfile_h,v
retrieving revision 1.1
diff -u -p -r1.1 patch-source_blender_blenloader_intern_readfile_h
--- patches/patch-source_blender_blenloader_intern_readfile_h 29 Nov 2020 19:57:01 -0000 1.1
+++ patches/patch-source_blender_blenloader_intern_readfile_h 18 Mar 2021 03:27:00 -0000
@@ -1,9 +1,9 @@
$OpenBSD: patch-source_blender_blenloader_intern_readfile_h,v 1.1 2020/11/29 19:57:01 sthen Exp $

Index: source/blender/blenloader/intern/readfile.h
---- source/blender/blenloader/intern/readfile.h.orig Wed Nov 25 14:01:32 2020
-+++ source/blender/blenloader/intern/readfile.h Sat Nov 28 21:50:54 2020
-@@ -62,7 +62,8 @@ enum eFileDataFlag {
+--- source/blender/blenloader/intern/readfile.h.orig
++++ source/blender/blenloader/intern/readfile.h
+@@ -59,7 +59,8 @@ enum eFileDataFlag {
# pragma GCC poison off_t

No comments:

Post a Comment