Blender V4.3
versioning_300.cc File Reference
#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_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_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_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 "NOD_socket.hh"
#include "versioning_common.hh"

Go to the source code of this file.

Macros

#define DNA_DEPRECATED_ALLOW
 
#define DNA_GENFILE_VERSIONING_MACROS
 
#define SEQ_SPEED_INTEGRATE   (1 << 0)
 
#define SEQ_SPEED_COMPRESS_IPO_Y   (1 << 2)
 

Functions

static IDPropertyidproperty_find_ui_container (IDProperty *idprop_group)
 
static void version_idproperty_move_data_int (IDPropertyUIDataInt *ui_data, const IDProperty *prop_ui_data)
 
static void version_idproperty_move_data_float (IDPropertyUIDataFloat *ui_data, const IDProperty *prop_ui_data)
 
static void version_idproperty_move_data_string (IDPropertyUIDataString *ui_data, const IDProperty *prop_ui_data)
 
static void version_idproperty_ui_data (IDProperty *idprop_group)
 
static void do_versions_idproperty_bones_recursive (Bone *bone)
 
static void do_versions_idproperty_seq_recursive (ListBase *seqbase)
 
static void do_versions_idproperty_ui_data (Main *bmain)
 
static void sort_linked_ids (Main *bmain)
 
static void assert_sorted_ids (Main *bmain)
 
static void move_vertex_group_names_to_object_data (Main *bmain)
 
static void do_versions_sequencer_speed_effect_recursive (Scene *scene, const ListBase *seqbase)
 
static bool do_versions_sequencer_color_tags (Sequence *seq, void *)
 
static bool do_versions_sequencer_color_balance_sop (Sequence *seq, void *)
 
static void version_geometry_nodes_add_realize_instance_nodes (bNodeTree *ntree)
 
static bNodeTreeadd_realize_node_tree (Main *bmain)
 
static void seq_speed_factor_fix_rna_path (Sequence *seq, ListBase *fcurves)
 
static bool version_fix_seq_meta_range (Sequence *seq, void *user_data)
 
static bool seq_speed_factor_set (Sequence *seq, void *user_data)
 
static void version_geometry_nodes_replace_transfer_attribute_node (bNodeTree *ntree)
 
static void version_geometry_nodes_primitive_uv_maps (bNodeTree &ntree)
 
static void version_geometry_nodes_extrude_smooth_propagation (bNodeTree &ntree)
 
static void version_nla_action_strip_hold (Main *bmain)
 
void do_versions_after_linking_300 (FileData *, Main *bmain)
 
static void version_switch_node_input_prefix (Main *bmain)
 
static bool replace_bbone_len_scale_rnapath (char **p_old_path, int *p_index)
 
static void do_version_bbone_len_scale_fcurve_fix (FCurve *fcu)
 
static void do_version_bones_bbone_len_scale (ListBase *lb)
 
static void do_version_constraints_spline_ik_joint_bindings (ListBase *lb)
 
static bNodeSocketdo_version_replace_float_size_with_vector (bNodeTree *ntree, bNode *node, bNodeSocket *socket)
 
static bool seq_transform_origin_set (Sequence *seq, void *)
 
static bool seq_transform_filter_set (Sequence *seq, void *)
 
static bool seq_meta_channels_ensure (Sequence *seq, void *)
 
static void do_version_subsurface_methods (bNode *node)
 
static void version_geometry_nodes_add_attribute_input_settings (NodesModifierData *nmd)
 
static void legacy_vec_roll_to_mat3_normalized (const float nor[3], const float roll, float r_mat[3][3])
 
static void correct_bone_roll_value (const float head[3], const float tail[3], const float check_x_axis[3], const float check_y_axis[3], float *r_roll)
 
static void do_version_bones_roll (ListBase *lb)
 
static void version_geometry_nodes_set_position_node_offset (bNodeTree *ntree)
 
static void version_node_tree_socket_id_delim (bNodeTree *ntree)
 
static bool version_merge_still_offsets (Sequence *seq, void *)
 
static bool version_fix_delete_flag (Sequence *seq, void *)
 
static bool version_set_seq_single_frame_content (Sequence *seq, void *)
 
static bool version_seq_fix_broken_sound_strips (Sequence *seq, void *)
 
static void version_liboverride_rnacollections_insertion_object_constraints (ListBase *constraints, IDOverrideLibraryProperty *op)
 
static void version_liboverride_rnacollections_insertion_object (Object *object)
 
static void version_liboverride_rnacollections_insertion_animdata (ID *id)
 
static void versioning_replace_legacy_combined_and_separate_color_nodes (bNodeTree *ntree)
 
static void versioning_replace_legacy_mix_rgb_node (bNodeTree *ntree)
 
static void version_fix_image_format_copy (Main *bmain, ImageFormatData *format)
 
static void version_ensure_missing_regions (ScrArea *area, SpaceLink *sl)
 
static void version_liboverride_nla_strip_frame_start_end (IDOverrideLibrary *liboverride, const char *parent_rna_path, NlaStrip *strip)
 
static void version_liboverride_nla_frame_start_end (ID *id, AnimData *adt)
 
void blo_do_versions_300 (FileData *fd, Library *, Main *bmain)
 

Variables

static CLG_LogRef LOG = {"blo.readfile.doversion"}
 

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 9 of file versioning_300.cc.

◆ DNA_GENFILE_VERSIONING_MACROS

#define DNA_GENFILE_VERSIONING_MACROS

Definition at line 29 of file versioning_300.cc.

◆ SEQ_SPEED_COMPRESS_IPO_Y

#define SEQ_SPEED_COMPRESS_IPO_Y   (1 << 2)

◆ SEQ_SPEED_INTEGRATE

#define SEQ_SPEED_INTEGRATE   (1 << 0)

Function Documentation

◆ add_realize_node_tree()

static bNodeTree * add_realize_node_tree ( Main * bmain)
static

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 553 of file versioning_300.cc.

References BLI_findlink(), ListBase::first, bNode::flag, bNode::inputs, LISTBASE_FOREACH, bNode::locx, bNode::locy, 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(), node_tree, blender::bke::node_tree_add_tree(), bNode::outputs, and version_socket_update_is_used().

Referenced by do_versions_after_linking_300().

◆ assert_sorted_ids()

static void assert_sorted_ids ( Main * bmain)
static

◆ blo_do_versions_300()

void blo_do_versions_300 ( FileData * fd,
Library * lib,
Main * bmain )

Always bump subversion in BKE_blender_version.h when adding versioning code here, and wrap it inside a MAIN_VERSION_FILE_ATLEAST check.

Note
Keep this message at the bottom of the function.

Definition at line 2383 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(), View3DOverlay::bone_wire_alpha, SpaceFile::browse_mode, BRUSH_CURVE_SPHERE, Main::brushes, SpaceAction::cache_display, LineartGpencilModifierData::calculation_flags, MovieTracking::camera, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, LineartGpencilModifierData::chain_smooth_tolerance, Editing::channels, 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, NodeFunctionCompare::data_type, NodeGeometryViewer::data_type, ArmatureModifierData::defgrp_name, ArmatureModifierData::deformflag, DENOISER_OPENIMAGEDENOISE, Editing::displayed_channels, 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, 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, IDOverrideLibrary::flag, SequencerPreviewOverlay::flag, SequencerTimelineOverlay::flag, SpaceImage::flag, SpaceImageOverlay::flag, SpaceNodeOverlay::flag, SpaceSeq::flag, View2D::flag, View3DOverlay::flag, View3D::flag2, LineartGpencilModifierData::flags, SpaceText::flags, float, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, NodeImageMultiFile::format, NodeImageMultiFileSocket::format, AttributeOwner::from_id(), GEO_NODE_MERGE_BY_DISTANCE_MODE_ALL, GEO_NODE_TRANSFER_ATTRIBUTE_DEPRECATED, GP_PROJECT_CURSOR, GP_PROJECT_VIEWSPACE, ToolSettings::gpencil_v2d_align, SpaceImage::grid_shape_source, GS, Main::hair_curves, 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, int, 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, max_ff(), MEM_callocN, SurfaceDeformModifierData::mesh_verts_num, Main::meshes, Editing::metastack, 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_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, ID::override_library, SpaceFile::params, SequencerToolSettings::pivot_point, SpaceSeq::preview_overlay, 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, 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_channels_ensure(), SEQ_DRAW_IMG_IMBUF, SEQ_editing_get(), SEQ_for_each_callback(), SEQ_MAX_CHANNELS, seq_meta_channels_ensure(), 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_tool_settings_ensure(), seq_transform_filter_set(), seq_transform_origin_set(), SEQ_VIEW_PREVIEW, SEQ_VIEW_SEQUENCE_PREVIEW, Editing::seqbase, 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_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, SmoothGpencilModifierData::step, STREQ, STRNCPY, Main::texts, tile, TIME_CACHE_SIMULATION_NODES, SpaceSeq::timeline_overlay, 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_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_delete_flag(), 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_combined_and_separate_color_nodes(), 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().

◆ correct_bone_roll_value()

static void correct_bone_roll_value ( const float head[3],
const float tail[3],
const float check_x_axis[3],
const float check_y_axis[3],
float * r_roll )
static

◆ do_version_bbone_len_scale_fcurve_fix()

◆ do_version_bones_bbone_len_scale()

static void do_version_bones_bbone_len_scale ( ListBase * lb)
static

◆ do_version_bones_roll()

static void do_version_bones_roll ( ListBase * lb)
static

◆ do_version_constraints_spline_ik_joint_bindings()

static void do_version_constraints_spline_ik_joint_bindings ( ListBase * lb)
static

Definition at line 1476 of file versioning_300.cc.

References CONSTRAINT_TYPE_SPLINEIK, and LISTBASE_FOREACH.

Referenced by blo_do_versions_300().

◆ do_version_replace_float_size_with_vector()

◆ do_version_subsurface_methods()

static void do_version_subsurface_methods ( bNode * node)
static

◆ do_versions_after_linking_300()

void do_versions_after_linking_300 ( FileData * fd,
Main * bmain )

Always bump subversion in BKE_blender_version.h when adding versioning code here, and wrap it inside a MAIN_VERSION_FILE_ATLEAST check.

Note
Keep this message at the bottom of the function.

Definition at line 1090 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(), Main::brushes, ImagePaintSettings::canvas, ImagePaintSettings::clone, View2D::cur, do_versions_idproperty_ui_data(), do_versions_sequencer_speed_effect_recursive(), AnimData::drivers, ELEM, eModifierType_Nodes, SpaceSeq::flag, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, 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, bNode::next, NodesModifierData::node_group, Main::nodetrees, NTREE_GEOMETRY, NTREE_SHADER, OB_GPENCIL_LEGACY, OB_LATTICE, OB_MESH, Main::objects, offsetof, RGN_TYPE_UI, RGN_TYPE_WINDOW, SACTCONT_TIMELINE, Main::scenes, Main::screens, SEQ_CLAMP_VIEW, SEQ_editing_get(), SEQ_for_each_callback(), seq_speed_factor_set(), SEQ_VIEW_PREVIEW, SEQ_VIEW_SEQUENCE_PREVIEW, Editing::seqbase, SOCK_COLLECTION, SOCK_GEOMETRY, SOCK_MATERIAL, SOCK_OBJECT, SOCK_TEXTURE, sort_linked_ids(), SPACE_ACTION, SPACE_SEQ, ImagePaintSettings::stencil, bNode::storage, STREQ, STRNCPY, Main::texts, Image::type, ARegion::v2d, 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().

◆ do_versions_idproperty_bones_recursive()

static void do_versions_idproperty_bones_recursive ( Bone * bone)
static

◆ do_versions_idproperty_seq_recursive()

static void do_versions_idproperty_seq_recursive ( ListBase * seqbase)
static

◆ do_versions_idproperty_ui_data()

static void do_versions_idproperty_ui_data ( Main * bmain)
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.

Note
The following IDProperty groups in DNA aren't exposed in the UI or are runtime-only, so they don't have UI data: wmOperator, bAddon, bUserMenuItem_Op, wmKeyMapItem, wmKeyConfigPref, uiList, FFMpegCodecData, View3DShading, bToolRef, TimeMarker, ViewLayer, bPoseChannel.

Definition at line 309 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().

◆ do_versions_sequencer_color_balance_sop()

◆ do_versions_sequencer_color_tags()

static bool do_versions_sequencer_color_tags ( Sequence * seq,
void *  )
static

Definition at line 493 of file versioning_300.cc.

References Sequence::color_tag, and SEQUENCE_COLOR_NONE.

Referenced by blo_do_versions_300().

◆ do_versions_sequencer_speed_effect_recursive()

◆ idproperty_find_ui_container()

static IDProperty * idproperty_find_ui_container ( IDProperty * idprop_group)
static

◆ legacy_vec_roll_to_mat3_normalized()

static void legacy_vec_roll_to_mat3_normalized ( const float nor[3],
const float roll,
float r_mat[3][3] )
static

◆ move_vertex_group_names_to_object_data()

◆ replace_bbone_len_scale_rnapath()

static bool replace_bbone_len_scale_rnapath ( char ** p_old_path,
int * p_index )
static

◆ seq_meta_channels_ensure()

static bool seq_meta_channels_ensure ( Sequence * seq,
void *  )
static

◆ seq_speed_factor_fix_rna_path()

static void seq_speed_factor_fix_rna_path ( Sequence * seq,
ListBase * fcurves )
static

◆ seq_speed_factor_set()

static bool seq_speed_factor_set ( Sequence * seq,
void * user_data )
static

◆ seq_transform_filter_set()

static bool seq_transform_filter_set ( Sequence * seq,
void *  )
static

◆ seq_transform_origin_set()

static bool seq_transform_origin_set ( Sequence * seq,
void *  )
static

Definition at line 1508 of file versioning_300.cc.

References StripTransform::origin, Sequence::strip, and Strip::transform.

Referenced by blo_do_versions_300().

◆ sort_linked_ids()

◆ version_ensure_missing_regions()

◆ version_fix_delete_flag()

static bool version_fix_delete_flag ( Sequence * seq,
void *  )
static

Definition at line 1764 of file versioning_300.cc.

References Sequence::flag.

Referenced by blo_do_versions_300().

◆ version_fix_image_format_copy()

static void version_fix_image_format_copy ( Main * bmain,
ImageFormatData * format )
static

◆ version_fix_seq_meta_range()

static bool version_fix_seq_meta_range ( Sequence * seq,
void * user_data )
static

◆ version_geometry_nodes_add_attribute_input_settings()

◆ version_geometry_nodes_add_realize_instance_nodes()

static void version_geometry_nodes_add_realize_instance_nodes ( bNodeTree * ntree)
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 520 of file versioning_300.cc.

References add_realize_instances_before_socket(), BLI_findlink(), ELEM, LISTBASE_FOREACH_MUTABLE, and bNodeTree::nodes.

Referenced by do_versions_after_linking_300().

◆ version_geometry_nodes_extrude_smooth_propagation()

◆ version_geometry_nodes_primitive_uv_maps()

◆ version_geometry_nodes_replace_transfer_attribute_node()

◆ version_geometry_nodes_set_position_node_offset()

◆ version_idproperty_move_data_float()

◆ version_idproperty_move_data_int()

◆ version_idproperty_move_data_string()

static void version_idproperty_move_data_string ( IDPropertyUIDataString * ui_data,
const IDProperty * prop_ui_data )
static

◆ version_idproperty_ui_data()

◆ version_liboverride_nla_frame_start_end()

static void version_liboverride_nla_frame_start_end ( ID * id,
AnimData * adt )
static

Fix the frame_start and frame_end overrides on NLA strips. See #102662.

Definition at line 2363 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().

◆ version_liboverride_nla_strip_frame_start_end()

static void version_liboverride_nla_strip_frame_start_end ( IDOverrideLibrary * liboverride,
const char * parent_rna_path,
NlaStrip * strip )
static

◆ version_liboverride_rnacollections_insertion_animdata()

static void version_liboverride_rnacollections_insertion_animdata ( ID * id)
static

◆ version_liboverride_rnacollections_insertion_object()

◆ version_liboverride_rnacollections_insertion_object_constraints()

◆ version_merge_still_offsets()

static bool version_merge_still_offsets ( Sequence * seq,
void *  )
static

◆ version_nla_action_strip_hold()

◆ version_node_tree_socket_id_delim()

static void version_node_tree_socket_id_delim ( bNodeTree * ntree)
static

◆ version_seq_fix_broken_sound_strips()

static bool version_seq_fix_broken_sound_strips ( Sequence * seq,
void *  )
static

◆ version_set_seq_single_frame_content()

static bool version_set_seq_single_frame_content ( Sequence * seq,
void *  )
static

◆ version_switch_node_input_prefix()

static void version_switch_node_input_prefix ( Main * bmain)
static

◆ versioning_replace_legacy_combined_and_separate_color_nodes()

◆ versioning_replace_legacy_mix_rgb_node()

Variable Documentation

◆ LOG