|
Blender V5.0
|
#include <algorithm>#include <cstring>#include "CLG_log.h"#include "MEM_guardedalloc.h"#include "BLI_listbase.h"#include "BLI_math_base_safe.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_multi_value_map.hh"#include "BLI_path_utils.hh"#include "BLI_string.h"#include "BLI_string_utf8.h"#include "BLI_string_utils.hh"#include "BLI_utildefines.h"#include "DNA_anim_types.h"#include "DNA_armature_types.h"#include "DNA_brush_types.h"#include "DNA_collection_types.h"#include "DNA_constraint_types.h"#include "DNA_curve_types.h"#include "DNA_curves_types.h"#include "DNA_genfile.h"#include "DNA_gpencil_modifier_types.h"#include "DNA_light_types.h"#include "DNA_lineart_types.h"#include "DNA_listBase.h"#include "DNA_mask_types.h"#include "DNA_material_types.h"#include "DNA_mesh_types.h"#include "DNA_modifier_types.h"#include "DNA_movieclip_types.h"#include "DNA_screen_types.h"#include "DNA_sequence_types.h"#include "DNA_space_types.h"#include "DNA_text_types.h"#include "DNA_tracking_types.h"#include "DNA_windowmanager_types.h"#include "DNA_workspace_types.h"#include "BKE_action.hh"#include "BKE_anim_data.hh"#include "BKE_animsys.h"#include "BKE_armature.hh"#include "BKE_asset.hh"#include "BKE_attribute.hh"#include "BKE_collection.hh"#include "BKE_colortools.hh"#include "BKE_curve.hh"#include "BKE_curves.hh"#include "BKE_customdata.hh"#include "BKE_data_transfer.h"#include "BKE_deform.hh"#include "BKE_fcurve.hh"#include "BKE_fcurve_driver.h"#include "BKE_idprop.hh"#include "BKE_image.hh"#include "BKE_lib_id.hh"#include "BKE_lib_override.hh"#include "BKE_main.hh"#include "BKE_main_namemap.hh"#include "BKE_mesh.hh"#include "BKE_modifier.hh"#include "BKE_nla.hh"#include "BKE_node.hh"#include "BKE_node_legacy_types.hh"#include "BKE_screen.hh"#include "BKE_workspace.hh"#include "RNA_access.hh"#include "RNA_enum_types.hh"#include "RNA_prototypes.hh"#include "BLO_readfile.hh"#include "readfile.hh"#include "SEQ_channels.hh"#include "SEQ_effects.hh"#include "SEQ_iterator.hh"#include "SEQ_retiming.hh"#include "SEQ_sequencer.hh"#include "SEQ_time.hh"#include "versioning_common.hh"Go to the source code of this file.
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
| #define | DNA_GENFILE_VERSIONING_MACROS |
| #define | STRIP_SPEED_INTEGRATE (1 << 0) |
| #define | STRIP_SPEED_COMPRESS_IPO_Y (1 << 2) |
Variables | |
| static CLG_LogRef | LOG = {"blend.doversion"} |
| #define DNA_DEPRECATED_ALLOW |
Definition at line 9 of file versioning_300.cc.
| #define DNA_GENFILE_VERSIONING_MACROS |
Definition at line 31 of file versioning_300.cc.
| #define STRIP_SPEED_COMPRESS_IPO_Y (1 << 2) |
Referenced by do_versions_sequencer_speed_effect_recursive().
| #define STRIP_SPEED_INTEGRATE (1 << 0) |
Referenced by do_versions_sequencer_speed_effect_recursive().
The geometry nodes modifier used to realize instances for the next modifier implicitly. Now it is done with the realize instances node. It also used to convert meshes to point clouds automatically, which is also now done with a specific node.
Definition at line 557 of file versioning_300.cc.
References BLI_findlink(), ListBase::first, bNode::flag, GEO_NODE_JOIN_GEOMETRY, GEO_NODE_POINTS_TO_VERTICES, GEO_NODE_REALIZE_INSTANCES, GEO_NODE_SEPARATE_COMPONENTS, bNode::inputs, LISTBASE_FOREACH, bNode::locx_legacy, bNode::locy_legacy, blender::bke::node_add_link(), blender::bke::node_add_static_node(), NODE_DO_OUTPUT, NODE_GROUP_INPUT, NODE_GROUP_OUTPUT, NODE_INTERFACE_SOCKET_INPUT, NODE_INTERFACE_SOCKET_OUTPUT, blender::bke::node_set_selected(), blender::bke::node_tree_add_tree(), bNodeTree::nodes, bNode::outputs, bNodeTree::tree_interface, and version_socket_update_is_used().
Referenced by do_versions_after_linking_300().
|
static |
Definition at line 386 of file versioning_300.cc.
References BLI_assert, BLI_strcasecmp(), FOREACH_MAIN_LISTBASE_BEGIN, FOREACH_MAIN_LISTBASE_END, ID::lib, LISTBASE_FOREACH, ID::name, and UNUSED_VARS_NDEBUG.
Referenced by do_versions_after_linking_300().
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 2127 of file versioning_300.cc.
References abs, Main::actions, ARegion::alignment, ARM_DEF_INVERT_VGROUP, Main::armatures, ARRAY_SIZE, FileAssetSelectParams::asset_library_ref, SpaceFile::asset_params, FileAssetSelectParams::base_params, SurfaceDeformModifierData::bind_verts_num, MirrorModifierData::bisect_threshold, BKE_action_groups_reconstruct(), BKE_animdata_main_cb(), BKE_asset_library_reference_init_default(), BKE_attribute_rename(), BKE_curvemapping_add(), BKE_fmodifier_name_set(), BKE_id_attributes_active_color_set(), BKE_id_attributes_default_color_set(), BKE_lib_override_library_is_user_edited(), BKE_main_id_repair_duplicate_names_listbase(), BKE_main_namemap_validate_and_fix(), BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), BKE_region_find_in_listbase_by_type(), BKE_SCENE_COLLECTION_NAME, BKE_workspace_tool_id_replace_table(), BLI_assert, BLI_freelinkN(), BLI_insertlinkafter(), BLI_listbase_swaplinks(), BLI_path_extension_check(), BLI_strncpy_utf8(), View3DOverlay::bone_wire_alpha, SpaceFile::browse_mode, BRUSH_ALPHA_PRESSURE, BRUSH_CURVE_SPHERE, BRUSH_SPACE_ATTEN, Main::brushes, SpaceAction::cache_display, LineartGpencilModifierData::calculation_flags, MovieTracking::camera, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, LineartGpencilModifierData::chain_smooth_tolerance, blender::seq::channels_ensure(), CMP_NODE_LENSDIST, CMP_NODE_OUTPUT_FILE, copy_v3_fl(), copy_v3_fl3(), copy_v4_v4(), CTX_MODE_SCULPT_CURVES, CU_NURB_BEZIER, CU_NURB_CYCLIC, CU_NURB_ENDPOINT, BrushCurvesSculptSettings::curve_length, CURVE_TYPE_BEZIER, CURVE_TYPE_NURBS, CURVE_TYPE_POLY, Main::curves, SpaceImage::custom_grid_subdiv, CustomData_get_active_layer_index(), CustomData_get_layer(), CustomData_get_render_layer_index(), data, ArmatureModifierData::defgrp_name, ArmatureModifierData::deformflag, DENOISER_OPENIMAGEDENOISE, do_version_bbone_len_scale_fcurve_fix(), do_version_bones_bbone_len_scale(), do_version_bones_roll(), do_version_constraints_spline_ik_joint_bindings(), do_version_replace_float_size_with_vector(), do_version_subsurface_methods(), do_versions_add_region(), do_versions_add_region_if_not_found(), do_versions_rename_id(), do_versions_sequencer_color_balance_sop(), do_versions_sequencer_color_tags(), SpaceSeq::draw_flag, AnimData::drivers, DT_LAYERS_ALL_SRC, DT_LAYERS_NAME_DST, DT_MULTILAYER_INDEX_MAX, blender::seq::editing_get(), eGpencilModifierType_Build, eGpencilModifierType_Lineart, eGpencilModifierType_Smooth, ELEM, eModifierMode_Realtime, eModifierMode_Render, eModifierType_Armature, eModifierType_DataTransfer, eModifierType_Lattice, eModifierType_MeshDeform, eModifierType_Mirror, eModifierType_Nodes, eModifierType_SurfaceDeform, eModifierType_WeightVGProximity, SmoothGpencilModifierData::factor, FILE_ASSET_IMPORT_APPEND, FILE_ASSET_IMPORT_APPEND_REUSE, FILE_ASSET_IMPORT_FOLLOW_PREFS, FILE_BROWSE_MODE_ASSETS, FILE_PARAMS_FLAG_UNUSED_1, FILE_PARAMS_FLAG_UNUSED_2, FILE_PARAMS_FLAG_UNUSED_3, FILE_PATH_TOKENS_ALLOW, FILE_SELECT_MAX_RECURSIONS, FileData::filesdna, SpaceOutliner::filter, SpaceSpreadsheet::filter_flag, FileSelectParams::filter_id, FILTER_ID_ALL, FILTER_ID_GR, ARegion::flag, bItasc::flag, FileSelectParams::flag, flag, SequencerPreviewOverlay::flag, SequencerTimelineOverlay::flag, SpaceImage::flag, SpaceImageOverlay::flag, SpaceNodeOverlay::flag, SpaceSeq::flag, View2D::flag, View3DOverlay::flag, View3D::flag2, LineartGpencilModifierData::flags, SpaceText::flags, float, FN_NODE_COMPARE, FN_NODE_SLICE_STRING, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), NodeCompositorFileOutput::format, AttributeOwner::from_id(), GEO_NODE_BOUNDING_BOX, GEO_NODE_CAPTURE_ATTRIBUTE, GEO_NODE_COLLECTION_INFO, GEO_NODE_CURVE_SPLINE_PARAMETER, GEO_NODE_CURVE_SPLINE_TYPE, GEO_NODE_DISTRIBUTE_POINTS_ON_FACES, GEO_NODE_FILL_CURVE, GEO_NODE_FILLET_CURVE, GEO_NODE_INPUT_MESH_EDGE_ANGLE, GEO_NODE_INPUT_MESH_ISLAND, GEO_NODE_MERGE_BY_DISTANCE, GEO_NODE_MERGE_BY_DISTANCE_MODE_ALL, GEO_NODE_MESH_BOOLEAN, GEO_NODE_MESH_PRIMITIVE_CIRCLE, GEO_NODE_MESH_PRIMITIVE_CONE, GEO_NODE_MESH_PRIMITIVE_CUBE, GEO_NODE_MESH_PRIMITIVE_CYLINDER, GEO_NODE_MESH_PRIMITIVE_GRID, GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE, GEO_NODE_MESH_PRIMITIVE_LINE, GEO_NODE_MESH_PRIMITIVE_UV_SPHERE, GEO_NODE_OFFSET_POINT_IN_CURVE, GEO_NODE_POINTS_TO_VOLUME, GEO_NODE_REPLACE_MATERIAL, GEO_NODE_RESAMPLE_CURVE, GEO_NODE_REVERSE_CURVE, GEO_NODE_ROTATE_INSTANCES, GEO_NODE_SAMPLE_CURVE, GEO_NODE_SCALE_INSTANCES, GEO_NODE_SET_CURVE_HANDLES, GEO_NODE_SET_CURVE_RADIUS, GEO_NODE_SET_CURVE_TILT, GEO_NODE_SET_MATERIAL, GEO_NODE_SET_POINT_RADIUS, GEO_NODE_SPLIT_EDGES, GEO_NODE_STRING_TO_CURVES, GEO_NODE_SUBDIVIDE_CURVE, GEO_NODE_SUBDIVIDE_MESH, GEO_NODE_SUBDIVISION_SURFACE, GEO_NODE_TRANSFER_ATTRIBUTE_DEPRECATED, GEO_NODE_TRANSLATE_INSTANCES, GEO_NODE_TRIANGULATE, GEO_NODE_TRIM_CURVE, GEO_NODE_VIEWER, GP_PROJECT_CURSOR, GP_PROJECT_VIEWSPACE, ToolSettings::gpencil_v2d_align, SpaceImage::grid_shape_source, GS, Main::hair_curves, i, ID_BR, ID_IS_LINKED, ID_IS_OVERRIDE_LIBRARY_REAL, ID_OB, ID_VF, bNodeSocket::identifier, bPose::ikparam, bPose::iksolver, IKSOLVER_ITASC, Main::images, FileAssetSelectParams::import_method, ITASC_TRANSLATE_ROOT_BONES, DataTransferModifierData::layers_select_dst, DataTransferModifierData::layers_select_src, LIBOVERRIDE_FLAG_SYSTEM_DEFINED, Main::lights, LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, LISTBASE_FOREACH_MUTABLE, LRT_MATERIAL_CUSTOM_OCCLUSION_EFFECTIVENESS, MAIN_VERSION_FILE_ATLEAST, SpaceSeq::mainb, MASK_DRAWFLAG_SPLINE, Main::materials, blender::seq::MAX_CHANNELS, max_ff(), MEM_callocN(), SurfaceDeformModifierData::mesh_verts_num, Main::meshes, min_ff(), MOD_LINEART_USE_CACHE, MOD_LINEART_USE_CREASE_ON_SMOOTH_SURFACES, MOD_WVG_PROXIMITY_INVERT_VGROUP_MASK, MOD_WVG_PROXIMITY_WEIGHTS_NORMALIZE, Main::movieclips, ArmatureModifierData::multi, bNodeSocket::name, CustomDataLayer::name, ID::name, blender::bke::node_add_link(), blender::bke::node_find_socket(), Main::nodetrees, View3DOverlay::normals_constant_screen_size, NTREE_COMPOSIT, NTREE_CUSTOM, NTREE_GEOMETRY, NTREE_SHADER, OB_ARMATURE, OB_CURVES, OB_DRAWBOUNDOX, OB_FLAG_USE_SIMULATION_CACHE, OB_GPENCIL_LEGACY, OB_HIDE_CAMERA, OB_HIDE_DIFFUSE, OB_HIDE_GLOSSY, OB_HIDE_RENDER, OB_HIDE_SELECT, OB_HIDE_SHADOW, OB_HIDE_TRANSMISSION, OB_HIDE_VIEWPORT, OB_HIDE_VOLUME_SCATTER, OB_HOLDOUT, OB_LAMP, OB_MODE_SCULPT_CURVES, OB_SHADOW_CATCHER, Main::objects, SequencerToolSettings::overlap_mode, SpaceImage::overlay, SpaceNode::overlay, View3D::overlay, SpaceFile::params, SequencerToolSettings::pivot_point, SpaceSeq::preview_overlay, MovieTrackingCamera::principal_legacy, MovieTrackingCamera::principal_point, PROP_NONE, WeightVGProximityModifierData::proximity_flags, FileSelectParams::recursion_level, SpaceSeq::regionbase, View3DOverlay::retopology_offset, RGN_ALIGN_LEFT, RGN_ALIGN_NONE, RGN_ALIGN_RIGHT, RGN_FLAG_HIDDEN, RGN_FLAG_HIDDEN_BY_USER, RGN_TYPE_CHANNELS, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_PREVIEW, RGN_TYPE_TOOL_HEADER, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, ARegion::runtime, safe_sqrtf(), SCE_EEVEE_SHADOW_ENABLED, SCE_SNAP, SCE_SNAP_TO_INCLUDE_EDITED, SCE_SNAP_TO_INCLUDE_NONEDITED, Main::scenes, Main::screens, View2D::scroll, SCULPT_BRUSH_TYPE_SMEAR, View3DOverlay::sculpt_curves_cage_opacity, SEQ_DRAW_IMG_IMBUF, SEQ_OVERLAP_SHUFFLE, SEQ_PREVIEW_SHOW_GPENCIL, SEQ_PREVIEW_SHOW_METADATA, SEQ_PREVIEW_SHOW_OUTLINE_SELECTED, SEQ_PREVIEW_SHOW_SAFE_CENTER, SEQ_PREVIEW_SHOW_SAFE_MARGINS, SEQ_SNAP_TO_CURRENT_FRAME, SEQ_SNAP_TO_STRIP_HOLD, SEQ_SNAP_TO_STRIPS, SEQ_TIMELINE_SHOW_FCURVES, SEQ_TIMELINE_SHOW_GRID, SEQ_TIMELINE_SHOW_STRIP_COLOR_TAG, SEQ_TIMELINE_SHOW_STRIP_DURATION, SEQ_TIMELINE_SHOW_STRIP_NAME, SEQ_TIMELINE_SHOW_STRIP_OFFSETS, SEQ_TIMELINE_SHOW_STRIP_SOURCE, SEQ_VIEW_PREVIEW, SEQ_VIEW_SEQUENCE_PREVIEW, SH_NODE_MAP_RANGE, LineartGpencilModifierData::shadow_camera_far, LineartGpencilModifierData::shadow_camera_near, LineartGpencilModifierData::shadow_camera_size, SI_FLAG_UNUSED_18, SI_GRID_SHAPE_FIXED, SI_OVERLAY_SHOW_GRID_BACKGROUND, SN_OVERLAY_SHOW_NAMED_ATTRIBUTES, SN_OVERLAY_SHOW_OVERLAYS, SN_OVERLAY_SHOW_PATH, SN_OVERLAY_SHOW_WIRE_COLORS, SequencerToolSettings::snap_distance, ToolSettings::snap_face_nearest_steps, ToolSettings::snap_flag, ToolSettings::snap_flag_node, ToolSettings::snap_flag_seq, SequencerToolSettings::snap_mode, ToolSettings::snap_mode, ToolSettings::snap_node_mode, ToolSettings::snap_uv_flag, ToolSettings::snap_uv_mode, SO_FILTER_CLEARED_1, SO_FILTER_NO_VIEW_LAYERS, SOCK_FLOAT, SOCK_IN, SOCK_INT, SOCK_OUT, SPACE_ACTION, SPACE_CLIP, SPACE_FILE, SPACE_GRAPH, SPACE_IMAGE, SPACE_NLA, SPACE_NODE, SPACE_OUTLINER, SPACE_SEQ, SPACE_SPREADSHEET, SPACE_TEXT, SPACE_VIEW3D, BuildGpencilModifierData::speed_fac, BuildGpencilModifierData::speed_maxgap, NodeGeometryCurveSplineType::spline_type, SPREADSHEET_FILTER_ENABLE, sqrtf, ST_FLAG_UNUSED_4, SmoothGpencilModifierData::step, step, STREQ, strip_meta_channels_ensure(), strip_transform_filter_set(), strip_transform_origin_set(), STRNCPY_UTF8, Main::texts, tile, TIME_CACHE_SIMULATION_NODES, SpaceSeq::timeline_overlay, blender::seq::tool_settings_ensure(), TXT_ISSCRIPT, ARegion::v2d, V2D_SCROLL_BOTTOM, V2D_SCROLL_RIGHT, V2D_VIEWSYNC_AREA_VERTICAL, V3D_AROUND_CENTER_MEDIAN, V3D_OFSDRAW_SHOW_SELECTION, V3D_OFSDRAW_XR_SHOW_CONTROLLERS, V3D_OFSDRAW_XR_SHOW_CUSTOM_OVERLAYS, V3D_OVERLAY_FADE_INACTIVE, V3D_OVERLAY_SCULPT_CURVES_CAGE, V3D_OVERLAY_SCULPT_SHOW_FACE_SETS, V3D_OVERLAY_SCULPT_SHOW_MASK, V3D_OVERLAY_VIEWER_ATTRIBUTE, V3D_SHOW_VIEWER, version_cycles_properties_from_ID(), version_cycles_property_boolean(), version_cycles_property_int(), version_cycles_property_int_set(), version_cycles_visibility_properties_from_ID(), version_ensure_missing_regions(), version_fix_image_format_copy(), version_geometry_nodes_add_attribute_input_settings(), version_geometry_nodes_extrude_smooth_propagation(), version_geometry_nodes_primitive_uv_maps(), version_geometry_nodes_set_position_node_offset(), version_liboverride_nla_frame_start_end(), version_liboverride_rnacollections_insertion_animdata(), version_liboverride_rnacollections_insertion_object(), version_merge_still_offsets(), version_node_add_socket_if_not_exist(), version_node_id(), version_node_input_socket_name(), version_node_output_socket_name(), version_node_socket_name(), version_node_tree_socket_id_delim(), version_seq_fix_broken_sound_strips(), version_set_seq_single_frame_content(), version_switch_node_input_prefix(), Main::versionfile, versioning_replace_legacy_mix_rgb_node(), SDefVert::vertex_idx, SurfaceDeformModifierData::verts, view, View3DOverlay::viewer_attribute_opacity, which_libbase(), Main::wm, and Main::workspaces.
Referenced by do_versions().
|
static |
Definition at line 1637 of file versioning_300.cc.
References BLI_assert, compare_v3v3(), dot_v3v3(), legacy_vec_roll_to_mat3_normalized(), mat3_to_vec_roll(), normalize_v3(), sub_v3_v3v3(), UNUSED_VARS_NDEBUG, and vec_roll_to_mat3().
Referenced by do_version_bones_roll().
|
static |
Definition at line 1440 of file versioning_300.cc.
References FCurve::array_index, FCurve::driver, DRIVER_TARGETS_LOOPER_BEGIN, DRIVER_TARGETS_LOOPER_END, LISTBASE_FOREACH, replace_bbone_len_scale_rnapath(), FCurve::rna_path, and ChannelDriver::variables.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1456 of file versioning_300.cc.
References BBONE_ADD_PARENT_END_ROLL, copy_v3_fl3(), do_version_bones_bbone_len_scale(), and LISTBASE_FOREACH.
Referenced by blo_do_versions_300(), and do_version_bones_bbone_len_scale().
|
static |
Definition at line 1670 of file versioning_300.cc.
References correct_bone_roll_value(), do_version_bones_roll(), and LISTBASE_FOREACH.
Referenced by blo_do_versions_300(), and do_version_bones_roll().
|
static |
Definition at line 1470 of file versioning_300.cc.
References CONSTRAINT_TYPE_SPLINEIK, data, and LISTBASE_FOREACH.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1483 of file versioning_300.cc.
References copy_v3_fl(), bNodeSocket::default_value, blender::bke::node_add_socket(), blender::bke::node_remove_socket(), blender::bke::node_static_socket_type(), PROP_TRANSLATION, SOCK_IN, SOCK_VECTOR, bNodeSocketValueFloat::value, and bNodeSocketValueVector::value.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1528 of file versioning_300.cc.
References bNode::custom1, bNode::custom2, ELEM, SH_NODE_BSDF_PRINCIPLED, SH_NODE_SUBSURFACE_SCATTERING, SHD_SUBSURFACE_BURLEY, SHD_SUBSURFACE_RANDOM_WALK, SHD_SUBSURFACE_RANDOM_WALK_SKIN, and bNode::type_legacy.
Referenced by blo_do_versions_300().
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 1092 of file versioning_300.cc.
References add_realize_instances_before_socket(), add_realize_node_tree(), View2D::align, assert_sorted_ids(), BKE_animdata_from_id(), BKE_image_ensure_tile_token(), BKE_modifier_new(), BKE_modifier_unique_name(), BKE_object_defgroup_active_index_get(), BKE_object_defgroup_active_index_set(), BKE_region_find_in_listbase_by_type(), BLI_insertlinkafter(), BLI_uniquename(), ImagePaintSettings::canvas, ImagePaintSettings::clone, View2D::cur, do_versions_idproperty_ui_data(), do_versions_sequencer_speed_effect_recursive(), AnimData::drivers, blender::seq::editing_get(), ELEM, eModifierType_Nodes, ARegion::flag, SpaceSeq::flag, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), GEO_NODE_BOUNDING_BOX, GEO_NODE_SWITCH, id_fake_user_set(), IMA_SRC_TILED, IMA_TYPE_COMPOSITE, IMA_TYPE_R_RESULT, Main::images, ToolSettings::imapaint, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MAIN_VERSION_FILE_ATLEAST, SpaceAction::mode, NodesModifierData::modifier, move_vertex_group_names_to_object_data(), ModifierData::name, name, NodesModifierData::node_group, Main::nodetrees, NTREE_GEOMETRY, NTREE_SHADER, OB_GPENCIL_LEGACY, OB_LATTICE, OB_MESH, Main::objects, offsetof, RGN_FLAG_HIDDEN, RGN_TYPE_UI, RGN_TYPE_WINDOW, SACTCONT_TIMELINE, Main::scenes, Main::screens, SEQ_CLAMP_VIEW, SEQ_VIEW_PREVIEW, SEQ_VIEW_SEQUENCE_PREVIEW, SH_NODE_BSDF_PRINCIPLED, SOCK_COLLECTION, SOCK_GEOMETRY, SOCK_MATERIAL, SOCK_OBJECT, SOCK_TEXTURE, sort_linked_ids(), SPACE_ACTION, SPACE_SEQ, ImagePaintSettings::stencil, bNode::storage, STREQ, strip_speed_factor_set(), STRNCPY_UTF8, Main::texts, Image::type, ARegion::v2d, V2D_ALIGN_NO_NEG_Y, ChannelDriver::variables, version_fix_seq_meta_range(), version_geometry_nodes_add_realize_instance_nodes(), version_geometry_nodes_replace_transfer_attribute_node(), version_nla_action_strip_hold(), version_node_socket_index_animdata(), SpaceSeq::view, and rctf::ymax.
Referenced by do_versions_after_linking().
|
static |
Definition at line 285 of file versioning_300.cc.
References Bone::childbase, do_versions_idproperty_bones_recursive(), LISTBASE_FOREACH, Bone::prop, and version_idproperty_ui_data().
Referenced by do_versions_idproperty_bones_recursive(), and do_versions_idproperty_ui_data().
|
static |
Definition at line 293 of file versioning_300.cc.
References do_versions_idproperty_seq_recursive(), LISTBASE_FOREACH, STRIP_TYPE_META, and version_idproperty_ui_data().
Referenced by do_versions_idproperty_seq_recursive(), and do_versions_idproperty_ui_data().
|
static |
For every data block that supports them, initialize the new IDProperty UI data struct based on the old more complicated storage. Assumes only the top level of IDProperties below the parent group had UI data in a "_RNA_UI" group.
Definition at line 312 of file versioning_300.cc.
References Main::armatures, do_versions_idproperty_bones_recursive(), do_versions_idproperty_seq_recursive(), eModifierType_Nodes, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, IDP_GetProperties(), LISTBASE_FOREACH, Main::nodetrees, OB_ARMATURE, Main::objects, NodesModifierSettings::properties, Main::scenes, NodesModifierData::settings, and version_idproperty_ui_data().
Referenced by do_versions_after_linking_300().
|
static |
Definition at line 503 of file versioning_300.cc.
References copy_v3_fl(), eSeqModifierType_ColorBalance, i, LISTBASE_FOREACH, StripColorBalance::method, Strip::modifiers, StripColorBalance::offset, StripColorBalance::power, SEQ_COLOR_BALANCE_METHOD_LIFTGAMMAGAIN, and StripColorBalance::slope.
Referenced by blo_do_versions_300().
|
static |
Definition at line 497 of file versioning_300.cc.
References Strip::color_tag, and STRIP_COLOR_NONE.
Referenced by blo_do_versions_300().
|
static |
Definition at line 425 of file versioning_300.cc.
References FCurve::bezt, BLI_string_replaceN(), do_versions_sequencer_speed_effect_recursive(), float, i, Scene::id, id_data_find_fcurve(), LISTBASE_FOREACH, max_ff(), MEM_freeN(), FCurve::rna_path, SEQ_SPEED_FRAME_NUMBER, SEQ_SPEED_LENGTH, SEQ_SPEED_MULTIPLY, SEQ_SPEED_STRETCH, SEQ_USE_EFFECT_DEFAULT_FADE, STRIP_SPEED_COMPRESS_IPO_Y, STRIP_SPEED_INTEGRATE, STRIP_TYPE_META, STRIP_TYPE_SPEED, blender::seq::time_right_handle_frame_get(), FCurve::totvert, v, and BezTriple::vec.
Referenced by do_versions_after_linking_300(), and do_versions_sequencer_speed_effect_recursive().
|
static |
Definition at line 108 of file versioning_300.cc.
References IDProperty::data, IDPropertyData::group, IDP_GROUP, LISTBASE_FOREACH, and STREQ.
Referenced by version_idproperty_ui_data().
|
static |
Definition at line 1579 of file versioning_300.cc.
References axis_angle_normalized_to_mat3(), BLI_ASSERT_UNIT_V3, mul_m3_m3m3(), nor, unit_m3(), x, y, and z().
Referenced by correct_bone_roll_value().
|
static |
Definition at line 405 of file versioning_300.cc.
References BKE_object_defgroup_active_index_set(), BKE_object_defgroup_list_mutable(), BLI_freelistN(), BLI_listbase_count(), ELEM, LISTBASE_FOREACH, OB_GPENCIL_LEGACY, OB_LATTICE, OB_MESH, and Main::objects.
Referenced by do_versions_after_linking_300().
|
static |
Definition at line 1400 of file versioning_300.cc.
References BLI_sprintfN(), BLI_str_endswith(), len, and MEM_freeN().
Referenced by do_version_bbone_len_scale_fcurve_fix().
|
static |
Definition at line 368 of file versioning_300.cc.
References BLI_addtail(), BLI_listbase_clear(), BLI_movelisttolist(), BLI_remlink(), FOREACH_MAIN_LISTBASE_BEGIN, FOREACH_MAIN_LISTBASE_END, ID_IS_LINKED, id_sort_by_name(), and LISTBASE_FOREACH_MUTABLE.
Referenced by do_versions_after_linking_300().
|
static |
Definition at line 1520 of file versioning_300.cc.
References Strip::channels, blender::seq::channels_ensure(), STRIP_TYPE_META, and Strip::type.
Referenced by blo_do_versions_300().
Definition at line 638 of file versioning_300.cc.
References BKE_fcurve_find(), BLI_sprintfN(), BLI_str_escape(), MEM_freeN(), Strip::name, and FCurve::rna_path.
Referenced by strip_speed_factor_set().
|
static |
Definition at line 660 of file versioning_300.cc.
References AnimData::action, Scene::adt, BLI_listbase_is_empty(), bAction::curves, AnimData::drivers, Strip::speed_factor, strip_speed_factor_fix_rna_path(), STRIP_TYPE_SOUND_RAM, and Strip::type.
Referenced by do_versions_after_linking_300().
|
static |
Definition at line 1511 of file versioning_300.cc.
References Strip::data, SEQ_TRANSFORM_FILTER_BILINEAR, StripData::transform, and transform().
Referenced by blo_do_versions_300().
|
static |
Definition at line 1502 of file versioning_300.cc.
References Strip::data, StripData::transform, and transform().
Referenced by blo_do_versions_300().
Some editors would manually manage visibility of regions, or lazy create them based on context. Ensure they are always there now, and use the new ARegionType.poll().
Definition at line 1988 of file versioning_300.cc.
References ARegion::alignment, do_versions_add_region_if_not_found(), do_versions_ensure_region(), ListBase::first, ARegion::flag, View2D::flag, ScrArea::regionbase, SpaceLink::regionbase, RGN_ALIGN_BOTTOM, RGN_ALIGN_LEFT, RGN_ALIGN_RIGHT, RGN_ALIGN_TOP, RGN_FLAG_DYNAMIC_SIZE, RGN_FLAG_HIDDEN, RGN_TYPE_CHANNELS, RGN_TYPE_EXECUTE, RGN_TYPE_HEADER, RGN_TYPE_PREVIEW, RGN_TYPE_TOOL_PROPS, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, View2D::scroll, sequencer_init_preview_region(), SPACE_CLIP, SPACE_FILE, SPACE_SEQ, ScrArea::spacedata, SpaceLink::spacetype, ARegion::v2d, V2D_SCROLL_BOTTOM, and V2D_VIEWSYNC_AREA_VERTICAL.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1958 of file versioning_300.cc.
References BKE_curvemapping_copy(), BKE_curvemapping_free(), COLORMANAGE_VIEW_USE_CURVES, ELEM, LISTBASE_FOREACH, and Main::scenes.
Referenced by blo_do_versions_300().
|
static |
Definition at line 651 of file versioning_300.cc.
References STRIP_TYPE_META, blender::seq::time_update_meta_strip_range(), and Strip::type.
Referenced by do_versions_after_linking_300().
|
static |
Definition at line 1542 of file versioning_300.cc.
References blender::bke::idprop::create(), IDProperty::data, ELEM, IDPropertyData::group, IDP_AddToGroup(), IDP_ARRAY, IDP_FLOAT, IDP_INT, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MAX_IDPROP_NAME, NodesModifierSettings::properties, NodesModifierData::settings, and SNPRINTF.
Referenced by blo_do_versions_300().
|
static |
If a node used to realize instances implicitly and will no longer do so in 3.0, add a "Realize Instances" node in front of it to avoid changing behavior. Don't do this if the node will be replaced anyway though.
Definition at line 524 of file versioning_300.cc.
References add_realize_instances_before_socket(), BLI_findlink(), ELEM, GEO_NODE_CAPTURE_ATTRIBUTE, GEO_NODE_CONVEX_HULL, GEO_NODE_CURVE_LENGTH, GEO_NODE_CURVE_TO_MESH, GEO_NODE_FILLET_CURVE, GEO_NODE_MESH_BOOLEAN, GEO_NODE_REPLACE_MATERIAL, GEO_NODE_RESAMPLE_CURVE, GEO_NODE_SEPARATE_COMPONENTS, GEO_NODE_SUBDIVIDE_MESH, GEO_NODE_TRIANGULATE, GEO_NODE_TRIM_CURVE, LISTBASE_FOREACH_MUTABLE, and bNodeTree::nodes.
Referenced by do_versions_after_linking_300().
|
static |
When extruding from loose edges, the extrude geometry node used to create flat faces due to the default of the old "shade_smooth" attribute. Since the "false" value has changed with the "sharp_face" attribute, add nodes to propagate the new attribute in its inverted "smooth" form.
Definition at line 930 of file versioning_300.cc.
References Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), MultiValueMap< Key, Value >::add(), Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_addhead(), BLI_remlink(), CD_PROP_BOOL, bNode::custom1, NodeGeometryAttributeCapture::data_type_legacy, NodeGeometryAttributeCapture::domain, blender::bke::Face, Span< T >::first(), bNodeLink::fromnode, GEO_NODE_EXTRUDE_MESH_EDGES, bNode::idname, Span< T >::is_empty(), Vector< T, InlineBufferCapacity, Allocator >::is_empty(), bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, bNode::locx_legacy, bNode::locy_legacy, MultiValueMap< Key, Value >::lookup(), Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), MEM_callocN(), NodeGeometryExtrudeMesh::mode, blender::bke::node_find_socket(), blender::bke::node_rebuild_id_vector(), bNodeTree::nodes, bNode::parent, Span< T >::size(), SOCK_IN, SOCK_OUT, bNode::storage, bNodeLink::tonode, bNodeLink::tosock, version_node_add_empty(), version_node_add_link(), and version_node_add_socket().
Referenced by blo_do_versions_300().
|
static |
The mesh primitive nodes created a uv map with a hardcoded name. Now they are outputting the uv map as a socket instead. The versioning just inserts a Store Named Attribute node after primitive nodes.
Definition at line 842 of file versioning_300.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_addhead(), BLI_remlink(), CD_PROP_FLOAT3, blender::bke::Corner, bNodeSocket::default_value, ELEM, GEO_NODE_MESH_PRIMITIVE_CONE, GEO_NODE_MESH_PRIMITIVE_CUBE, GEO_NODE_MESH_PRIMITIVE_CYLINDER, GEO_NODE_MESH_PRIMITIVE_GRID, GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE, GEO_NODE_MESH_PRIMITIVE_UV_SPHERE, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, bNode::locx_legacy, bNode::locy_legacy, MEM_callocN(), blender::bke::node_rebuild_id_vector(), bNodeTree::nodes, bNode::parent, SOCK_GEOMETRY, SOCK_IN, SOCK_OUT, bNode::storage, STREQ, STRNCPY_UTF8, bNodeSocketValueString::value, version_node_add_empty(), version_node_add_link(), and version_node_add_socket().
Referenced by blo_do_versions_300().
|
static |
Definition at line 685 of file versioning_300.cc.
References Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), NodeGeometrySampleIndex::clamp, blender::bke::Curve, bNode::custom1, bNode::custom2, NodeGeometrySampleIndex::data_type, NodeGeometryTransferAttribute::data_type, NodeGeometrySampleIndex::domain, NodeGeometryTransferAttribute::domain, ELEM, bNodeLink::fromnode, bNodeLink::fromsock, GEO_NODE_ATTRIBUTE_TRANSFER_INDEX, GEO_NODE_ATTRIBUTE_TRANSFER_NEAREST, GEO_NODE_ATTRIBUTE_TRANSFER_NEAREST_FACE_INTERPOLATED, GEO_NODE_INPUT_INDEX, GEO_NODE_SAMPLE_INDEX, GEO_NODE_SAMPLE_NEAREST, GEO_NODE_SAMPLE_NEAREST_SURFACE, GEO_NODE_TRANSFER_ATTRIBUTE_DEPRECATED, blender::bke::Instance, bNodeSocket::link, LISTBASE_FOREACH_MUTABLE, bNode::locx_legacy, bNode::locy_legacy, MEM_freeN(), NodeGeometryTransferAttribute::mode, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_find_socket(), blender::bke::node_remove_node(), node_tree_relink_with_socket_id_map(), blender::bke::node_tree_set_type(), bNodeTree::nodes, bNode::parent, blender::bke::Point, SOCK_IN, SOCK_OUT, and bNode::storage.
Referenced by do_versions_after_linking_300().
|
static |
Definition at line 1685 of file versioning_300.cc.
References BLI_findlink(), BLI_listbase_count(), bNodeSocket::default_value, GEO_NODE_SET_POSITION, bNodeSocket::identifier, bNodeTree::links, LISTBASE_FOREACH, bNodeSocket::next, blender::bke::node_add_static_socket(), blender::bke::node_remove_socket(), bNodeTree::nodes, PROP_TRANSLATION, SOCK_IN, SOCK_VECTOR, STREQ, STRNCPY_UTF8, and bNodeSocket::type.
Referenced by blo_do_versions_300().
|
static |
Definition at line 160 of file versioning_300.cc.
References IDPropertyUIDataFloat::default_array, IDPropertyUIDataFloat::default_array_len, IDPropertyUIDataFloat::default_value, ELEM, i, IDP_ARRAY, IDP_array_double_get, IDP_array_float_get, IDP_coerce_to_double_or_zero(), IDP_coerce_to_float_or_zero(), IDP_coerce_to_int_or_zero(), IDP_DOUBLE, IDP_FLOAT, IDP_GetPropertyFromGroup(), IDProperty::len, IDPropertyUIDataFloat::max, max, MEM_malloc_arrayN(), IDPropertyUIDataFloat::min, min, IDPropertyUIDataFloat::precision, IDPropertyUIDataFloat::soft_max, IDPropertyUIDataFloat::soft_min, IDPropertyUIDataFloat::step, step, IDProperty::subtype, and IDProperty::type.
Referenced by version_idproperty_ui_data().
|
static |
Definition at line 118 of file versioning_300.cc.
References IDPropertyUIDataInt::default_array, IDPropertyUIDataInt::default_array_len, IDPropertyUIDataInt::default_value, IDP_ARRAY, IDP_array_int_get, IDP_coerce_to_int_or_zero(), IDP_GetPropertyFromGroup(), IDP_INT, IDProperty::len, IDPropertyUIDataInt::max, max, MEM_malloc_arrayN(), IDPropertyUIDataInt::min, min, IDPropertyUIDataInt::soft_max, IDPropertyUIDataInt::soft_min, IDPropertyUIDataInt::step, step, IDProperty::subtype, and IDProperty::type.
Referenced by version_idproperty_ui_data().
|
static |
Definition at line 214 of file versioning_300.cc.
References BLI_strdup(), IDPropertyUIDataString::default_value, IDP_GetPropertyFromGroup(), IDP_STRING, IDP_string_get, and IDProperty::type.
Referenced by version_idproperty_ui_data().
|
static |
Definition at line 223 of file versioning_300.cc.
References BLI_assert_unreachable, BLI_strdup(), IDProperty::data, IDPropertyUIData::description, IDPropertyData::group, IDP_FreeFromGroup(), IDP_GetPropertyFromGroup(), IDP_STRING, IDP_string_get, IDP_ui_data_ensure(), IDP_ui_data_supported(), IDP_ui_data_type(), IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, idproperty_find_ui_container(), LISTBASE_FOREACH, IDProperty::name, PROP_NONE, result, rna_enum_property_subtype_items, RNA_enum_value_from_id(), IDPropertyUIData::rna_subtype, IDProperty::type, version_idproperty_move_data_float(), version_idproperty_move_data_int(), and version_idproperty_move_data_string().
Referenced by do_versions_idproperty_bones_recursive(), do_versions_idproperty_seq_recursive(), and do_versions_idproperty_ui_data().
Fix the frame_start and frame_end overrides on NLA strips. See #102662.
Definition at line 2107 of file versioning_300.cc.
References BLI_sprintfN(), LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, MEM_freeN(), AnimData::nla_tracks, NlaStrip::strips, and version_liboverride_nla_strip_frame_start_end().
Referenced by blo_do_versions_300().
|
static |
Change override RNA path from frame_{start,end} to frame_{start,end}_raw. See #102662.
Definition at line 2063 of file versioning_300.cc.
References BKE_lib_override_library_property_rna_path_change(), BKE_lib_override_library_property_search_and_delete(), BLI_str_escape(), LISTBASE_FOREACH, NlaStrip::name, NlaStrip::strips, and version_liboverride_nla_strip_frame_start_end().
Referenced by version_liboverride_nla_frame_start_end(), and version_liboverride_nla_strip_frame_start_end().
|
static |
Definition at line 1909 of file versioning_300.cc.
References BKE_animdata_from_id(), BKE_lib_override_library_property_find(), LIBOVERRIDE_OP_INSERT_AFTER, LISTBASE_FOREACH, and IDOverrideLibraryProperty::operations.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1826 of file versioning_300.cc.
References BKE_lib_override_library_property_find(), BKE_lib_override_library_property_operation_delete(), BLI_listbase_string_or_index_find(), BLI_str_escape(), BLI_strdup(), CLOG_ERROR, LIBOVERRIDE_OP_INSERT_AFTER, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, LOG, GpencilModifierData::name, ModifierData::name, name, GpencilModifierData::next, ModifierData::next, offsetof, IDOverrideLibraryProperty::operations, SNPRINTF_UTF8, and version_liboverride_rnacollections_insertion_object_constraints().
Referenced by blo_do_versions_300().
|
static |
Definition at line 1796 of file versioning_300.cc.
References BKE_lib_override_library_property_operation_delete(), BLI_listbase_string_or_index_find(), BLI_strdup(), CLOG_ERROR, constraints, LIBOVERRIDE_OP_INSERT_AFTER, LISTBASE_FOREACH_MUTABLE, LOG, bConstraint::name, name, bConstraint::next, offsetof, and IDOverrideLibraryProperty::operations.
Referenced by version_liboverride_rnacollections_insertion_object().
|
static |
Definition at line 1749 of file versioning_300.cc.
References Strip::endofs, and Strip::startofs.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1073 of file versioning_300.cc.
References AnimData::act_extendmode, AnimData::action, BKE_animdata_from_id(), BKE_nlatrack_has_strips(), FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, AnimData::nla_tracks, NLASTRIP_EXTEND_HOLD, and NLASTRIP_EXTEND_HOLD_FORWARD.
Referenced by do_versions_after_linking_300().
|
static |
Definition at line 1737 of file versioning_300.cc.
References LISTBASE_FOREACH, bNodeTree::nodes, and version_node_socket_id_delim().
Referenced by blo_do_versions_300().
|
static |
Definition at line 1769 of file versioning_300.cc.
References blender::seq::retiming_data_clear(), Strip::speed_factor, Strip::startofs, STRIP_TYPE_SOUND_RAM, and Strip::type.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1758 of file versioning_300.cc.
References blender::seq::effect_get_num_inputs(), Strip::flag, Strip::len, SEQ_SINGLE_FRAME_CONTENT, STRIP_TYPE_IMAGE, and Strip::type.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1374 of file versioning_300.cc.
References BLI_string_join, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, GEO_NODE_SWITCH, LISTBASE_FOREACH, NTREE_GEOMETRY, and STRNCPY_UTF8.
Referenced by blo_do_versions_300().
|
static |
Definition at line 1937 of file versioning_300.cc.
References data, LISTBASE_FOREACH, MEM_callocN(), NODE_MIX_MODE_UNIFORM, bNodeTree::nodes, SH_NODE_MIX, SH_NODE_MIX_RGB_LEGACY, SHD_MIXRGB_CLAMP, SOCK_RGBA, STRNCPY_UTF8, version_node_input_socket_name(), and version_node_output_socket_name().
Referenced by blo_do_versions_300().
|
static |
Definition at line 106 of file versioning_300.cc.