Blender  V3.3
Macros | Functions | Variables
versioning_300.c File Reference
#include <string.h>
#include "CLG_log.h"
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math_vector.h"
#include "BLI_path_util.h"
#include "BLI_string.h"
#include "BLI_string_utils.h"
#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_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_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_text_types.h"
#include "DNA_workspace_types.h"
#include "BKE_action.h"
#include "BKE_anim_data.h"
#include "BKE_animsys.h"
#include "BKE_armature.h"
#include "BKE_asset.h"
#include "BKE_attribute.h"
#include "BKE_collection.h"
#include "BKE_colortools.h"
#include "BKE_curve.h"
#include "BKE_data_transfer.h"
#include "BKE_deform.h"
#include "BKE_fcurve.h"
#include "BKE_fcurve_driver.h"
#include "BKE_idprop.h"
#include "BKE_image.h"
#include "BKE_lib_id.h"
#include "BKE_lib_override.h"
#include "BKE_main.h"
#include "BKE_main_namemap.h"
#include "BKE_modifier.h"
#include "BKE_node.h"
#include "BKE_screen.h"
#include "RNA_access.h"
#include "RNA_enum_types.h"
#include "RNA_prototypes.h"
#include "BLO_readfile.h"
#include "readfile.h"
#include "SEQ_channels.h"
#include "SEQ_iterator.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "versioning_common.h"

Go to the source code of this file.

Macros

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

Functions

static IDProperty * idproperty_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 *UNUSED(user_data))
 
static bool do_versions_sequencer_color_balance_sop (Sequence *seq, void *UNUSED(user_data))
 
static bNodeLink * find_connected_link (bNodeTree *ntree, bNodeSocket *in_socket)
 
static void add_realize_instances_before_socket (bNodeTree *ntree, bNode *node, bNodeSocket *geometry_socket)
 
static void version_geometry_nodes_add_realize_instance_nodes (bNodeTree *ntree)
 
static bNodeTree * add_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)
 
void do_versions_after_linking_300 (FileData *UNUSED(fd), 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_bbone_len_scale_animdata_cb (ID *UNUSED(id), AnimData *adt, void *UNUSED(wrapper_data))
 
static void do_version_bones_bbone_len_scale (ListBase *lb)
 
static void do_version_constraints_spline_ik_joint_bindings (ListBase *lb)
 
static bNodeSocket * do_version_replace_float_size_with_vector (bNodeTree *ntree, bNode *node, bNodeSocket *socket)
 
static bool seq_transform_origin_set (Sequence *seq, void *UNUSED(user_data))
 
static bool seq_transform_filter_set (Sequence *seq, void *UNUSED(user_data))
 
static bool seq_meta_channels_ensure (Sequence *seq, void *UNUSED(user_data))
 
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 *UNUSED(user_data))
 
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 version_fix_image_format_copy (Main *bmain, ImageFormatData *format)
 
void blo_do_versions_300 (FileData *fd, Library *UNUSED(lib), Main *bmain)
 

Variables

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

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 7 of file versioning_300.c.

◆ 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_instances_before_socket()

static void add_realize_instances_before_socket ( bNodeTree *  ntree,
bNode *  node,
bNodeSocket *  geometry_socket 
)
static

◆ 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 556 of file versioning_300.c.

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, bNode::locy, node, NODE_DO_OUTPUT, NODE_GROUP_INPUT, NODE_GROUP_OUTPUT, nodeAddLink(), nodeAddStaticNode(), nodeSetSelected(), ntreeAddSocketInterface(), ntreeAddTree(), NULL, bNode::outputs, SOCK_IN, SOCK_OUT, 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 *  UNUSEDlib,
Main *  bmain 
)

Versioning code until next subversion bump goes here.

Note
Be sure to check when bumping the version:
Keep this message at the bottom of the function.

Definition at line 1727 of file versioning_300.c.

References Main::actions, ARegion::alignment, blender::compositor::area(), Main::armatures, FileAssetSelectParams::asset_library_ref, SpaceFile::asset_params, RenderData::bake, 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_id_attributes_active_color_set(), BKE_id_attributes_render_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, BLI_assert, BLI_freelinkN(), BLI_insertlinkafter(), BLI_listbase_swaplinks(), BLI_path_extension_check(), BLI_strncpy(), View3DOverlay::bone_wire_alpha, SpaceFile::browse_mode, BRUSH_ALPHA_PRESSURE, BRUSH_CURVE_SPHERE, BRUSH_SPACE_ATTEN, Main::brushes, LineartGpencilModifierData::calculation_flags, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, LineartGpencilModifierData::chain_smooth_tolerance, Editing::channels, CMP_NODE_OUTPUT_FILE, copy_v3_fl(), copy_v3_fl3(), CU_NURB_BEZIER, CU_NURB_CYCLIC, CU_NURB_ENDPOINT, curve, 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_render_layer_index(), data, Editing::displayed_channels, DNA_struct_elem_find(), DNA_struct_find(), do_version_bbone_len_scale_animdata_cb(), 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_sequencer_color_balance_sop(), do_versions_sequencer_color_tags(), SpaceSeq::draw_flag, DT_LAYERS_ALL_SRC, DT_LAYERS_NAME_DST, DT_MULTILAYER_INDEX_MAX, Scene::ed, eGpencilModifierType_Lineart, eGpencilModifierType_Smooth, ELEM, eModifierType_DataTransfer, eModifierType_Mirror, eModifierType_Nodes, eModifierType_SurfaceDeform, eModifierType_WeightVGProximity, SmoothGpencilModifierData::factor, FILE_ASSET_IMPORT_APPEND, FILE_ASSET_IMPORT_APPEND_REUSE, 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, ListBase::first, SequencerPreviewOverlay::flag, SequencerTimelineOverlay::flag, SpaceSeq::flag, FileSelectParams::flag, SpaceImageOverlay::flag, SpaceNodeOverlay::flag, View2D::flag, View3DOverlay::flag, LineartGpencilModifierData::flags, FN_NODE_COMPARE, FN_NODE_SLICE_STRING, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, NodeImageMultiFile::format, NodeImageMultiFileSocket::format, GEO_NODE_BOUNDING_BOX, GEO_NODE_CAPTURE_ATTRIBUTE, 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_POINTS_TO_VOLUME, GEO_NODE_REALIZE_INSTANCES, GEO_NODE_REALIZE_INSTANCES_LEGACY_BEHAVIOR, 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, GEO_NODE_TRANSLATE_INSTANCES, GEO_NODE_TRIANGULATE, GEO_NODE_TRIM_CURVE, GEO_NODE_VIEWER, GP_PROJECT_CURSOR, GP_PROJECT_VIEWSPACE, ToolSettings::gpencil_v2d_align, GS, id, Collection::id, ID_IS_LINKED, ID_IS_OVERRIDE_LIBRARY_REAL, ID_OB, ID_VF, IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED, RenderData::im_format, Main::images, FileAssetSelectParams::import_type, DataTransferModifierData::layers_select_dst, DataTransferModifierData::layers_select_src, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, LISTBASE_FOREACH_MUTABLE, LRT_GPENCIL_USE_CACHE, LRT_MATERIAL_CUSTOM_OCCLUSION_EFFECTIVENESS, LRT_USE_CREASE_ON_SMOOTH_SURFACES, MAIN_VERSION_ATLEAST, SpaceSeq::mainb, MASK_DRAWFLAG_SPLINE, Scene::master_collection, Main::materials, max_ff(), BakeData::max_ray_distance, MAXSEQ, MEM_callocN, SurfaceDeformModifierData::mesh_verts_num, Main::meshes, Editing::metastack, min_ff(), MOD_WVG_PROXIMITY_INVERT_VGROUP_MASK, MOD_WVG_PROXIMITY_WEIGHTS_NORMALIZE, ID::name, node, nodeAddLink(), bNodeTree::nodes, Main::nodetrees, View3DOverlay::normals_constant_screen_size, ntree, NTREE_COMPOSIT, NTREE_CUSTOM, NTREE_GEOMETRY, NTREE_SHADER, NULL, Curve::nurb, OB_CURVES, OB_DRAWBOUNDOX, OB_GPENCIL, OB_MODE_SCULPT_CURVES, Main::objects, SequencerToolSettings::overlap_mode, SpaceImage::overlay, SpaceNode::overlay, View3D::overlay, SpaceFile::params, SequencerToolSettings::pivot_point, SpaceSeq::preview_overlay, PROP_NONE, WeightVGProximityModifierData::proximity_flags, Scene::r, FileSelectParams::recursion_level, SpaceSeq::regionbase, RGN_ALIGN_LEFT, RGN_ALIGN_RIGHT, RGN_FLAG_HIDDEN, RGN_TYPE_CHANNELS, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_TOOL_HEADER, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, sasqrt(), SCE_SNAP, SCE_SNAP_TO_INCLUDE_EDITED, SCE_SNAP_TO_INCLUDE_NONEDITED, RenderData::scemode, scene, Main::scenes, Main::screens, SCULPT_TOOL_SMEAR, SEQ_channels_ensure(), SEQ_DRAW_IMG_IMBUF, SEQ_editing_get(), SEQ_for_each_callback(), 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_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_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, NodeGeometryCurveSplineType::spline_type, SPREADSHEET_FILTER_ENABLE, sqrtf, usdtokens::st(), ST_FLAG_UNUSED_4, SmoothGpencilModifierData::step, STREQ, Main::texts, SpaceSeq::timeline_overlay, Scene::toolsettings, TXT_ISSCRIPT, bNodeTree::type, ToolSettings::uv_relax_method, UV_SCULPT_TOOL_RELAX_LAPLACIAN, 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, version_fix_image_format_copy(), version_geometry_nodes_add_attribute_input_settings(), version_geometry_nodes_set_position_node_offset(), 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_switch_node_input_prefix(), Main::versionfile, versioning_replace_legacy_combined_and_separate_color_nodes(), SDefVert::vertex_idx, SurfaceDeformModifierData::verts, view, which_libbase(), Main::wm, and Main::workspaces.

◆ 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_animdata_cb()

static void do_version_bbone_len_scale_animdata_cb ( ID *  UNUSEDid,
AnimData *  adt,
void *  UNUSEDwrapper_data 
)
static

◆ do_version_bbone_len_scale_fcurve_fix()

static void do_version_bbone_len_scale_fcurve_fix ( FCurve *  fcu)
static

◆ do_version_bones_bbone_len_scale()

static void do_version_bones_bbone_len_scale ( ListBase *  lb)
static

Definition at line 1009 of file versioning_300.c.

References BBONE_ADD_PARENT_END_ROLL, copy_v3_fl3(), and LISTBASE_FOREACH.

Referenced by blo_do_versions_300().

◆ do_version_bones_roll()

static void do_version_bones_roll ( ListBase *  lb)
static

Definition at line 1226 of file versioning_300.c.

References correct_bone_roll_value(), and LISTBASE_FOREACH.

Referenced by blo_do_versions_300().

◆ do_version_constraints_spline_ik_joint_bindings()

static void do_version_constraints_spline_ik_joint_bindings ( ListBase *  lb)
static

Definition at line 1023 of file versioning_300.c.

References CONSTRAINT_TYPE_SPLINEIK, data, if(), LISTBASE_FOREACH, and NULL.

Referenced by blo_do_versions_300().

◆ do_version_replace_float_size_with_vector()

static bNodeSocket* do_version_replace_float_size_with_vector ( bNodeTree *  ntree,
bNode *  node,
bNodeSocket *  socket 
)
static

◆ 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 *  UNUSEDfd,
Main *  bmain 
)

Versioning code until next subversion bump goes here.

Note
Be sure to check when bumping the version:
Keep this message at the bottom of the function.

Definition at line 641 of file versioning_300.c.

References add_realize_instances_before_socket(), add_realize_node_tree(), View2D::align, blender::compositor::area(), 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_path_basename(), BLI_uniquename(), Main::brushes, ImagePaintSettings::canvas, ImagePaintSettings::clone, View2D::cur, do_versions_idproperty_ui_data(), do_versions_sequencer_speed_effect_recursive(), AnimData::drivers, Scene::ed, ELEM, eModifierType_Nodes, ListBase::first, ARegion::flag, SpaceSeq::flag, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, GEO_NODE_BOUNDING_BOX, GEO_NODE_SWITCH, id, id_fake_user_set(), if(), IMA_SRC_TILED, IMA_TYPE_COMPOSITE, IMA_TYPE_R_RESULT, Main::images, ToolSettings::imapaint, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MAIN_VERSION_ATLEAST, SpaceAction::mode, NodesModifierData::modifier, move_vertex_group_names_to_object_data(), ModifierData::name, bNode::next, node, NodesModifierData::node_group, bNodeTree::nodes, Main::nodetrees, ntree, NTREE_GEOMETRY, NTREE_SHADER, NULL, OB_GPENCIL, OB_LATTICE, OB_MESH, Main::objects, RGN_FLAG_HIDDEN, RGN_TYPE_UI, RGN_TYPE_WINDOW, SACTCONT_TIMELINE, scene, 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, 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, STRNCPY, Main::texts, Scene::toolsettings, Image::type, bNodeTree::type, ARegion::v2d, V2D_ALIGN_NO_NEG_Y, ChannelDriver::variables, version_fix_seq_meta_range(), version_geometry_nodes_add_realize_instance_nodes(), version_node_socket_index_animdata(), SpaceSeq::view, and rctf::ymax.

◆ 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 280 of file versioning_300.c.

References Main::armatures, do_versions_idproperty_bones_recursive(), do_versions_idproperty_seq_recursive(), Scene::ed, eModifierType_Nodes, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, id, IDP_GetProperties(), bNodeTree::inputs, LISTBASE_FOREACH, node, bNodeTree::nodes, Main::nodetrees, ntree, NULL, OB_ARMATURE, Main::objects, bNodeTree::outputs, NodesModifierSettings::properties, scene, Main::scenes, Editing::seqbase, NodesModifierData::settings, and version_idproperty_ui_data().

Referenced by do_versions_after_linking_300().

◆ do_versions_sequencer_color_balance_sop()

static bool do_versions_sequencer_color_balance_sop ( Sequence *  seq,
void *  UNUSEDuser_data 
)
static

◆ do_versions_sequencer_color_tags()

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

Definition at line 463 of file versioning_300.c.

References Sequence::color_tag, and SEQUENCE_COLOR_NONE.

Referenced by blo_do_versions_300().

◆ do_versions_sequencer_speed_effect_recursive()

static void do_versions_sequencer_speed_effect_recursive ( Scene *  scene,
const ListBase *  seqbase 
)
static

◆ find_connected_link()

static bNodeLink* find_connected_link ( bNodeTree *  ntree,
bNodeSocket *  in_socket 
)
static

Definition at line 485 of file versioning_300.c.

References bNodeTree::links, LISTBASE_FOREACH, ntree, and NULL.

Referenced by add_realize_instances_before_socket().

◆ 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()

static void move_vertex_group_names_to_object_data ( Main *  bmain)
static

◆ replace_bbone_len_scale_rnapath()

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

Definition at line 946 of file versioning_300.c.

References BLI_sprintfN(), BLI_str_endswith(), len, MEM_freeN, and NULL.

Referenced by do_version_bbone_len_scale_fcurve_fix().

◆ seq_meta_channels_ensure()

static bool seq_meta_channels_ensure ( Sequence *  seq,
void *  UNUSEDuser_data 
)
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 *  UNUSEDuser_data 
)
static

◆ seq_transform_origin_set()

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

Definition at line 1050 of file versioning_300.c.

References NULL, Sequence::strip, transform(), and Strip::transform.

Referenced by blo_do_versions_300().

◆ sort_linked_ids()

static void sort_linked_ids ( Main *  bmain)
static

◆ 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()

static void version_geometry_nodes_add_attribute_input_settings ( NodesModifierData *  nmd)
static

◆ 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 524 of file versioning_300.c.

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, node, bNodeTree::nodes, and ntree.

Referenced by do_versions_after_linking_300().

◆ version_geometry_nodes_set_position_node_offset()

static void version_geometry_nodes_set_position_node_offset ( bNodeTree *  ntree)
static

◆ version_idproperty_move_data_float()

static void version_idproperty_move_data_float ( IDPropertyUIDataFloat *  ui_data,
const IDProperty *  prop_ui_data 
)
static

◆ version_idproperty_move_data_int()

static void version_idproperty_move_data_int ( IDPropertyUIDataInt *  ui_data,
const IDProperty *  prop_ui_data 
)
static

◆ 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()

static void version_idproperty_ui_data ( IDProperty *  idprop_group)
static

◆ version_liboverride_rnacollections_insertion_animdata()

static void version_liboverride_rnacollections_insertion_animdata ( ID *  id)
static

◆ version_liboverride_rnacollections_insertion_object()

static void version_liboverride_rnacollections_insertion_object ( Object *  object)
static

◆ version_liboverride_rnacollections_insertion_object_constraints()

static void version_liboverride_rnacollections_insertion_object_constraints ( ListBase *  constraints,
IDOverrideLibraryProperty *  op 
)
static

◆ version_merge_still_offsets()

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

◆ version_node_tree_socket_id_delim()

static void version_node_tree_socket_id_delim ( bNodeTree *  ntree)
static

◆ version_switch_node_input_prefix()

static void version_switch_node_input_prefix ( Main *  bmain)
static

◆ versioning_replace_legacy_combined_and_separate_color_nodes()

static void versioning_replace_legacy_combined_and_separate_color_nodes ( bNodeTree *  ntree)
static

Variable Documentation

◆ LOG

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