|
Blender V4.3
|
#include <algorithm>#include <cmath>#include "DNA_anim_types.h"#include "DNA_brush_types.h"#include "DNA_camera_types.h"#include "DNA_collection_types.h"#include "DNA_constraint_types.h"#include "DNA_curve_types.h"#include "DNA_defaults.h"#include "DNA_light_types.h"#include "DNA_lightprobe_types.h"#include "DNA_material_types.h"#include "DNA_mesh_types.h"#include "DNA_modifier_types.h"#include "DNA_movieclip_types.h"#include "DNA_scene_types.h"#include "DNA_sequence_types.h"#include "DNA_workspace_types.h"#include "DNA_world_types.h"#include "DNA_defs.h"#include "DNA_genfile.h"#include "DNA_particle_types.h"#include "BLI_assert.h"#include "BLI_listbase.h"#include "BLI_map.hh"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_set.hh"#include "BLI_string.h"#include "BLI_string_ref.hh"#include "BKE_anim_data.hh"#include "BKE_animsys.h"#include "BKE_armature.hh"#include "BKE_attribute.hh"#include "BKE_collection.hh"#include "BKE_colortools.hh"#include "BKE_context.hh"#include "BKE_curve.hh"#include "BKE_customdata.hh"#include "BKE_effect.h"#include "BKE_file_handler.hh"#include "BKE_grease_pencil.hh"#include "BKE_idprop.hh"#include "BKE_image_format.hh"#include "BKE_main.hh"#include "BKE_material.h"#include "BKE_mesh_legacy_convert.hh"#include "BKE_nla.hh"#include "BKE_node_runtime.hh"#include "BKE_paint.hh"#include "BKE_scene.hh"#include "BKE_screen.hh"#include "BKE_tracking.h"#include "IMB_imbuf_enums.h"#include "SEQ_iterator.hh"#include "SEQ_retiming.hh"#include "SEQ_sequencer.hh"#include "SEQ_time.hh"#include "ANIM_action.hh"#include "ANIM_action_iterators.hh"#include "ANIM_armature_iter.hh"#include "ANIM_bone_collections.hh"#include "BLT_translation.hh"#include "BLO_read_write.hh"#include "BLO_readfile.hh"#include "readfile.hh"#include "versioning_common.hh"Go to the source code of this file.
Classes | |
| struct | ActionUserInfo |
| struct | AlphaSource |
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
| #define | DNA_GENFILE_VERSIONING_MACROS |
| #define | SCE_SNAP_PROJECT (1 << 3) |
| #define DNA_DEPRECATED_ALLOW |
Definition at line 9 of file versioning_400.cc.
| #define DNA_GENFILE_VERSIONING_MACROS |
Definition at line 15 of file versioning_400.cc.
| #define SCE_SNAP_PROJECT (1 << 3) |
Referenced by blo_do_versions_400().
|
static |
Definition at line 3011 of file versioning_400.cc.
References BevelModifierData::edge_weight_name, eModifierType_Bevel, LISTBASE_FOREACH, OB_MESH, Main::objects, STRNCPY, and BevelModifierData::vertex_weight_name.
|
static |
Definition at line 2933 of file versioning_400.cc.
References do_versions_add_region_if_not_found(), LISTBASE_FOREACH, RGN_ALIGN_BOTTOM, RGN_ALIGN_HIDE_WITH_PREV, RGN_FLAG_HIDDEN, RGN_TYPE_ASSET_SHELF, RGN_TYPE_ASSET_SHELF_HEADER, RGN_TYPE_TOOL_HEADER, Main::screens, and SPACE_IMAGE.
|
static |
Definition at line 1006 of file versioning_400.cc.
References engines, ListBase::first, LISTBASE_FOREACH, Main::scenes, and STREQ.
Referenced by do_versions_after_linking_400().
CharInfo mat_nr used to start at 1, unlike mesh & nurbs, now zero-based.
NOTE: This versioning code didn't update the subversion number.
Always bump subversion in BKE_blender_version.h when adding versioning code here, and wrap it inside a MAIN_VERSION_FILE_ATLEAST check.
Definition at line 3076 of file versioning_400.cc.
References Main::actions, RegionAssetShelf::active_shelf, BKE_mesh_legacy_bevel_weight_to_generic(), BKE_scene_disable_color_management(), BLI_freelistN(), BLI_listbase_clear(), Main::brushes, Main::cameras, ColorManagedDisplaySettings::display_device, DNA_struct_default_get, do_versions_add_region_if_not_found(), blender::bke::Face, FileData::filesdna, Camera::fisheye_fov, Camera::fisheye_lens, Camera::fisheye_polynomial_k0, Camera::fisheye_polynomial_k1, Camera::fisheye_polynomial_k2, Camera::fisheye_polynomial_k3, Camera::fisheye_polynomial_k4, SpaceNodeOverlay::flag, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, Main::grease_pencils, IDP_FreeProperty(), bNodeTreeInterfaceItem::item_type, LA_SPOT, Camera::latitude_max, Camera::latitude_min, LIGHT_PROBE_RESOLUTION_1024, LIGHTPROBE_GRID_CAPTURE_EMISSION, LIGHTPROBE_GRID_CAPTURE_INDIRECT, LIGHTPROBE_GRID_CAPTURE_WORLD, Main::lightprobes, Main::lights, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, Camera::longitude_max, Camera::longitude_min, MAIN_VERSION_FILE_ATLEAST, max_ff(), MAXFRAMEF, MEM_freeN(), MEM_SAFE_FREE, Main::meshes, min_ff(), MINAFRAMEF, NODE_INTERFACE_PANEL_ALLOW_CHILD_PANELS, NODE_INTERFACE_SOCKET, Main::nodetrees, NTREE_CUSTOM, NTREE_GEOMETRY, NTREE_SHADER, SpaceNode::overlay, Camera::panorama_type, AssetShelf::preferred_row_count, RAYTRACE_EEVEE_METHOD_SCREEN, RGN_ALIGN_BOTTOM, RGN_FLAG_DYNAMIC_SIZE, RGN_FLAG_NO_USER_RESIZE, RGN_SPLIT_PREV, RGN_TYPE_ASSET_SHELF, RGN_TYPE_ASSET_SHELF_HEADER, RGN_TYPE_TOOL_HEADER, SCE_SNAP, SCE_SNAP_PROJECT, SCE_SNAP_TO_GEOM, SCE_SNAP_TO_NONE, Main::scenes, Main::screens, SH_NODE_TEX_NOISE, SN_OVERLAY_SHOW_PREVIEWS, ToolSettings::snap_flag, ToolSettings::snap_mode, ToolSettings::snap_mode_tools, SPACE_NODE, SPACE_VIEW3D, STREQ, version_cycles_properties_from_ID(), version_cycles_property_float(), version_cycles_property_int(), version_mesh_crease_generic(), version_mesh_legacy_to_struct_of_array_format(), version_movieclips_legacy_camera_object(), version_node_group_split_socket(), version_principled_bsdf_coat(), version_principled_bsdf_emission(), version_principled_bsdf_sheen(), version_principled_bsdf_subsurface(), version_principled_transmission_roughness(), version_replace_principled_hair_model(), version_replace_texcoord_normal_socket(), version_replace_velvet_sheen_node(), version_vertex_weight_edit_preserve_threshold_exclusivity(), versioning_convert_node_tree_socket_lists_to_interface(), versioning_remove_microfacet_sharp_distribution(), versioning_replace_legacy_glossy_node(), and Main::worlds.
Referenced by do_versions().
|
static |
Definition at line 2137 of file versioning_400.cc.
References copy_v3_v3(), bNodeSocket::default_value, ELEM, bNodeSocket::idname, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_find_socket(), NODE_REROUTE, SOCK_FLOAT, SOCK_IN, SOCK_OUT, SOCK_ROTATION, SOCK_VECTOR, STREQ, STRNCPY, and bNodeSocket::type.
Referenced by version_geometry_nodes_use_rotation_socket().
|
static |
Definition at line 2180 of file versioning_400.cc.
References ELEM, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_find_socket(), NODE_REROUTE, SOCK_IN, SOCK_OUT, SOCK_ROTATION, SOCK_VECTOR, and STREQ.
Referenced by version_geometry_nodes_use_rotation_socket().
|
static |
Definition at line 117 of file versioning_400.cc.
References BLI_assert, BLI_listbase_count(), bActionGroup::channel_bag, bAction::curves, blender::animrig::Strip::data(), ActionChannelBag::fcurve_array, ActionChannelBag::fcurve_array_num, ActionChannelBag::group_array, ActionChannelBag::group_array_num, bAction::groups, bAction::idroot, ActionSlot::idtype, blender::animrig::Action::is_action_layered(), blender::animrig::Action::layer_add(), LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, and blender::animrig::Action::slot_add().
Referenced by version_legacy_actions_to_layered().
|
static |
Definition at line 2725 of file versioning_400.cc.
References CD_PROP_FLOAT, CurvesGeometry::curve_data, CurvesGeometry::curve_num, CustomData_get_layer_named_for_write(), CustomData_get_named_layer_index(), GreasePencilDrawing::geometry, GP_DRAWING, CustomData::layers, CustomDataLayer::name, STRNCPY, and wrap().
Always bump subversion in BKE_blender_version.h when adding versioning code here, and wrap it inside a MAIN_VERSION_FILE_ATLEAST check.
Definition at line 1027 of file versioning_400.cc.
References AnimData::action, all_scenes_use(), Main::armatures, BKE_animdata_from_id(), BKE_effector_add_weights(), BKE_mesh_legacy_face_map_to_generic(), BLO_reportf_wrap(), BlendFileReadReport::count, bAction::curves, AnimData::drivers, ELEM, FileData::filesdna, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, ID_IS_LINKED, LA_AREA, Main::lights, LISTBASE_FOREACH, M_PI_4, MA_BM_BLEND, MA_BM_CLIP, MA_BM_HASHED, MA_BS_CLIP, MA_BS_HASHED, MA_BS_NONE, MA_BS_SOLID, MAIN_VERSION_FILE_ATLEAST, Main::materials, BlendFileReadReport::missing_obproxies, NTREE_SHADER, Main::objects, Main::particles, RE_engine_id_BLENDER_EEVEE, RE_engine_id_BLENDER_EEVEE_NEXT, FileData::reports, RPT_, RPT_INFO, RPT_WARNING, Main::scenes, SEQ_editing_get(), SEQ_for_each_callback(), Editing::seqbase, STREQ, STRNCPY, USER_EXPERIMENTAL_TEST, version_bonecollection_anim(), version_bonegroup_migrate_color(), version_bonegroups_to_bonecollections(), version_bonelayers_to_bonecollections(), version_composite_nodetree_null_id(), version_legacy_actions_to_layered(), version_nla_tweakmode_incomplete(), version_node_socket_index_animdata(), version_principled_bsdf_update_animdata(), versioning_convert_strip_speed_factor(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), and versioning_eevee_shadow_settings().
Referenced by do_versions_after_linking().
|
static |
Definition at line 2631 of file versioning_400.cc.
References GEO_NODE_ASSET_MODIFIER, bNodeTreeInterfaceItem::item_type, LISTBASE_FOREACH, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_OUTPUT, Main::nodetrees, NTREE_GEOMETRY, and STREQ.
|
static |
It was possible that curve attributes were initialized to 0 even if that is not allowed for some attributes.
Definition at line 2990 of file versioning_400.cc.
References CD_PROP_INT32, CD_PROP_INT8, CustomData_get_layer_named_for_write(), Main::hair_curves, and LISTBASE_FOREACH.
|
static |
Definition at line 2765 of file versioning_400.cc.
References blender::MultiValueMap< Key, Value >::add(), bNode::custom1, ListBase::first, bNode::inputs, blender::Span< T >::is_empty(), bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, bNode::locx, bNode::locy, blender::MultiValueMap< Key, Value >::lookup(), blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_find_socket(), NODE_VECTOR_MATH_ABSOLUTE, bNodeTree::nodes, bNode::outputs, bNode::parent, and SOCK_OUT.
|
static |
Definition at line 3031 of file versioning_400.cc.
References NodeInputBool::boolean, bNodeSocket::default_value, bNodeSocket::identifier, LISTBASE_FOREACH, bNode::locx, bNode::locy, Main::nodetrees, bNode::parent, SOCK_OUT, bNode::storage, STREQ, tree, version_node_add_empty(), version_node_add_link(), and version_node_add_socket().
|
static |
Definition at line 2855 of file versioning_400.cc.
References CurveMapping::clipr, CUMA_DO_CLIP, CUMA_USE_WRAPPING, CurveMapping::curr, CurveMapping::flag, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by seq_hue_correct_set_wrapping(), and versioning_node_hue_correct_set_wrappng().
|
static |
Definition at line 2845 of file versioning_400.cc.
References ELEM, R_IMF_IMTYPE_AVIJPEG, R_IMF_IMTYPE_AVIRAW, and R_IMF_IMTYPE_FFMPEG.
|
static |
Definition at line 2236 of file versioning_400.cc.
Referenced by legacy_socket_move_to_interface().
|
static |
Definition at line 2264 of file versioning_400.cc.
References bNodeSocket::attribute_domain, bNodeTreeInterfaceSocket::attribute_domain, BLI_strdup(), blender::StringRefBase::data(), bNodeSocket::default_attribute_name, bNodeTreeInterfaceSocket::default_attribute_name, bNodeSocket::default_value, bNodeSocket::description, bNodeTreeInterfaceSocket::description, bNodeSocket::flag, bNodeTreeInterfaceSocket::flag, bNodeSocket::identifier, bNodeTreeInterfaceSocket::identifier, bNodeSocket::idname, bNodeTreeInterfaceSocket::item, bNodeTreeInterfaceItem::item_type, legacy_socket_idname_to_socket_type(), bNodeSocket::name, bNodeTreeInterfaceSocket::name, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_HIDE_IN_MODIFIER, NODE_INTERFACE_SOCKET_HIDE_VALUE, NODE_INTERFACE_SOCKET_INPUT, NODE_INTERFACE_SOCKET_OUTPUT, bNodeSocket::prop, bNodeTreeInterfaceSocket::properties, bNodeSocket::runtime, SET_FLAG_FROM_TEST, SOCK_HIDE_IN_MODIFIER, SOCK_HIDE_VALUE, SOCK_IN, bNodeTreeInterfaceSocket::socket_data, and bNodeTreeInterfaceSocket::socket_type.
Referenced by versioning_convert_node_tree_socket_lists_to_interface().
|
static |
Definition at line 2961 of file versioning_400.cc.
|
static |
Definition at line 2801 of file versioning_400.cc.
References StripTransform::filter, SEQ_TRANSFORM_FILTER_AUTO, SEQ_TRANSFORM_FILTER_BILINEAR, Sequence::strip, and Strip::transform.
|
static |
Definition at line 2871 of file versioning_400.cc.
References HueCorrectModifierData::curve_mapping, hue_correct_set_wrapping(), LISTBASE_FOREACH, Sequence::modifiers, and seqModifierType_HueCorrect.
|
static |
Definition at line 2891 of file versioning_400.cc.
References Strip::proxy, Sequence::strip, StripProxy::tc, and versioning_update_timecode().
|
static |
Definition at line 2901 of file versioning_400.cc.
References DEG2RADF, Sequence::effectdata, SEQ_TYPE_TEXT, TextVars::shadow_angle, and Sequence::type.
|
static |
Definition at line 2810 of file versioning_400.cc.
References BKE_paint_brushes_set_default_references(), CTX_MODE_PAINT_GPENCIL_LEGACY, CTX_MODE_PAINT_GREASE_PENCIL, CTX_MODE_PAINT_TEXTURE, CTX_MODE_PAINT_VERTEX, CTX_MODE_PAINT_WEIGHT, CTX_MODE_SCULPT, CTX_MODE_SCULPT_CURVES, CTX_MODE_SCULPT_GPENCIL_LEGACY, CTX_MODE_SCULPT_GREASE_PENCIL, CTX_MODE_VERTEX_GPENCIL_LEGACY, CTX_MODE_VERTEX_GREASE_PENCIL, CTX_MODE_WEIGHT_GPENCIL_LEGACY, CTX_MODE_WEIGHT_GREASE_PENCIL, ELEM, LISTBASE_FOREACH, Main::scenes, SPACE_VIEW3D, STRNCPY, and Main::workspaces.
|
static |
Change animation/drivers from "collections[..." to "collections_all[..." so they remain stable when the bone collection hierarchy structure changes.
Definition at line 424 of file versioning_400.cc.
References BLI_sprintfN(), blender::StringRef::drop_known_prefix(), MEM_freeN(), FCurve::rna_path, and blender::StringRefBase::startswith().
Referenced by do_versions_after_linking_400().
|
static |
Definition at line 266 of file versioning_400.cc.
References BKE_pose_ensure(), BLI_assert_msg, BLI_findlink(), bActionGroup::cs, BoneColor::custom, bActionGroup::customCol, GS, bArmature::id, ID_AR, LISTBASE_FOREACH, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default(), ID::name, OB_ARMATURE, Main::objects, BoneColor::palette_index, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by do_versions_after_linking_400().
|
static |
Definition at line 375 of file versioning_400.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), bPose::agroups, ANIM_armature_bonecoll_assign(), ANIM_armature_bonecoll_new(), ANIM_bonecoll_hide(), BLI_findlink(), bPose::chanbase, LISTBASE_FOREACH, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), OB_ARMATURE, and Main::objects.
Referenced by do_versions_after_linking_400().
|
static |
Definition at line 314 of file versioning_400.cc.
References ANIM_armature_bonecoll_new(), blender::animrig::ANIM_armature_foreach_bone(), ANIM_bonecoll_hide(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Main::armatures, BLI_assert_msg, IDP_GetProperties(), IDP_GetPropertyFromGroup(), IDP_STRING, IDP_String, LISTBASE_FOREACH, MAX_NAME, SNPRINTF, and IDProperty::type.
Referenced by do_versions_after_linking_400().
Definition at line 98 of file versioning_400.cc.
References CMP_NODE_CRYPTOMATTE_SOURCE_RENDER.
Referenced by do_versions_after_linking_400().
|
static |
Definition at line 2486 of file versioning_400.cc.
References BLI_strdup(), BLI_strdup_null(), bNodeTreeInterfaceSocket::default_attribute_name, bNodeTreeInterfaceSocket::description, bNodeTreeInterfaceSocket::identifier, IDP_CopyProperty_ex(), MEM_dupallocN, bNodeTreeInterfaceSocket::name, bNodeTreeInterfaceSocket::properties, bNodeTreeInterfaceSocket::socket_data, and bNodeTreeInterfaceSocket::socket_type.
Referenced by version_node_group_split_socket().
|
static |
Definition at line 2213 of file versioning_400.cc.
References change_input_socket_to_rotation_type(), change_output_socket_to_rotation_type(), LISTBASE_FOREACH_MUTABLE, blender::bke::node_find_socket(), bNodeTree::nodes, SOCK_IN, SOCK_OUT, and STR_ELEM.
|
static |
Definition at line 169 of file versioning_400.cc.
References ActionUserInfo::action_ptr_ptr, Main::actions, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::StringRefNull::c_str(), callback, convert_action_in_place(), FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, ActionUserInfo::id, bAction::id, blender::animrig::Action::is_action_layered(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), LISTBASE_FOREACH, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr(), ID::name, blender::animrig::Slot::name_prefix_for_idtype(), blender::animrig::Slot::name_without_prefix(), printf, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::animrig::Action::slot(), ActionUserInfo::slot_handle, ActionUserInfo::slot_name, and blender::animrig::Action::slot_name_set().
Referenced by do_versions_after_linking_400().
|
static |
Definition at line 1315 of file versioning_400.cc.
References BKE_mesh_legacy_crease_to_generic(), IDProperty::data, eModifierType_Nodes, blender::StringRefBase::endswith(), IDPropertyData::group, IDP_AssignString(), IDP_String, LISTBASE_FOREACH, Main::meshes, blender::bke::node_find_socket(), Main::nodetrees, NTREE_GEOMETRY, Main::objects, SOCK_IN, STR_ELEM, STREQ, STRNCPY, and bNodeSocketValueString::value.
Referenced by blo_do_versions_400().
|
static |
Definition at line 1239 of file versioning_400.cc.
References BKE_mesh_legacy_attribute_flags_to_strings(), BKE_mesh_legacy_bevel_weight_to_layers(), BKE_mesh_legacy_convert_edges_to_generic(), BKE_mesh_legacy_convert_flags_to_hide_layers(), BKE_mesh_legacy_convert_flags_to_selection_layers(), BKE_mesh_legacy_convert_loops_to_corners(), BKE_mesh_legacy_convert_mpoly_to_material_indices(), BKE_mesh_legacy_convert_polys_to_offsets(), BKE_mesh_legacy_convert_uvs_to_generic(), BKE_mesh_legacy_convert_verts_to_positions(), BKE_mesh_legacy_edge_crease_to_layers(), BKE_mesh_legacy_face_set_to_generic(), BKE_mesh_legacy_sharp_edges_from_flags(), BKE_mesh_legacy_sharp_faces_from_flags(), and BKE_mesh_legacy_uv_seam_from_flags().
Referenced by blo_do_versions_400().
|
static |
Definition at line 1258 of file versioning_400.cc.
References MovieTrackingObject::active_plane_track, MovieTrackingObject::active_track, BKE_tracking_object_get_active(), BKE_tracking_object_get_camera(), BLI_assert, BLI_listbase_clear(), BLI_listbase_is_empty(), MovieTrackingReconstruction::cameras, MovieTrackingObject::plane_tracks, MovieTrackingObject::reconstruction, MovieClip::tracking, and MovieTrackingObject::tracks.
Referenced by version_movieclips_legacy_camera_object().
|
static |
Definition at line 1290 of file versioning_400.cc.
References LISTBASE_FOREACH, Main::movieclips, and version_motion_tracking_legacy_camera_object().
Referenced by blo_do_versions_400().
|
static |
Exit NLA tweakmode when the AnimData struct has insufficient information.
When NLA tweakmode is enabled, Blender expects certain pointers to be set up correctly, and if that fails, can crash. This function ensures that everything is consistent, by exiting tweakmode everywhere there's missing pointers.
This shouldn't happen, but the example blend file attached to #119615 needs this.
Definition at line 949 of file versioning_400.cc.
References AnimData::act_track, AnimData::actstrip, ADT_NLA_EDIT_ON, BKE_animdata_from_id(), BKE_nla_tweakmode_exit(), AnimData::flag, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, LISTBASE_FOREACH, and Main::scenes.
Referenced by do_versions_after_linking_400().
|
static |
Definition at line 2571 of file versioning_400.cc.
References BLI_sprintfN(), bNodeTreeInterfaceSocket::flag, MEM_dupallocN, bNodeTreeInterface::next_uid, bNodeTreeInterface::root_panel, version_copy_socket(), and version_nodes_insert_item().
Referenced by blo_do_versions_400().
|
static |
Definition at line 2505 of file versioning_400.cc.
References bNodeTreeInterfacePanel::flag, bNodeTreeInterfaceItem::item_type, bNodeTreeInterfacePanel::items_array, bNodeTreeInterfacePanel::items_num, NODE_INTERFACE_PANEL, NODE_INTERFACE_PANEL_ALLOW_SOCKETS_AFTER_PANELS, pos, and blender::Span< T >::size().
Referenced by version_nodes_insert_item().
|
static |
Definition at line 2549 of file versioning_400.cc.
References blender::MutableSpan< T >::data(), blender::MutableSpan< T >::drop_front(), bNodeTreeInterfaceSocket::item, bNodeTreeInterfacePanel::items_array, bNodeTreeInterfacePanel::items_num, MEM_freeN(), blender::MutableSpan< T >::take_front(), and version_nodes_find_valid_insert_position_for_item().
Referenced by version_node_group_split_socket().
|
static |
Definition at line 2348 of file versioning_400.cc.
References bNodeSocket::link, LISTBASE_FOREACH, blender::bke::node_add_static_socket(), blender::bke::node_find_socket(), bNodeTree::nodes, PROP_NONE, SOCK_FLOAT, SOCK_IN, version_cycles_node_socket_float_value(), and version_node_input_socket_name().
Referenced by blo_do_versions_400().
|
static |
Definition at line 2083 of file versioning_400.cc.
References LISTBASE_FOREACH, blender::bke::node_add_static_socket(), blender::bke::node_find_socket(), bNodeTree::nodes, PROP_NONE, SOCK_FLOAT, SOCK_IN, and version_cycles_node_socket_float_value().
Referenced by blo_do_versions_400().
|
static |
Definition at line 2110 of file versioning_400.cc.
References version_node_input_socket_name().
|
static |
Definition at line 1460 of file versioning_400.cc.
References copy_v4_v4(), node, blender::bke::node_find_socket(), blender::bke::node_modify_socket_type_static(), sheen(), SOCK_IN, SOCK_RGBA, version_cycles_node_socket_float_value(), version_cycles_node_socket_rgba_value(), and version_update_node_input().
Referenced by blo_do_versions_400().
|
static |
Definition at line 2377 of file versioning_400.cc.
References copy_v4_v4(), bNodeLink::fromnode, bNodeLink::fromsock, interp_v4_v4v4(), bNodeSocket::link, LISTBASE_FOREACH, metallic, mix, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_find_socket(), blender::bke::node_modify_socket_type_static(), blender::bke::node_remove_link(), bNodeTree::nodes, SOCK_IN, SOCK_OUT, SOCK_RGBA, bNodeSocket::type, version_cycles_node_socket_float_value(), and version_cycles_node_socket_rgba_value().
|
static |
Definition at line 1993 of file versioning_400.cc.
References copy_v4_v4(), bNodeLink::fromnode, bNodeLink::fromsock, interp_v4_v4v4(), bNodeSocket::link, LISTBASE_FOREACH, mix, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_add_static_socket(), blender::bke::node_find_socket(), blender::bke::node_remove_link(), blender::bke::node_remove_socket(), bNodeTree::nodes, PROP_DISTANCE, SOCK_FLOAT, SOCK_IN, SOCK_OUT, SOCK_RGBA, version_cycles_node_socket_float_value(), and version_cycles_node_socket_rgba_value().
Referenced by blo_do_versions_400().
Definition at line 437 of file versioning_400.cc.
References BKE_animdata_fix_paths_remove(), BKE_animdata_fix_paths_rename(), BKE_animdata_from_id(), BLI_str_escape(), bNodeTree::id, LISTBASE_FOREACH, MAX_NAME, and bNodeTree::nodes.
Referenced by do_versions_after_linking_400().
|
static |
Definition at line 1429 of file versioning_400.cc.
References LISTBASE_FOREACH, blender::bke::node_find_socket(), blender::bke::node_remove_socket(), bNodeTree::nodes, and SOCK_IN.
Referenced by blo_do_versions_400().
|
static |
Definition at line 1494 of file versioning_400.cc.
References bNodeTree::links, LISTBASE_FOREACH, bNode::locx, bNode::locy, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_find_socket(), bNodeTree::nodes, bNode::parent, SH_NODE_OUTPUT_MATERIAL, SH_NODE_VALUE, SOCK_IN, SOCK_OUT, version_cycles_node_socket_float_value(), and version_socket_update_is_used().
|
static |
Definition at line 2123 of file versioning_400.cc.
References data, LISTBASE_FOREACH, bNodeTree::nodes, and SHD_PRINCIPLED_HAIR_CHIANG.
Referenced by blo_do_versions_400().
|
static |
Definition at line 1395 of file versioning_400.cc.
References bNodeTree::links, LISTBASE_FOREACH_MUTABLE, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_find_socket(), blender::bke::node_remove_link(), SH_NODE_TEX_COORD, SH_NODE_VECT_TRANSFORM, SHD_VECT_TRANSFORM_TYPE_NORMAL, SOCK_IN, SOCK_OUT, bNode::storage, STREQ, and NodeShaderVectTransform::type.
Referenced by blo_do_versions_400().
|
static |
Definition at line 1443 of file versioning_400.cc.
References bNodeSocket::identifier, LISTBASE_FOREACH, bNodeSocket::name, blender::bke::node_find_socket(), bNodeTree::nodes, SHD_SHEEN_ASHIKHMIN, SOCK_IN, and STRNCPY.
Referenced by blo_do_versions_400().
|
static |
Definition at line 2659 of file versioning_400.cc.
References BLI_strncat(), LISTBASE_FOREACH, and pos.
Referenced by versioning_nodes_dynamic_sockets(), and versioning_nodes_dynamic_sockets_2().
|
static |
Definition at line 1298 of file versioning_400.cc.
References WeightVGEditModifierData::add_threshold, eModifierType_WeightVGEdit, LISTBASE_FOREACH, OB_MESH, Main::objects, and WeightVGEditModifierData::rem_threshold.
Referenced by blo_do_versions_400().
|
static |
Definition at line 2303 of file versioning_400.cc.
References BLI_listbase_count(), bNodeTreeInterfacePanel::items_array, bNodeTreeInterfacePanel::items_num, legacy_socket_move_to_interface(), LISTBASE_FOREACH_INDEX, MEM_malloc_arrayN, bNodeTreeInterface::root_panel, SOCK_IN, SOCK_OUT, and bNodeTree::tree_interface.
Referenced by blo_do_versions_400().
|
static |
Definition at line 983 of file versioning_400.cc.
References Sequence::endofs, Sequence::len, SEQ_retiming_data_ensure(), SEQ_retiming_is_allowed(), SEQ_retiming_keys_count(), SEQ_retiming_keys_get(), SEQ_time_left_handle_frame_get(), SEQ_time_right_handle_frame_set(), SEQ_TYPE_SOUND_RAM, Sequence::speed_factor, Sequence::startofs, SeqRetimingKey::strip_frame_index, and Sequence::type.
Referenced by do_versions_after_linking_400().
|
static |
WARNING: recursive.
Definition at line 713 of file versioning_400.cc.
References AlphaSource::add(), AlphaSource::alpha_source(), BLI_findlink(), AlphaSource::complex_alpha(), bNodeLink::fromnode, AlphaSource::fully_transparent(), bNodeSocket::link, AlphaSource::mix(), blender::bke::node_find_socket(), NODE_GROUP, NODE_REROUTE, AlphaSource::opaque(), SH_NODE_ADD_SHADER, SH_NODE_BSDF_PRINCIPLED, SH_NODE_BSDF_TRANSPARENT, SH_NODE_EEVEE_SPECULAR, SH_NODE_MIX_SHADER, SOCK_IN, version_cycles_node_socket_float_value(), version_cycles_node_socket_rgba_value(), and versioning_eevee_alpha_source_get().
Referenced by versioning_eevee_alpha_source_get(), and versioning_eevee_material_blend_mode_settings().
|
static |
This function detect the alpha input of a material node-tree and then convert the input alpha to a step function, either statically or using a math node when there is some value plugged in. If the closure mixture mix some alpha more than once, we cannot convert automatically and keep the same behavior. So we bail out in this case.
Only handles the closure tree from the output node.
Definition at line 824 of file versioning_400.cc.
References BLI_findlink(), copy_v4_v4(), bNode::custom1, ListBase::first, bNode::flag, float, bNodeLink::fromsock, bNode::inputs, bNodeSocket::link, bNode::locx, bNode::locy, min_ff(), blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_find_socket(), NODE_HIDDEN, NODE_MATH_GREATER_THAN, blender::bke::node_remove_link(), bNode::outputs, bNode::parent, SH_NODE_OUTPUT_MATERIAL, SOCK_IN, SOCK_RGBA, sum(), bNodeLink::tosock, version_cycles_node_socket_float_value(), version_cycles_node_socket_rgba_value(), version_eevee_output_node_get(), versioning_eevee_alpha_source_get(), and bNode::width.
Referenced by do_versions_after_linking_400().
|
static |
Definition at line 515 of file versioning_400.cc.
References BLI_findlink(), bNode::custom1, bNode::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNode::height, bNode::inputs, bNode::label, bNodeSocket::link, LISTBASE_FOREACH, bNode::locx, bNode::locy, blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_find_socket(), NODE_HIDDEN, blender::bke::node_remove_link(), bNode::outputs, bNode::parent, SH_NODE_OUTPUT_MATERIAL, SHD_OUTPUT_ALL, SHD_OUTPUT_CYCLES, SHD_OUTPUT_EEVEE, SOCK_HIDDEN, SOCK_IN, SOCK_OUT, STRNCPY, and version_eevee_output_node_get().
Referenced by do_versions_after_linking_400().
|
static |
EEVEE no longer uses the Material::blend_shadow property. Instead, it uses Object::visibility_flag for disabling shadow casting
Definition at line 491 of file versioning_400.cc.
References BKE_object_material_get(), BKE_object_material_len_p(), MA_BS_NONE, OB_HIDE_SHADOW, and SET_FLAG_FROM_TEST.
Referenced by do_versions_after_linking_400().
|
static |
Original node tree interface conversion in did not convert socket idnames with subtype suffixes to correct socket base types (see versioning_convert_node_tree_socket_lists_to_interface).
Definition at line 2329 of file versioning_400.cc.
References bNodeTreeInterfaceItem::item_type, NODE_INTERFACE_SOCKET, and bNodeTree::tree_interface.
|
static |
Definition at line 2748 of file versioning_400.cc.
References GP_DRAWING, blender::bke::greasepencil::Drawing::radii_for_write(), and wrap().
|
static |
Definition at line 2595 of file versioning_400.cc.
References b, bNodeTreeInterfaceSocket::flag, NODE_INTERFACE_PANEL, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_OUTPUT, and versioning_node_group_sort_sockets_recursive().
Referenced by versioning_node_group_sort_sockets_recursive().
|
static |
Definition at line 2920 of file versioning_400.cc.
References hue_correct_set_wrapping(), LISTBASE_FOREACH_MUTABLE, bNodeTree::nodes, NTREE_COMPOSIT, and bNodeTree::type.
|
static |
Definition at line 2685 of file versioning_400.cc.
References GEO_NODE_ACCUMULATE_FIELD, GEO_NODE_ATTRIBUTE_STATISTIC, GEO_NODE_BLUR_ATTRIBUTE, GEO_NODE_CAPTURE_ATTRIBUTE, GEO_NODE_EVALUATE_AT_INDEX, GEO_NODE_EVALUATE_ON_DOMAIN, GEO_NODE_INPUT_NAMED_ATTRIBUTE, GEO_NODE_RAYCAST, GEO_NODE_SAMPLE_INDEX, GEO_NODE_SAMPLE_NEAREST_SURFACE, GEO_NODE_SAMPLE_UV_SURFACE, GEO_NODE_STORE_NAMED_ATTRIBUTE, GEO_NODE_VIEWER, LISTBASE_FOREACH, bNodeTree::nodes, and version_socket_identifier_suffixes_for_dynamic_types().
|
static |
Definition at line 2714 of file versioning_400.cc.
References ELEM, LISTBASE_FOREACH, bNodeTree::nodes, and version_socket_identifier_suffixes_for_dynamic_types().
|
static |
Definition at line 1365 of file versioning_400.cc.
References ELEM, LISTBASE_FOREACH, blender::bke::node_remove_link(), bNodeTree::nodes, SHD_GLOSSY_GGX, SHD_GLOSSY_SHARP_DEPRECATED, STREQ, and bNodeSocketValueFloat::value.
Referenced by blo_do_versions_400().
|
static |
Definition at line 1355 of file versioning_400.cc.
References LISTBASE_FOREACH, bNodeTree::nodes, SH_NODE_BSDF_GLOSSY, SH_NODE_BSDF_GLOSSY_LEGACY, and STRNCPY.
Referenced by blo_do_versions_400().
|
static |
Definition at line 1593 of file versioning_400.cc.
References add_node(), BLI_findlink(), bNode::custom1, bNode::custom2, data, ELEM, bNode::flag, bNode::inputs, bNodeSocket::label, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD_MUTABLE, bNode::locx, bNode::locy, MEM_freeN(), blender::bke::node_add_link(), blender::bke::node_add_static_node(), NODE_CLAMP_MINMAX, blender::bke::node_find_socket(), NODE_HIDDEN, NODE_MATH_ADD, NODE_MATH_GREATER_THAN, NODE_MATH_MAXIMUM, NODE_MATH_MINIMUM, NODE_MATH_MULTIPLY, NODE_MATH_POWER, NODE_MATH_SUBTRACT, blender::bke::node_remove_link(), bNodeTree::nodes, bNode::parent, SH_NODE_CLAMP, SH_NODE_MATH, SH_NODE_TEX_MUSGRAVE_DEPRECATED, SH_NODE_TEX_NOISE, SHD_MATH_CLAMP, SHD_NOISE_HETERO_TERRAIN, SHD_NOISE_MULTIFRACTAL, SHD_NOISE_RIDGED_MULTIFRACTAL, SOCK_IN, SOCK_OUT, STREQ, STRNCPY, bNodeSocket::type, version_cycles_node_socket_float_value(), version_node_input_socket_name(), and version_socket_update_is_used().
|
static |
Definition at line 909 of file versioning_400.cc.
References CMP_NODE_SPLIT, CMP_NODE_SPLITVIEWER__DEPRECATED, bNode::flag, LISTBASE_FOREACH_MUTABLE, bNode::locx, bNode::locy, MEM_freeN(), blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_add_static_socket(), blender::bke::node_find_socket(), bNodeTree::nodes, PROP_NONE, SOCK_IMAGE, SOCK_IN, SOCK_OUT, STRNCPY, and bNode::width.
|
static |
Definition at line 1531 of file versioning_400.cc.
References bNode::custom1, bNode::flag, bNodeTree::links, LISTBASE_FOREACH, bNode::locx, bNode::locy, blender::bke::node_add_link(), blender::bke::node_add_static_node(), NODE_CLAMP_MINMAX, blender::bke::node_find_socket(), NODE_HIDDEN, blender::bke::node_remove_link(), bNodeTree::nodes, bNode::parent, SH_NODE_CLAMP, SH_NODE_TEX_NOISE, SHD_NOISE_FBM, SOCK_IN, SOCK_OUT, version_cycles_node_socket_float_value(), and version_socket_update_is_used().
|
static |
Definition at line 2883 of file versioning_400.cc.
References ELEM, and IMB_TC_RECORD_RUN.
Referenced by seq_proxies_timecode_update().