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 #endif Index: patches/patch-source_blender_blenloader_intern_writefile_c =================================================================== RCS file: /cvs/ports/graphics/blender/patches/patch-source_blender_blenloader_intern_writefile_c,v retrieving revision 1.16 diff -u -p -r1.16 patch-source_blender_blenloader_intern_writefile_c --- patches/patch-source_blender_blenloader_intern_writefile_c 29 Nov 2020 19:57:01 -0000 1.16 +++ patches/patch-source_blender_blenloader_intern_writefile_c 18 Mar 2021 03:27:00 -0000 @@ -1,9 +1,9 @@ $OpenBSD: patch-source_blender_blenloader_intern_writefile_c,v 1.16 2020/11/29 19:57:01 sthen Exp $ Index: source/blender/blenloader/intern/writefile.c ---- source/blender/blenloader/intern/writefile.c.orig Wed Nov 25 14:01:32 2020 -+++ source/blender/blenloader/intern/writefile.c Sat Nov 28 21:50:54 2020 -@@ -216,7 +216,7 @@ static bool ww_open_none(WriteWrap *ww, const char *fi +--- source/blender/blenloader/intern/writefile.c.orig ++++ source/blender/blenloader/intern/writefile.c +@@ -173,7 +173,7 @@ static bool ww_open_none(WriteWrap *ww, const char *fi { int file; Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/graphics/blender/pkg/PLIST,v retrieving revision 1.29 diff -u -p -r1.29 PLIST --- pkg/PLIST 29 Nov 2020 19:57:01 -0000 1.29 +++ pkg/PLIST 18 Mar 2021 03:27:06 -0000 @@ -1364,6 +1364,7 @@ share/blender/datafiles/blender_icons32/ share/blender/datafiles/blender_icons_geom.py share/blender/datafiles/blender_icons_geom_update.py share/blender/datafiles/blender_icons_update.py +share/blender/datafiles/blender_logo.png share/blender/datafiles/brushicons/ share/blender/datafiles/brushicons/blob.png share/blender/datafiles/brushicons/blur.png @@ -1480,6 +1481,7 @@ share/blender/datafiles/icons/brush.scul share/blender/datafiles/icons/brush.sculpt.cloth.dat share/blender/datafiles/icons/brush.sculpt.crease.dat share/blender/datafiles/icons/brush.sculpt.displacement_eraser.dat +share/blender/datafiles/icons/brush.sculpt.displacement_smear.dat share/blender/datafiles/icons/brush.sculpt.draw.dat share/blender/datafiles/icons/brush.sculpt.draw_face_sets.dat share/blender/datafiles/icons/brush.sculpt.draw_sharp.dat @@ -1687,6 +1689,7 @@ share/blender/datafiles/studiolights/mat share/blender/datafiles/studiolights/studio/ share/blender/datafiles/studiolights/studio/basic.sl share/blender/datafiles/studiolights/studio/outdoor.sl +share/blender/datafiles/studiolights/studio/paint.sl share/blender/datafiles/studiolights/studio/rim.sl share/blender/datafiles/studiolights/studio/studio.sl share/blender/datafiles/studiolights/world/ @@ -2255,7 +2258,9 @@ share/blender/scripts/addons/blenderkit/ ${MODPY_COMMENT}share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}/ share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}append_link.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}asset_bar_op.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}asset_inspector.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}asset_pack_bg.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}autothumb.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}autothumb_material_bg.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}autothumb_model_bg.${MODPY_PYC_MAGIC_TAG}pyc @@ -2265,11 +2270,14 @@ share/blender/scripts/addons/blenderkit/ share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}colors.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}icons.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}image_utils.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}oauth.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}overrides.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}paths.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}ratings.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}rerequests.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}resolutions.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}resolutions_bg.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}search.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}tasks_queue.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}ui.${MODPY_PYC_MAGIC_TAG}pyc @@ -2280,12 +2288,28 @@ share/blender/scripts/addons/blenderkit/ share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/${MODPY_PYCACHE}version_checker.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/blenderkit/append_link.py +share/blender/scripts/addons/blenderkit/asset_bar_op.py share/blender/scripts/addons/blenderkit/asset_inspector.py +share/blender/scripts/addons/blenderkit/asset_pack_bg.py share/blender/scripts/addons/blenderkit/autothumb.py share/blender/scripts/addons/blenderkit/autothumb_material_bg.py share/blender/scripts/addons/blenderkit/autothumb_model_bg.py share/blender/scripts/addons/blenderkit/bg_blender.py share/blender/scripts/addons/blenderkit/bkit_oauth.py +share/blender/scripts/addons/blenderkit/bl_ui_widgets/ +share/blender/scripts/addons/blenderkit/bl_ui_widgets/__init__.py +${MODPY_COMMENT}share/blender/scripts/addons/blenderkit/bl_ui_widgets/${MODPY_PYCACHE}/ +share/blender/scripts/addons/blenderkit/bl_ui_widgets/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/bl_ui_widgets/${MODPY_PYCACHE}bl_ui_button.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/bl_ui_widgets/${MODPY_PYCACHE}bl_ui_drag_panel.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/bl_ui_widgets/${MODPY_PYCACHE}bl_ui_draw_op.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/bl_ui_widgets/${MODPY_PYCACHE}bl_ui_label.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/bl_ui_widgets/${MODPY_PYCACHE}bl_ui_widget.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/blenderkit/bl_ui_widgets/bl_ui_button.py +share/blender/scripts/addons/blenderkit/bl_ui_widgets/bl_ui_drag_panel.py +share/blender/scripts/addons/blenderkit/bl_ui_widgets/bl_ui_draw_op.py +share/blender/scripts/addons/blenderkit/bl_ui_widgets/bl_ui_label.py +share/blender/scripts/addons/blenderkit/bl_ui_widgets/bl_ui_widget.py share/blender/scripts/addons/blenderkit/blendfiles/ share/blender/scripts/addons/blenderkit/blendfiles/cleaned.blend share/blender/scripts/addons/blenderkit/blendfiles/material_thumbnailer_cycles.blend @@ -2296,11 +2320,14 @@ share/blender/scripts/addons/blenderkit/ share/blender/scripts/addons/blenderkit/data/categories.json share/blender/scripts/addons/blenderkit/download.py share/blender/scripts/addons/blenderkit/icons.py +share/blender/scripts/addons/blenderkit/image_utils.py share/blender/scripts/addons/blenderkit/oauth.py share/blender/scripts/addons/blenderkit/overrides.py share/blender/scripts/addons/blenderkit/paths.py share/blender/scripts/addons/blenderkit/ratings.py share/blender/scripts/addons/blenderkit/rerequests.py +share/blender/scripts/addons/blenderkit/resolutions.py +share/blender/scripts/addons/blenderkit/resolutions_bg.py share/blender/scripts/addons/blenderkit/search.py share/blender/scripts/addons/blenderkit/tasks_queue.py share/blender/scripts/addons/blenderkit/thumbnails/ @@ -2311,8 +2338,6 @@ share/blender/scripts/addons/blenderkit/ share/blender/scripts/addons/blenderkit/thumbnails/fp.png share/blender/scripts/addons/blenderkit/thumbnails/locked.png share/blender/scripts/addons/blenderkit/thumbnails/locked_large.png -share/blender/scripts/addons/blenderkit/thumbnails/rating_ui.png -share/blender/scripts/addons/blenderkit/thumbnails/rating_ui_empty.png share/blender/scripts/addons/blenderkit/thumbnails/star_white.png share/blender/scripts/addons/blenderkit/thumbnails/thumbnail_not_available.jpg share/blender/scripts/addons/blenderkit/thumbnails/thumbnail_notready.jpg @@ -2756,6 +2781,7 @@ share/blender/scripts/addons/io_scene_gl share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_scene.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_texture.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_vnode.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_io_draco_compression_extension.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_clearcoat.py share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_unlit.py @@ -2774,6 +2800,7 @@ share/blender/scripts/addons/io_scene_gl share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_scene.py share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_texture.py share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_vnode.py +share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_io_draco_compression_extension.py share/blender/scripts/addons/io_scene_gltf2/io/ share/blender/scripts/addons/io_scene_gltf2/io/__init__.py ${MODPY_COMMENT}share/blender/scripts/addons/io_scene_gltf2/io/${MODPY_PYCACHE}/ @@ -2781,15 +2808,15 @@ share/blender/scripts/addons/io_scene_gl share/blender/scripts/addons/io_scene_gltf2/io/com/ ${MODPY_COMMENT}share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}/ share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io.${MODPY_PYC_MAGIC_TAG}pyc -share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_color_management.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_constants.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_debug.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_draco_compression_extension.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_extensions.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_lights_punctual.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io.py -share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_color_management.py share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_constants.py share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_debug.py +share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_extensions.py share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_lights_punctual.py share/blender/scripts/addons/io_scene_gltf2/io/exp/ @@ -3128,6 +3155,7 @@ share/blender/scripts/addons/object_coll share/blender/scripts/addons/object_collection_manager/__init__.py ${MODPY_COMMENT}share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}/ share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}cm_init.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}internals.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}operator_utils.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}operators.${MODPY_PYC_MAGIC_TAG}pyc @@ -3137,6 +3165,7 @@ share/blender/scripts/addons/object_coll share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}qcd_move_widget.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}qcd_operators.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/object_collection_manager/${MODPY_PYCACHE}ui.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/object_collection_manager/cm_init.py share/blender/scripts/addons/object_collection_manager/icons/ share/blender/scripts/addons/object_collection_manager/icons/minus.png share/blender/scripts/addons/object_collection_manager/internals.py @@ -3648,6 +3677,20 @@ share/blender/scripts/addons/presets/ope share/blender/scripts/addons/presets/operator/mesh.primitive_xyz_function_surface/sterosphere.py share/blender/scripts/addons/presets/operator/mesh.primitive_xyz_function_surface/torus.py share/blender/scripts/addons/presets/operator/mesh.primitive_xyz_function_surface/twisted_torus.py +share/blender/scripts/addons/presets/operator/sun_position/ +${MODPY_COMMENT}share/blender/scripts/addons/presets/operator/sun_position/${MODPY_PYCACHE}/ +share/blender/scripts/addons/presets/operator/sun_position/${MODPY_PYCACHE}chongqing.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/presets/operator/sun_position/${MODPY_PYCACHE}kinshasa.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/presets/operator/sun_position/${MODPY_PYCACHE}london.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/presets/operator/sun_position/${MODPY_PYCACHE}new_york.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/presets/operator/sun_position/${MODPY_PYCACHE}sao_paulo.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/presets/operator/sun_position/${MODPY_PYCACHE}sydney.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/presets/operator/sun_position/chongqing.py +share/blender/scripts/addons/presets/operator/sun_position/kinshasa.py +share/blender/scripts/addons/presets/operator/sun_position/london.py +share/blender/scripts/addons/presets/operator/sun_position/new_york.py +share/blender/scripts/addons/presets/operator/sun_position/sao_paulo.py +share/blender/scripts/addons/presets/operator/sun_position/sydney.py share/blender/scripts/addons/presets/pov/ share/blender/scripts/addons/presets/pov/light/ share/blender/scripts/addons/presets/pov/light/01_(4800K)_Direct_Sun.py @@ -4009,6 +4052,7 @@ share/blender/scripts/addons/rigify/rigs ${MODPY_COMMENT}share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}/ share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}arm.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}front_paw.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}leg.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}limb_rigs.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}limb_utils.${MODPY_PYC_MAGIC_TAG}pyc @@ -4019,6 +4063,7 @@ share/blender/scripts/addons/rigify/rigs share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}super_limb.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/rigify/rigs/limbs/${MODPY_PYCACHE}super_palm.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/addons/rigify/rigs/limbs/arm.py +share/blender/scripts/addons/rigify/rigs/limbs/front_paw.py share/blender/scripts/addons/rigify/rigs/limbs/leg.py share/blender/scripts/addons/rigify/rigs/limbs/limb_rigs.py share/blender/scripts/addons/rigify/rigs/limbs/limb_utils.py @@ -4360,6 +4405,7 @@ share/blender/scripts/modules/bl_i18n_ut share/blender/scripts/modules/bl_i18n_utils/${MODPY_PYCACHE}settings.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bl_i18n_utils/${MODPY_PYCACHE}settings_user.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bl_i18n_utils/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/modules/bl_i18n_utils/${MODPY_PYCACHE}utils_cli.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bl_i18n_utils/${MODPY_PYCACHE}utils_languages_menu.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bl_i18n_utils/${MODPY_PYCACHE}utils_rtl.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bl_i18n_utils/${MODPY_PYCACHE}utils_spell_check.${MODPY_PYC_MAGIC_TAG}pyc @@ -4368,6 +4414,7 @@ share/blender/scripts/modules/bl_i18n_ut share/blender/scripts/modules/bl_i18n_utils/settings.py share/blender/scripts/modules/bl_i18n_utils/settings_user.py share/blender/scripts/modules/bl_i18n_utils/utils.py +share/blender/scripts/modules/bl_i18n_utils/utils_cli.py share/blender/scripts/modules/bl_i18n_utils/utils_languages_menu.py share/blender/scripts/modules/bl_i18n_utils/utils_rtl.py share/blender/scripts/modules/bl_i18n_utils/utils_spell_check.py @@ -4379,10 +4426,12 @@ share/blender/scripts/modules/bl_keymap_ share/blender/scripts/modules/bl_keymap_utils/${MODPY_PYCACHE}keymap_from_toolbar.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bl_keymap_utils/${MODPY_PYCACHE}keymap_hierarchy.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bl_keymap_utils/${MODPY_PYCACHE}platform_helpers.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/modules/bl_keymap_utils/${MODPY_PYCACHE}versioning.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bl_keymap_utils/io.py share/blender/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py share/blender/scripts/modules/bl_keymap_utils/keymap_hierarchy.py share/blender/scripts/modules/bl_keymap_utils/platform_helpers.py +share/blender/scripts/modules/bl_keymap_utils/versioning.py share/blender/scripts/modules/bl_previews_utils/ ${MODPY_COMMENT}share/blender/scripts/modules/bl_previews_utils/${MODPY_PYCACHE}/ share/blender/scripts/modules/bl_previews_utils/${MODPY_PYCACHE}bl_previews_render.${MODPY_PYC_MAGIC_TAG}pyc @@ -4415,6 +4464,7 @@ share/blender/scripts/modules/bpy_extras ${MODPY_COMMENT}share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}/ share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}anim_utils.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}asset_utils.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}image_utils.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}io_utils.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}keyconfig_utils.${MODPY_PYC_MAGIC_TAG}pyc @@ -4424,6 +4474,7 @@ share/blender/scripts/modules/bpy_extras share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}object_utils.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}view3d_utils.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/modules/bpy_extras/anim_utils.py +share/blender/scripts/modules/bpy_extras/asset_utils.py share/blender/scripts/modules/bpy_extras/image_utils.py share/blender/scripts/modules/bpy_extras/io_utils.py share/blender/scripts/modules/bpy_extras/keyconfig_utils.py @@ -4833,12 +4884,13 @@ ${MODPY_COMMENT}share/blender/scripts/st share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}add_mesh_torus.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}anim.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}assets.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}clip.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}console.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}constraint.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}file.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}freestyle.${MODPY_PYC_MAGIC_TAG}pyc -share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}gpencil_mesh_bake.${MODPY_PYC_MAGIC_TAG}pyc +share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}geometry_nodes.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}image.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}mesh.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}node.${MODPY_PYC_MAGIC_TAG}pyc @@ -4850,7 +4902,6 @@ share/blender/scripts/startup/bl_operato share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}rigidbody.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}screen_play_rendered_anim.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}sequencer.${MODPY_PYC_MAGIC_TAG}pyc -share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}simulation.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}userpref.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}uvcalc_follow_active.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}uvcalc_lightmap.${MODPY_PYC_MAGIC_TAG}pyc @@ -4859,6 +4910,7 @@ share/blender/scripts/startup/bl_operato share/blender/scripts/startup/bl_operators/${MODPY_PYCACHE}wm.${MODPY_PYC_MAGIC_TAG}pyc share/blender/scripts/startup/bl_operators/add_mesh_torus.py share/blender/scripts/startup/bl_operators/anim.py +share/blender/scripts/startup/bl_operators/assets.py share/blender/scripts/startup/bl_operators/bmesh/ ${MODPY_COMMENT}share/blender/scripts/startup/bl_operators/bmesh/${MODPY_PYCACHE}/ share/blender/scripts/startup/bl_operators/bmesh/${MODPY_PYCACHE}find_adjacent.${MODPY_PYC_MAGIC_TAG}pyc @@ -4868,7 +4920,7 @@ share/blender/scripts/startup/bl_operato share/blender/scripts/startup/bl_operators/constraint.py share/blender/scripts/startup/bl_operators/file.py share/blender/scripts/startup/bl_operators/freestyle.py -share/blender/scripts/startup/bl_operators/gpencil_mesh_bake.py +share/blender/scripts/startup/bl_operators/geometry_nodes.py share/blender/scripts/startup/bl_operators/image.py share/blender/scripts/startup/bl_operators/mesh.py share/blender/scripts/startup/bl_operators/node.py @@ -4880,7 +4932,6 @@ share/blender/scripts/startup/bl_operato share/blender/scripts/startup/bl_operators/rigidbody.py share/blender/scripts/startup/bl_operators/screen_play_rendered_anim.py share/blender/scripts/startup/bl_operators/sequencer.py -share/blender/scripts/startup/bl_operators/simulation.py share/blender/scripts/startup/bl_operators/userpref.py share/blender/scripts/startup/bl_operators/uvcalc_follow_active.py share/blender/scripts/startup/bl_operators/uvcalc_lightmap.py @@ -5104,11 +5155,11 @@ share/doc/blender/BSL-1.0.txt share/doc/blender/FTL.txt share/doc/blender/GPL-3.0.txt share/doc/blender/GPL-license.txt -share/doc/blender/ISC.txt share/doc/blender/MIT.txt share/doc/blender/OpenColorIO.txt share/doc/blender/OpenSSL.txt share/doc/blender/Python.txt +share/doc/blender/THIRD-PARTY-LICENSES.txt share/doc/blender/bfont.ttf.txt share/doc/blender/bmonofont-i18n.ttf.txt share/doc/blender/copyright.txt