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 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 *UNUSED(user_data))
 
static bool do_versions_sequencer_color_balance_sop (Sequence *seq, void *UNUSED(user_data))
 
static bNodeLinkfind_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 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)
 
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 bNodeSocketdo_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