Blender V5.0
readfile.hh File Reference
#include <cstdio>
#include <optional>
#include "BLI_fileops.h"
#include "BLI_filereader.h"
#include "BLI_map.hh"
#include "DNA_sdna_types.h"
#include "DNA_space_types.h"
#include "BLO_core_bhead.hh"
#include "BLO_core_blend_header.hh"
#include "BLO_readfile.hh"

Go to the source code of this file.

Classes

struct  FileData

Enumerations

enum  eFileDataFlag {
  FD_FLAGS_SWITCH_ENDIAN = 1 << 0 , FD_FLAGS_FILE_POINTSIZE_IS_4 = 1 << 1 , FD_FLAGS_POINTSIZE_DIFFERS = 1 << 2 , FD_FLAGS_FILE_OK = 1 << 3 ,
  FD_FLAGS_IS_MEMFILE = 1 << 4 , FD_FLAGS_FILE_FUTURE = 1 << 5 , FD_FLAGS_HAS_INVALID_ID_NAMES = 1 << 6
}

Functions

void blo_split_main (Main *bmain, bool do_split_packed_ids=true)
void blo_join_main (Main *bmain)
BlendFileDatablo_read_file_internal (FileData *fd, const char *filepath) ATTR_NONNULL(1
BlendFileData FileDatablo_filedata_from_file (const char *filepath, BlendFileReadReport *reports)
FileDatablo_filedata_from_memory (const void *mem, int memsize, BlendFileReadReport *reports)
FileDatablo_filedata_from_memfile (MemFile *memfile, const BlendFileReadParams *params, BlendFileReadReport *reports)
void blo_make_old_idmap_from_main (FileData *fd, Main *bmain) ATTR_NONNULL(1
void BHeadblo_read_asset_data_block (FileData *fd, BHead *bhead, AssetMetaData **r_asset_data) ATTR_NONNULL(1
void BHead void blo_cache_storage_init (FileData *fd, Main *bmain) ATTR_NONNULL(1
void BHead void void blo_cache_storage_old_bmain_clear (FileData *fd, Main *bmain_old) ATTR_NONNULL(1
void BHead void void void blo_cache_storage_end (FileData *fd) ATTR_NONNULL(1)
void blo_filedata_free (FileData *fd) ATTR_NONNULL(1)
BHeadblo_bhead_first (FileData *fd) ATTR_NONNULL(1)
BHeadblo_bhead_next (FileData *fd, BHead *thisblock) ATTR_NONNULL(1)
BHeadblo_bhead_prev (FileData *fd, BHead *thisblock) ATTR_NONNULL(1
BHead const char * blo_bhead_id_name (FileData *fd, const BHead *bhead)
short blo_bhead_id_flag (const FileData *fd, const BHead *bhead)
AssetMetaDatablo_bhead_id_asset_data_address (const FileData *fd, const BHead *bhead)
void blo_do_versions_dna (SDNA *sdna, int versionfile, int subversionfile)
void blo_do_versions_oldnewmap_insert (OldNewMap *onm, const void *oldaddr, void *newaddr, int nr)
void * blo_do_versions_newlibadr (FileData *fd, ID *self_id, const bool is_linked_only, const void *adr)
void blo_do_version_old_trackto_to_constraints (Object *ob)
void blo_do_versions_key_uidgen (Key *key)
void blo_do_versions_userdef (UserDef *userdef)
void blo_do_versions_pre250 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_250 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_260 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_270 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_280 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_290 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_300 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_400 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_410 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_420 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_430 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_440 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_450 (FileData *fd, Library *lib, Main *bmain)
void blo_do_versions_500 (FileData *fd, Library *lib, Main *bmain)
void do_versions_after_linking_250 (Main *bmain)
void do_versions_after_linking_260 (Main *bmain)
void do_versions_after_linking_270 (Main *bmain)
void do_versions_after_linking_280 (FileData *fd, Main *bmain)
void do_versions_after_linking_290 (FileData *fd, Main *bmain)
void do_versions_after_linking_300 (FileData *fd, Main *bmain)
void do_versions_after_linking_400 (FileData *fd, Main *bmain)
void do_versions_after_linking_410 (FileData *fd, Main *bmain)
void do_versions_after_linking_420 (FileData *fd, Main *bmain)
void do_versions_after_linking_430 (FileData *fd, Main *bmain)
void do_versions_after_linking_440 (FileData *fd, Main *bmain)
void do_versions_after_linking_450 (FileData *fd, Main *bmain)
void do_versions_after_linking_500 (FileData *fd, Main *bmain)
void do_versions_after_setup (Main *new_bmain, BlendfileLinkAppendContext *lapp_context, BlendFileReadReport *reports)
void * blo_read_get_new_globaldata_address (FileData *fd, const void *adr) ATTR_NONNULL(1)
void blo_readfile_invalidate (FileData *fd, Main *bmain, const char *message) ATTR_NONNULL(1

Detailed Description

blenloader readfile private function prototypes.

Definition in file readfile.hh.

Enumeration Type Documentation

◆ eFileDataFlag

Store some critical information about the read blend-file.

Enumerator
FD_FLAGS_SWITCH_ENDIAN 
FD_FLAGS_FILE_POINTSIZE_IS_4 
FD_FLAGS_POINTSIZE_DIFFERS 
FD_FLAGS_FILE_OK 
FD_FLAGS_IS_MEMFILE 
FD_FLAGS_FILE_FUTURE 

The Blender file is not compatible with current code, but is still likely a blender file 'from the future'. Improves report to the user.

FD_FLAGS_HAS_INVALID_ID_NAMES 

The blend-file has IDs with invalid names (either using the 5.0+ new 'long names', or corrupted). I.e. their names have no null char in their first 66 bytes.

Definition at line 48 of file readfile.hh.

Function Documentation

◆ blo_bhead_first()

◆ blo_bhead_id_asset_data_address()

AssetMetaData * blo_bhead_id_asset_data_address ( const FileData * fd,
const BHead * bhead )

Warning! Caller's responsibility to ensure given bhead is an ID one!

Definition at line 808 of file readfile.cc.

References BLI_assert, blo_bhead_is_id_valid_type(), FileData::id_asset_data_offset, and POINTER_OFFSET.

Referenced by blendhandle_load_id_data_and_validate().

◆ blo_bhead_id_flag()

short blo_bhead_id_flag ( const FileData * fd,
const BHead * bhead )

Warning! It's the caller's responsibility to ensure that the given bhead is an ID one!

Returns the ID flag value (or 0 if the blendfile is too old and the offset of the ID::flag member could not be computed).

Definition at line 798 of file readfile.cc.

References BLI_assert, blo_bhead_is_id(), FileData::id_flag_offset, and POINTER_OFFSET.

Referenced by blendhandle_load_id_data_and_validate(), blo_bhead_id_deep_hash(), blo_read_file_internal(), expand_doit_library(), and read_libblock_undo_restore().

◆ blo_bhead_id_name()

BHead const char * blo_bhead_id_name ( FileData * fd,
const BHead * bhead )

Warning! Caller's responsibility to ensure given bhead is an ID one!

Will return nullptr if the name is not valid (e.g. because it has no null-char terminator, if it was saved in a version of Blender with higher MAX_ID_NAME value).

Definition at line 784 of file readfile.cc.

References BLI_assert, blo_bhead_is_id(), FD_FLAGS_HAS_INVALID_ID_NAMES, FileData::flags, FileData::id_name_offset, MAX_ID_NAME, and POINTER_OFFSET.

Referenced by blendhandle_load_id_data_and_validate(), BLO_blendhandle_get_preview_for_id(), expand_doit_library(), library_id_is_yet_read(), and read_file_bhead_idname_map_create().

◆ blo_bhead_next()

◆ blo_bhead_prev()

BHead * blo_bhead_prev ( FileData * fd,
BHead * thisblock )

References lib.

◆ blo_cache_storage_end()

void BHead void void void blo_cache_storage_end ( FileData * fd)

◆ blo_cache_storage_init()

void BHead void blo_cache_storage_init ( FileData * fd,
Main * bmain )

◆ blo_cache_storage_old_bmain_clear()

void BHead void void blo_cache_storage_old_bmain_clear ( FileData * fd,
Main * bmain_old )

◆ blo_do_version_old_trackto_to_constraints()

void blo_do_version_old_trackto_to_constraints ( Object * ob)
Note
this version patch is intended for versions < 2.52.2, but was initially introduced in 2.27 already.

Definition at line 423 of file versioning_legacy.cc.

References BKE_constraint_add_for_object(), CONSTRAINT_TYPE_TRACKTO, bConstraint::data, data, Object::track, Object::trackflag, and Object::upflag.

Referenced by blo_do_versions_250(), and blo_do_versions_pre250().

◆ blo_do_versions_250()

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

Definition at line 656 of file versioning_250.cc.

References Main::actions, View2D::align, animviz_settings_init(), Main::armatures, ARRAY_SIZE, ToolSettings::autokey_mode, BKE_area_region_free(), BKE_area_region_new(), BKE_modifier_new(), BKE_modifiers_findby_type(), BKE_ntree_update_tag_all(), BKE_ntree_update_tag_link_added(), BKE_ptcache_ids_from_object(), BKE_scopes_new(), BKE_spacetype_from_id(), BKE_texture_mtex_default(), BLI_addtail(), BLI_freelinkN(), BLI_freelistN(), BLI_insertlinkbefore(), BLI_listbase_is_empty(), blo_do_version_old_trackto_to_constraints(), blo_do_versions_newlibadr(), ParticleEditSettings::brush, BRUSH_SPACE_ATTEN, Main::brushes, CAM_PANORAMA, CD_MDISPS, CMP_NODE_BLUR, CMP_NODE_COLORBALANCE, Tex::coba, RenderData::color_mgt_flag, copy_v3_v3(), copy_v4_v4(), CU_TYPE, CURVE_PRESET_SMOOTH, Main::curves, CustomData_free_layer_active(), CustomData_get_layer_for_write(), ColorBand::data, data, KeyBlock::data, Object::data, ArmatureModifierData::deformflag, bArmature::deformflag, do_version_bone_roll_256(), do_version_constraints_radians_degrees_250(), do_version_mdef_250(), do_versions_gpencil_2_50(), do_versions_node_group_add_socket_2_56_2(), do_versions_socket_default_value_259(), do_versions_windowmanager_2_50(), FluidModifierData::domain, Object::dt, ClothSimSettings::effector_weights, ELEM, eModifierType_Armature, eModifierType_Cloth, eModifierType_Curve, eModifierType_Fluid, eModifierType_Fluidsim, eModifierType_Lattice, eModifierType_Multires, eModifierType_Ocean, eModifierType_Solidify, ListBase::first, Camera::flag, FluidsimSettings::flag, SolidifyModifierData::flag, View3D::flag2, FluidDomainSettings::flags, FluidFlowSettings::flags, float, FluidModifierData::flow, FLUID_FLOW_INITVELOCITY, FluidsimSettings::fmd, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), RenderData::frame_step, bNodeLink::fromnode, bNodeLink::fromsock, FluidsimModifierData::fss, EffectorWeights::global_gravity, ClothSimSettings::gravity, BezTriple::h1, BezTriple::h2, HD_AUTO, HD_AUTO_ANIM, Histogram::height, i, bNodeTree::id, Material::id, Object::id, Scene::id, Tex::id, ID_IS_LINKED, INFO_RPT_OP, IS_EQF, is_zero_v3(), is_zero_v4(), View2D::keepofs, View2D::keeptot, View2D::keepzoom, Main::lattices, ID::lib, bNodeSocket::link, LISTBASE_FOREACH, MultiresModifierData::lvl, M_PI, MAIN_VERSION_FILE_ATLEAST, SpaceSeq::mainb, SolidifyModifierData::mat_ofs_rim, Main::materials, View2D::maxzoom, MEM_calloc_arrayN(), MEM_callocN(), Main::meshes, View2D::minzoom, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_FLOW, MOTIONPATH_BAKE_HEADS, MOTIONPATH_TYPE_ACFRA, MOTIONPATH_VIEW_FNUMS, MOTIONPATH_VIEW_KFNOS, MOTIONPATH_VIEW_KFRAS, bNode::next, ID::next, ScrArea::next, blender::bke::node_count_socket_links(), blender::bke::node_unique_name(), bNodeTree::nodes, Main::nodetrees, OB_ARMATURE, OB_CAMERA, OB_CURVES_LEGACY, OB_FLUIDSIM_ACTIVE, OB_FLUIDSIM_OVERRIDE_TIME, OB_LATTICE, OB_MATERIAL, OB_MODE_ALL_PAINT, OB_MODE_POSE, OB_SOLID, OB_TEXTURE, ArmatureModifierData::object, CurveModifierData::object, LatticeModifierData::object, Main::objects, OceanModifierData::oceancache, Object::parent, PAROBJECT, PARSKEL, PART_DRAW_AXIS, PART_DRAW_COL_MAT, PART_DRAW_DOT, PART_DRAW_HALO, PART_DRAW_MAT_COL, PART_DRAW_REND, PART_HAIR_REGROW, PART_TIME_AUTOSF, Main::particles, bAnimVizSettings::path_ac, bAnimVizSettings::path_bakeflag, bAnimVizSettings::path_bc, bAnimVizSettings::path_ef, bAnimVizSettings::path_sf, bAnimVizSettings::path_step, bAnimVizSettings::path_type, bAnimVizSettings::path_viewflag, bArmature::pathflag, PFIELD_DO_LOCATION, PFIELD_PLANAR, PFIELD_SHAPE_PLANE, PFIELD_SHAPE_SURFACE, PFIELD_SURFACE, PFIELD_WIND, PHYS_GLOBAL_GRAVITY, PTCACHE_DISK_CACHE, Material::r, Scene::r, R_COLOR_MANAGEMENT, Key::refkey, MultiresModifierData::renderlvl, OceanModifierData::resolution, RGN_TYPE_PREVIEW, RGN_TYPE_WINDOW, ROT_MODE_EUL, SpaceInfo::rpt_mask, SpaceImage::sample_line_hist, SCE_SELECT_PATH, SCE_SELECT_VERTEX, Main::scenes, SpaceImage::scopes, Main::screens, View2D::scroll, MultiresModifierData::sculptlvl, ToolSettings::selectmode, SEQ_DRAW_IMG_IMBUF, SEQ_VIEW_SEQUENCE, sequencer_init_preview_region(), Main::shapekeys, ClothModifierData::sim_parms, SOCK_HIDDEN, SOCK_IN, SOCK_OUT, SOCK_UNAVAIL, Main::sounds, SPACE_ACTION, SPACE_IMAGE, SPACE_INFO, SPACE_NLA, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, ScrArea::spacedata, SpaceLink::spacetype, Material::specr, srgb_to_linearrgb_v3_v3(), bNode::storage, ParticleBrushData::strength, strip_set_pitch_cb(), strip_set_sat_cb(), strip_set_volume_cb(), strip_sound_proxy_update_cb(), STRNCPY_UTF8, Main::subversionfile, TEX_NODE_OUTPUT, Main::textures, BezTriple::tilt, BPoint::tilt, TIME_ALL_3D_WIN, TIME_ALL_ANIM_WIN, FluidDomainSettings::time_scale, bNodeLink::tonode, bNodeLink::tosock, ColorBand::tot, KeyBlock::totelem, MultiresModifierData::totlvl, FluidModifierData::type, Object::type, bNode::type_legacy, U, unit_axis_angle(), unit_qt(), UV_SELECT_VERT, ToolSettings::uv_selectmode, V2D_ALIGN_NO_NEG_X, V2D_ALIGN_NO_NEG_Y, V2D_KEEPASPECT, V2D_KEEPTOT_BOUNDS, V2D_LIMITZOOM, V2D_LOCKOFS_X, V2D_LOCKZOOM_X, V2D_LOCKZOOM_Y, V2D_SCROLL_RIGHT, V3D_HIDE_OVERLAYS, BezTriple::vec, BPoint::vec, FluidFlowSettings::vel_multi, ClothSimSettings::velocity_smooth, Main::versionfile, verts, ToolSettings::vgroup_weight, SpaceSeq::view, and FluidDomainSettings::vorticity.

Referenced by do_versions().

◆ blo_do_versions_260()

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

TIP: to initialize new variables added, use the new function: DNA_struct_member_exists(fd->filesdna, "structname", "typename", "varname"), example:

if (!DNA_struct_member_exists(fd->filesdna, "UserDef", "short", "image_gpubuffer_limit")) {
user->image_gpubuffer_limit = 10;
}

Definition at line 1277 of file versioning_260.cc.

References FluidDomainSettings::adapt_margin, FluidDomainSettings::adapt_threshold, ARegion::alignment, UnifiedPaintSettings::alpha, FluidsimSettings::animRate, animviz_settings_init(), SpaceClip::around, BevelModifierData::bevel_angle, BKE_area_find_region_type(), BKE_area_region_new(), BKE_image_alpha_mode_from_extension(), BKE_mesh_do_versions_cd_flag_init(), BKE_scene_disable_color_management(), BKE_texture_mtex_default(), BKE_tracking_object_add(), BLI_assert, BLI_insertlinkafter(), BLI_listbase_is_empty(), BLI_strlen_utf8(), blo_do_versions_key_uidgen(), blo_do_versions_newlibadr(), BRUSH_FIXED, BRUSH_OVERLAY_CURSOR, BRUSH_OVERLAY_PRIMARY, BRUSH_TEXTURE_OVERLAY, Main::brushes, View3D::bundle_drawtype, View3D::bundle_size, FluidDomainSettings::burning_rate, CAM_PANO, CAM_PANORAMA, Main::cameras, DynamicPaintModifierData::canvas, CLANG_FORMAT_NOP_WORKAROUND, CMP_NODE_BOKEHIMAGE, CMP_NODE_COLORBALANCE, CMP_NODE_DEFOCUS, CMP_NODE_DILATEERODE, CMP_NODE_KEYING, CMP_NODE_MASK, CMP_NODE_MASK_BOX, CMP_NODE_MASK_ELLIPSE, CMP_NODE_TRANSLATE, FluidFlowSettings::color, color_balance_node_cdl_from_lgg(), color_balance_node_lgg_from_cdl(), DynamicPaintSurface::color_dry_threshold, CONSTRAINT_SPACE_LOCAL, CONSTRAINT_TYPE_OBJECTSOLVER, CONSTRAINT_TYPE_SHRINKWRAP, copy_v3_v3(), copy_vn_fl(), CU_BACK, CU_FRONT, Main::curves, CustomData_free_layers(), CustomData_update_typemap(), data, MovieTrackingSettings::default_minimum_correlation, MovieTrackingSettings::default_motion_model, MovieTrackingSettings::default_pattern_size, MovieTrackingSettings::default_search_size, DEFAULT_SENSOR_HEIGHT, DEFAULT_SENSOR_WIDTH, DEG2RADF, ColorManagedDisplaySettings::display_device, MeshStatVis::distort_max, MeshStatVis::distort_min, do_versions_affine_tracker_track(), do_versions_image_settings_2_60(), do_versions_mesh_mloopcol_swap_2_62_1(), do_versions_nodetree_convert_angle(), do_versions_nodetree_customnodes(), do_versions_nodetree_file_output_layers_2_64_5(), do_versions_nodetree_frame_2_64_6(), do_versions_nodetree_image_default_alpha_output(), do_versions_nodetree_image_layer_2_64_5(), do_versions_nodetree_multi_file_output_format_2_62_1(), do_versions_nodetree_multi_file_output_path_2_63_1(), do_versions_nodetree_socket_use_flags_2_62(), FluidModifierData::domain, FluidDomainSettings::dx, SpaceNode::edittree, ELEM, eModifierType_Bevel, eModifierType_Build, eModifierType_Cloth, eModifierType_DynamicPaint, eModifierType_EdgeSplit, eModifierType_Fluid, eModifierType_Fluidsim, eModifierType_Lattice, eModifierType_Triangulate, FFMPEG_AVI, FFMPEG_INVALID, FileData::filesdna, ListBase::first, ARegion::flag, BuildModifierData::flag, Image::flag, SpaceClip::flag, SpaceImage::flag, SpaceNode::flag, SpaceSeq::flag, TriangulateModifierData::flag, UnifiedPaintSettings::flag, View3D::flag2, DynamicPaintSurface::flags, FluidDomainSettings::flags, Sculpt::flags, FluidDomainSettings::flame_ignition, FluidDomainSettings::flame_max_temp, FluidDomainSettings::flame_smoke, FluidDomainSettings::flame_smoke_color, FluidDomainSettings::flame_vorticity, FluidModifierData::flow, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), ImageUser::frames, FREESTYLE_ALGO_CULLED_ADAPTIVE_CUMULATIVE, FREESTYLE_ALGO_CULLED_ADAPTIVE_TRADITIONAL, FREESTYLE_CONTROL_EDITOR_MODE, FREESTYLE_CULLING, SpaceNode::from, bNodeLink::fromnode, bNodeLink::fromsock, FluidsimModifierData::fss, FluidFlowSettings::fuel_amount, FluidDomainSettings::highres_sampling, i, SpaceNode::id, ID_IS_LINKED, bNodeSocket::identifier, IMA_ALPHA_STRAIGHT, IMA_SRC_VIEWER, IMA_VIEW_AS_RENDER, Main::images, IMB_PROXY_25, IMB_TC_RECORD_RUN, IMB_TC_RECORD_RUN_NO_GAPS, DynamicPaintSurface::influence_scale, is_zero_v3(), NodeTexImage::iuser, MovieTrackingSettings::keyframe1_legacy, MovieTrackingSettings::keyframe2_legacy, ListBase::last, Main::lights, Main::linestyles, LISTBASE_FOREACH, bNode::locx_legacy, bNode::locy_legacy, LS_CHAINING_PLAIN, LS_PANEL_MISC, LS_PANEL_STROKES, LS_THICKNESS_CENTER, MAIN_VERSION_FILE_ATLEAST, MAIN_VERSION_FILE_OLDER, Main::materials, max_iii(), MEM_callocN(), Main::meshes, MovieTrackingTrack::minimum_correlation, MOD_BUILD_FLAG_RANDOMIZE, MOD_DPAINT_USE_DRYING, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_FLOW, MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS, MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS, MOD_TRIANGULATE_NGON_BEAUTY, MOD_TRIANGULATE_NGON_EARCLIP, MOD_TRIANGULATE_QUAD_BEAUTY, MOD_TRIANGULATE_QUAD_FIXED, Main::movieclips, MTEX_MAP_MODE_TILED, bNodeLink::next, DynamicPaintSurface::next, MovieTrackingObject::next, MovieTrackingTrack::next, TriangulateModifierData::ngon_method, NODE_GROUP_INPUT, node_group_input_find_socket(), NODE_GROUP_OUTPUT, node_group_output_find_socket(), NODE_OPTIONS, blender::bke::node_remove_link(), blender::bke::node_unique_name(), SpaceNode::nodetree, Main::nodetrees, NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE, OB_MODE_TEXTURE_PAINT, OB_NEGZ, OB_PLAINAXES, OB_POSX, OB_POSY, OB_POSZ, MovieTrackingSettings::object_distance, Main::objects, MovieTracking::objects, SpaceOutliner::outlinevis, MeshStatVis::overhang_axis, MeshStatVis::overhang_max, MeshStatVis::overhang_min, Sculpt::paint, PAINT_SYMM_X, PAINT_SYMM_Y, PAINT_SYMM_Z, PAINT_SYMMETRY_FEATHER, bNodeTreePath::parent_key, PART_DRAW_GR, PART_DRAW_NO_SCALE_OB, PART_DRAW_OB, PART_DRAW_ROTATE_OB, PART_ROT_VEL, PART_ROTATIONS, FluidFlowSettings::particle_size, Main::particles, PROJ_X, PROJ_Y, PROJ_Z, TexMapping::projx, TexMapping::projy, TexMapping::projz, PROP_SMOOTH, TriangulateModifierData::quad_method, R_COLOR_MANAGEMENT, R_LINE_THICKNESS_ABSOLUTE, BezTriple::radius, BPoint::radius, DynamicPaintSurface::radius_scale, BuildModifierData::randomize, ARegion::regiontype, View3D::render_border, FluidDomainSettings::res, RGN_ALIGN_LEFT, RGN_ALIGN_NONE, RGN_ALIGN_RIGHT, RGN_FLAG_HIDDEN, RGN_TYPE_HEADER, RGN_TYPE_PREVIEW, RGN_TYPE_TOOLS, RGN_TYPE_UI, SC_SHOW_ANNOTATION, SC_VIEW_CLIP, FluidDomainSettings::scale, MovieTrackingObject::scale, Main::scenes, SpaceClip::scopes, Main::screens, ToolSettings::sculpt, SCULPT_BRUSH_TYPE_ROTATE, SCULPT_DYNTOPO_SUBDIVIDE, SEQ_PREVIEW_SHOW_GPENCIL, MovieTracking::settings, ImageUser::sfra, SH_NODE_MAPPING, SH_NODE_SUBSURFACE_SCATTERING, SH_NODE_TEX_COORD, SH_NODE_TEX_ENVIRONMENT, SH_NODE_TEX_IMAGE, Main::shapekeys, MeshStatVis::sharp_max, MeshStatVis::sharp_min, SI_SHOW_GPENCIL, ClothModifierData::sim_parms, UnifiedPaintSettings::size, SM_HRES_LINEAR, SM_HRES_NEAREST, SNODE_SHOW_GPENCIL, SO_DATA_API, SO_LIBRARIES, SO_SCENES, SO_SEQUENCE, SPACE_CLIP, SPACE_IMAGE, SPACE_NODE, SPACE_OUTLINER, SPACE_SEQ, SPACE_VIEW3D, EdgeSplitModifierData::split_angle, LatticeModifierData::strength, strip_colorbalance_update_cb(), strip_set_alpha_mode_cb(), strip_set_wipe_angle_cb(), STRNCPY_UTF8, Main::subversionfile, FluidFlowSettings::surface_distance, DynamicPaintCanvasSettings::surfaces, Paint::symmetry_flags, TEX_IMAGE, TEX_USEALPHA, Main::texts, FluidFlowSettings::texture_size, Main::textures, MeshStatVis::thickness_max, MeshStatVis::thickness_samples, bNodeLink::tonode, bNodeLink::tosock, TRACK_MOTION_MODEL_TRANSLATION, MovieClipScopes::track_preview_height, TRACKING_OBJECT_CAMERA, MovieTracking::tracks_legacy, SpaceNode::tree_idname, SpaceNode::treepath, txt_extended_ascii_as_utf8(), TXT_ISEXT, FluidModifierData::type, UNIFIED_PAINT_WEIGHT, unit_m4(), UnifiedPaintSettings::unprojected_size, UVCALC_UNWRAP_METHOD_ANGLE, V2D_IS_INIT, V3D_AROUND_CENTER_MEDIAN, V3D_SHOW_ANNOTATION, V3D_SHOW_RECONSTRUCTION, bNodeInstanceKey::value, version_add_group_in_out_node(), Main::versionfile, ToolSettings::vgroup_weight, SpaceClip::view, FluidsimSettings::viscosityExponent, FluidsimSettings::viscosityValue, Main::worlds, rctf::xmax, rctf::xmin, rctf::ymax, rctf::ymin, and SpaceNode::zoom.

Referenced by do_versions().

◆ blo_do_versions_270()

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

Definition at line 462 of file versioning_270.cc.

References Main::armatures, ARRAY_SET_ITEMS, ARRAY_SIZE, ClothSimSettings::bending_damping, BKE_area_region_free(), BKE_curvemap_reset(), BKE_curvemapping_init(), BKE_curvemapping_set_defaults(), BKE_gpencil_palette_addnew(), BKE_gpencil_palettecolor_addnew(), BKE_main_lists_get(), BKE_mask_parent_init(), BKE_modifier_unique_name(), BKE_scene_add_render_view(), BLI_addtail(), BLI_freelinkN(), BLI_listbase_clear(), BLI_listbase_count(), BLI_listbase_is_empty(), ParticleEditSettings::brush, BRUSH_ACCUMULATE, BRUSH_FRONTFACE_FALLOFF, BRUSH_GRAB_ACTIVE_VERTEX, BRUSH_INVERT_TO_SCRAPE_FILL, BRUSH_ORIGINAL_PLANE, BRUSH_RAKE, BRUSH_RANDOM_ROTATION, BRUSH_SCENE_SPACING, BRUSH_TORUS, Main::brushes, Main::cameras, CD_MDEFORMVERT, FluidDomainSettings::clipping, CurveMapping::clipr, ParticleSystem::clmd, CurveMapping::cm, CMP_NODE_COMPOSITE_DEPRECATED, CMP_NODE_GLARE, CMP_NODE_GLARE_SIMPLE_STAR, CMP_NODE_GLARE_STREAKS, CMP_NODE_OUTPUT_FILE, CMP_NODE_PLANETRACKDEFORM, bGPDpalettecolor::color, Sculpt::constant_detail, copy_v2_fl2(), copy_v4_v4(), CurvePaintSettings::corner_angle, ParticleBrushData::count, CU_BEZIER, CURVE_PAINT_FLAG_CORNERS_DETECT, CURVE_PRESET_MAX, CurvePaintSettings::curve_type, CustomData_set_layer_name(), data, DecimateModifierData::defgrp_factor, SimpleDeformModifierData::deform_axis, DEG2RADF, FluidDomainSettings::display_thickness, do_version_action_editor_properties_region(), do_version_bones_super_bbone(), do_version_constraints_radians_degrees_270_1(), do_version_constraints_radians_degrees_270_5(), do_version_constraints_stretch_to_limits(), do_versions_compositor_render_passes(), FluidModifierData::domain, BooleanModifierData::double_threshold, eHook_Falloff_InvSquare, ELEM, eModifierType_Bevel, eModifierType_Boolean, eModifierType_Cloth, eModifierType_Decimate, eModifierType_Fluid, eModifierType_Hook, eModifierType_NormalEdit, eModifierType_ParticleInstance, eModifierType_ParticleSystem, eModifierType_SimpleDeform, eModifierType_SurfaceDeform, enabled, eParticleInstanceSpace_World, CurvePaintSettings::error_threshold, HookModifierData::falloff_type, FFM_CRF_NONE, FFM_PRESET_BEST, FFM_PRESET_GOOD, FFM_PRESET_NONE, FFM_PRESET_REALTIME, ImagePackedFile::filepath, FileData::filesdna, bGPDpalettecolor::fill, bGPDpalettecolor::flag, CurvePaintSettings::flag, ID::flag, ImageUser::flag, VPaint::flag, float, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), GP_DATA_SHOW_ONIONSKINS, GP_LAYER_HIDE, GP_LAYER_LOCKED, GP_LAYER_ONIONSKIN, GP_LAYER_VOLUMETRIC, GP_PROJECT_VIEWSPACE, ToolSettings::gpencil_v2d_align, ToolSettings::gpencil_v3d_align, Main::gpencils, HD_AUTO, i, bNodeTree::id, ID_FLAG_FAKEUSER, ID_RECALC_PSYS_RESET, IMA_SHOW_STEREO, Main::images, bGPDpalette::info, SpaceImage::iuser, MTex::kinkampfac, LA_LOCAL, LA_YF_PHOTON, Main::lights, Main::linestyles, LISTBASE_FOREACH, LS_INTEGRATION_MEAN, LS_NO_SORTING, LS_SORT_KEY_DISTANCE_FROM_CAMERA, LS_TEXTURE, M_PI, M_SQRT3, MAIN_VERSION_FILE_ATLEAST, mask(), Main::masks, BevelModifierData::mat, SurfaceDeformModifierData::mat, Main::materials, MAX_MTEX, MEM_callocN(), MEM_mallocN(), Main::meshes, migrate_single_rot_stabilization_track_settings(), min_ff(), NormalEditModifierData::mix_limit, MOD_BEVEL_AMT_OFFSET, SpaceClip::mode, MOTIONPATH_FLAG_LINES, Main::movieclips, MTEX_ANGLE_RAKE, MTEX_ANGLE_RANDOM, blender::bke::node_tree_from_id(), blender::bke::node_tree_set_type(), NTREE_COMPOSIT, OB_MODE_SCULPT, Main::objects, MovieTracking::objects, ImagePackedFile::packedfile, SpaceFile::params, PART_CHILD_USE_CLUMP_CURVE, PART_CHILD_USE_ROUGH_CURVE, ToolSettings::particle, ParticleInstanceModifierData::particle_amount, Main::particles, PC_COLOR_HIDE, PC_COLOR_LOCKED, PC_COLOR_ONIONSKIN, PC_COLOR_VOLUMETRIC, PositiveNegative, printf, BevelModifierData::profile, ParticleSystemModifierData::psys, PTCACHE_BAKED, R_BAKE_CLEAR, R_BAKE_PASS_FILTER_ALL, R_BAKE_POSX, R_BAKE_POSY, R_BAKE_POSZ, R_BAKE_SPACE_TANGENT, R_IMF_CHAN_DEPTH_8, R_IMF_EXR_CODEC_DWAA, R_IMF_EXR_CODEC_DWAB, R_IMF_IMTYPE_PNG, R_IMF_PLANES_RGBA, CurvePaintSettings::radius_max, SpaceAction::regionbase, RGN_ALIGN_NONE, RGN_FLAG_HIDDEN, RGN_TYPE_CHANNELS, RGN_TYPE_PREVIEW, RGN_TYPE_WINDOW, RV3D_VIEW_PERSPORTHO, RV3D_VIEW_USER, SC_MODE_MASKEDIT, SC_MODE_TRACKING, Main::scenes, SCREENNORMAL, Main::screens, ToolSettings::sculpt, SCULPT_BRUSH_TYPE_GRAB, SCULPT_BRUSH_TYPE_SNAKE_HOOK, SEQ_VIEW_SEQUENCE, ClothModifierData::sim_parms, FluidDomainSettings::slice_depth, FluidDomainSettings::slice_per_voxel, ParticleInstanceModifierData::space, SPACE_ACTION, SPACE_CLIP, SPACE_FILE, SPACE_IMAGE, SPACE_SEQ, SPACE_VIEW3D, RigidBodyCon::spring_damping_ang_x, RigidBodyCon::spring_damping_ang_y, RigidBodyCon::spring_damping_ang_z, RigidBodyCon::spring_stiffness_ang_x, RigidBodyCon::spring_stiffness_ang_y, RigidBodyCon::spring_stiffness_ang_z, View3D::stereo3d_camera, View3D::stereo3d_convergence_alpha, View3D::stereo3d_flag, View3D::stereo3d_volume_alpha, STEREO_3D_ID, STEREO_LEFT_NAME, STEREO_LEFT_SUFFIX, STEREO_RIGHT_NAME, STEREO_RIGHT_SUFFIX, ParticleBrushData::strength, strip_update_effectdata_cb(), strip_update_proxy_cb(), STRNCPY(), STRNCPY_UTF8, SceneRenderView::suffix, FileSelectParams::thumbnail_size, ClothSimSettings::time_scale, TRACKING_OBJECT_CAMERA, TRACKING_SHOW_STAB_TRACKS, MovieTracking::tracks_legacy, U, unit_m4(), V2D_LIMITZOOM, V3D_S3D_DISPPLANE, BevelModifierData::val_flags, RegionView3D::view, SpaceSeq::view, VP_FLAG_VGROUP_RESTRICT, ToolSettings::vpaint, Main::wm, and ToolSettings::wpaint.

Referenced by do_versions().

◆ blo_do_versions_280()

void blo_do_versions_280 ( 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 3042 of file versioning_280.cc.

References abs, Main::actions, RemeshModifierData::adaptivity, ARegion::alignment, AREA_FLAG_UNUSED_6, ARM_BCOLL_SOLO_ACTIVE, ARM_DRAW_RELATION_FROM_HEAD, ARM_FLAG_UNUSED_1, ARM_FLAG_UNUSED_12, ARM_FLAG_UNUSED_7, ARM_FLAG_UNUSED_9, Main::armatures, ARRAY_SET_ITEMS, ARRAY_SIZE, BrushGpencilSettings::aspect_ratio, atanf, B_UNIT_LENGTH, B_UNIT_MASS, B_UNIT_TIME, View3DShading::background_color, ClothSimSettings::bending_model, BKE_animdata_main_cb(), BKE_area_region_free(), BKE_area_region_new(), BKE_color_managed_display_settings_init(), BKE_color_managed_view_settings_init(), BKE_curvemap_reset(), BKE_curvemapping_add(), BKE_curvemapping_init(), BKE_curveprofile_add(), BKE_gpencil_stroke_geometry_update(), BKE_main_id_repair_duplicate_names_listbase(), BKE_ptcache_add(), BKE_report(), BKE_rigidbody_world_init_runtime(), BKE_screen_area_free(), BKE_screen_remove_double_scredges(), BKE_screen_remove_unused_scredges(), BKE_screen_remove_unused_scrverts(), BKE_screen_view3d_shading_init(), BKE_spacedata_find_region_type(), BKE_spacetype_from_id(), BKE_studiolight_find(), BKE_studiolight_find_default(), BKE_unit_base_of_type_get(), BKE_workspace_tool_remove(), blend(), BLI_addhead(), BLI_addtail(), BLI_assert, BLI_freelinkN(), BLI_insertlinkafter(), BLI_insertlinkbefore(), BLI_listbase_clear(), BLI_listbase_is_empty(), BLI_remlink(), BLI_str_startswith(), GlowShaderFxData::blur, BRUSH_POSE_IK_ANCHORED, Main::brushes, ParticleEditSettings::brushtype, Main::cameras, View3DShading::cavity_ridge_factor, View3DShading::cavity_valley_factor, CD_PROP_FLOAT2, View3D::clip_end, View3D::clip_start, CurveMapping::clipr, ParticleSystem::clmd, CLOTH_BENDING_LINEAR, CLOTH_COLLSETTINGS_FLAG_ENABLED, CLOTH_COLLSETTINGS_FLAG_SELF, CLOTH_SIMSETTINGS_FLAG_GOAL, CLOTH_SIMSETTINGS_FLAG_SCALING, CLOTH_SIMSETTINGS_FLAG_SEW, CurveMapping::cm, ClothModifierData::coll_parms, COLLECTION_HIDE_RENDER, COLLECTION_HIDE_SELECT, COLLECTION_HIDE_VIEWPORT, View3DShading::color_type, ClothSimSettings::compression, ClothSimSettings::compression_damp, CONSTRAINT_SPACE_LOCAL, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPLINEIK_YS_FIT_CURVE, CONSTRAINT_TYPE_SPLINEIK, CONSTRAINT_TYPE_TRANSFORM_CACHE, copy_v2_fl(), copy_v2_v2(), copy_v3_fl(), copy_v3_v3(), GP_Sculpt_Settings::cur_falloff, GP_Sculpt_Settings::cur_primitive, View3DShading::curvature_ridge_factor, View3DShading::curvature_valley_factor, ColorGpencilModifierData::curve_intensity, NoiseGpencilModifierData::curve_intensity, OpacityGpencilModifierData::curve_intensity, SmoothGpencilModifierData::curve_intensity, TintGpencilModifierData::curve_intensity, CURVE_PRESET_BELL, CURVE_PRESET_GAUSS, ToolSettings::custom_bevel_profile_preset, BevelModifierData::custom_profile, CustomData_free_layers(), CustomData_get_layer(), CustomData_has_layer(), CustomData_update_typemap(), data, DataTransferModifierData::defgrp_name, FileSelectParams::details_flags, DNA_struct_default_get, do_version_bbone_scale_fcurve_fix(), do_version_bones_inherit_scale(), do_version_bones_split_bbone_scale(), do_version_constraints_copy_rotation_mix_mode(), do_version_constraints_copy_scale_power(), do_version_constraints_maintain_volume_mode_uniform(), do_version_curvemapping_flag_extend_extrapolate(), do_version_curvemapping_walker(), do_versions_add_region(), do_versions_area_ensure_tool_region(), do_versions_find_region(), do_versions_find_region_or_null(), do_versions_local_collection_bits_set(), do_versions_remove_region(), do_versions_remove_regions_by_type(), do_versions_seq_alloc_transform_and_crop(), do_versions_seq_set_cache_defaults(), do_versions_seq_unique_name_all_strips(), FluidModifierData::domain, AnimData::drivers, View3DOverlay::edit_flag, EEVEE_GET_BOOL, EEVEE_GET_FLOAT, EEVEE_GET_INT, eGpencilModifierType_Array, eGpencilModifierType_Color, eGpencilModifierType_Multiply, eGpencilModifierType_Noise, eGpencilModifierType_Opacity, eGpencilModifierType_Smooth, eGpencilModifierType_Subdiv, eGpencilModifierType_Thick, eGpencilModifierType_Tint, ELEM, eModifierType_Bevel, eModifierType_Cloth, eModifierType_CorrectiveSmooth, eModifierType_DataTransfer, eModifierType_Fluid, eModifierType_Multires, eModifierType_Ocean, eModifierType_ParticleSystem, eModifierType_Remesh, eModifierType_Shrinkwrap, eModifierType_Solidify, eModifierType_Subsurf, eModifierType_SurfaceDeform, eModifierType_Triangulate, eModifierType_UVWarp, eMultiresModifierFlag_PlainUv_DEPRECATED, eMultiresModifierFlag_UseCrease, BrushGpencilSettings::era_strength_f, BrushGpencilSettings::era_thickness_f, error(), eShaderFxColorizeMode_GrayScale, eShaderFxColorizeMode_Sepia, eShaderFxType_Colorize, eShaderFxType_Glow, eShaderFxType_Pixel, eShaderFxType_Rim, eShaderFxType_Shadow, eSubsurfModifierFlag_SubsurfUv_DEPRECATED, eSubsurfModifierFlag_UseCrease, ColorizeShaderFxData::factor, NoiseGpencilModifierData::factor, NoiseGpencilModifierData::factor_strength, NoiseGpencilModifierData::factor_thickness, NoiseGpencilModifierData::factor_uvs, MultiplyGpencilModifierData::fading_opacity, OceanModifierData::fetch_jonswap, RenderData::ffcodecdata, FFM_PRESET_BEST, FFM_PRESET_GOOD, FFM_PRESET_REALTIME, FFMpegCodecData::ffmpeg_preset, FILE_DETAILS_DATETIME, FILE_DETAILS_SIZE, FILE_PARAMS_FLAG_UNUSED_1, FILE_PARAMS_FLAG_UNUSED_2, FILE_PARAMS_FLAG_UNUSED_3, FileData::filesdna, MaterialGPencilStyle::fill_rgba, MaterialGPencilStyle::fill_style, SpaceOutliner::filter, SpaceOutliner::filter_id_type, ListBase::first, ARegion::flag, ArrayGpencilModifierData::flag, FileSelectParams::flag, ID::flag, MaterialGPencilStyle::flag, NoiseGpencilModifierData::flag, ParticleEditSettings::flag, RigidBodyCon::flag, SpaceAction::flag, SpaceGraph::flag, SpaceImage::flag, SpaceNla::flag, SpaceNode::flag, SpaceOutliner::flag, SpaceProperties::flag, SpaceSeq::flag, SubdivGpencilModifierData::flag, UnifiedPaintSettings::flag, View3D::flag, View3DOverlay::flag, View3DShading::flag, View3D::flag2, ClothCollSettings::flags, ClothSimSettings::flags, MultiresModifierData::flags, Sculpt::flags, SubsurfModifierData::flags, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), View3D::gizmo_show_armature, View3D::gizmo_show_camera, View3D::gizmo_show_empty, View3D::gizmo_show_light, GlowShaderFxData::glow_color, GP_ARRAY_USE_OB_OFFSET, GP_ARRAY_USE_OFFSET, GP_DATA_ANNOTATIONS, GP_DEFAULT_GRID_LINES, GP_DEFAULT_PIX_FACTOR, View3D::gp_flag, GP_LAYER_USE_LIGHTS, GP_LOCKAXIS_Y, GP_MATERIAL_FILL_SHOW, GP_MATERIAL_FILL_STYLE_CHECKER, GP_MATERIAL_FILL_STYLE_GRADIENT, GP_MATERIAL_FILL_STYLE_SOLID, GP_MATERIAL_FILL_STYLE_TEXTURE, GP_MATERIAL_STROKE_PATTERN, GP_MATERIAL_STROKE_SHOW, GP_MATERIAL_STROKE_TEX_MIX, GP_NOISE_FULL_STROKE, GP_NOISE_MOD_LOCATION, GP_NOISE_MOD_STRENGTH, GP_NOISE_MOD_THICKNESS, GP_NOISE_MOD_UV, GP_PROJECT_CURSOR, GP_PROJECT_VIEWSPACE, GP_SUBDIV_SIMPLE, GPAINT_BRUSH_TYPE_ERASE, View3DOverlay::gpencil_fade_layer, View3DOverlay::gpencil_grid_opacity, View3DOverlay::gpencil_paper_opacity, View3DOverlay::gpencil_vertex_paint_opacity, Main::gpencils, FluidDomainSettings::gravity, View3D::gridflag, BrushGpencilSettings::hardness, ColorizeShaderFxData::high_color, i, bNodeTree::id, ID_BR, ID_FLAG_EMBEDDED_DATA, ID_GR, IDP_FreeProperty(), IDP_GetPropertyFromGroup(), IMA_ALPHA_IGNORE, IMA_FLAG_UNUSED_1, IMA_FLAG_UNUSED_15, IMA_FLAG_UNUSED_16, IMA_FLAG_UNUSED_4, IMA_FLAG_UNUSED_6, IMA_FLAG_UNUSED_8, IMA_HIGH_BITDEPTH, IMA_TYPE_R_RESULT, Main::images, IMB_BLEND_ADD, IMB_BLEND_ADD_ALPHA, IMB_BLEND_COLORDODGE, IMB_BLEND_DARKEN, IMB_BLEND_DIFFERENCE, IMB_BLEND_ERASE_ALPHA, IMB_BLEND_EXCLUSION, IMB_BLEND_HARDLIGHT, IMB_BLEND_HUE, IMB_BLEND_LIGHTEN, IMB_BLEND_LUMINOSITY, IMB_BLEND_MIX, IMB_BLEND_MUL, IMB_BLEND_OVERLAY, IMB_BLEND_SATURATION, IMB_BLEND_SCREEN, IMB_BLEND_SOFTLIGHT, IMB_BLEND_SUB, ClothSimSettings::internal_compression, ClothSimSettings::internal_spring_max_diversion, ClothSimSettings::internal_tension, is_zero_v3(), GP_Sculpt_Settings::isect_threshold, LA_AREA, LA_LOCAL, LA_SHADOW, LA_SPOT, LA_SUN, LayerCollection::layer_collections, UnitSettings::length_unit, View3DShading::light, Main::lightprobes, Main::lights, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, GP_Sculpt_Settings::lock_axis, ColorManagedViewSettings::look, View3DShading::lookdev_light, ColorizeShaderFxData::low_color, M_PI_4, M_SQRT1_3, MA_BM_SOLID, MA_BS_SOLID, MAIN_VERSION_FILE_ATLEAST, RimShaderFxData::mask_rgb, UnitSettings::mass_unit, View3DShading::matcap, Main::materials, ClothSimSettings::max_compression, ClothSimSettings::max_internal_compression, ClothSimSettings::max_internal_tension, ClothSimSettings::max_shear, ClothSimSettings::max_tension, ME_FLAG_UNUSED_0, ME_FLAG_UNUSED_1, ME_FLAG_UNUSED_4, ME_FLAG_UNUSED_6, ME_FLAG_UNUSED_7, ME_FLAG_UV_SELECT_SYNC_VALID, ME_REMESH_REPROJECT_ATTRIBUTES, MEM_callocN(), MEM_freeN(), SolidifyModifierData::merge_tolerance, Main::meshes, min_ii(), TriangulateModifierData::min_vertices, DataTransferModifierData::mix_factor, MaterialGPencilStyle::mix_stroke_factor, MOD_SHRINKWRAP_ABOVE_SURFACE, ColorizeShaderFxData::mode, SpaceAction::mode_prev, mul_v3_fl(), RenderSlot::name, StudioLight::name, ARegion::next, blender::bke::node_tree_from_id(), NoiseGpencilModifierData::noise_scale, View3DOverlay::normals_length, NTREE_DOVERSION_NEED_OUTPUT, NTREE_DOVERSION_NO_ERROR, NTREE_DOVERSION_TRANSPARENCY_EMISSION, NTREE_SHADER, OB_ADS_UNUSED_1, OB_ADS_UNUSED_2, OB_EMPTY, OB_EMPTY_IMAGE_HIDE_BACK, OB_EMPTY_IMAGE_HIDE_ORTHOGRAPHIC, OB_EMPTY_IMAGE_HIDE_PERSPECTIVE, OB_FLAG_ACTIVE_CLIPBOARD, OB_FLAG_USE_SIMULATION_CACHE, OB_GPENCIL_LEGACY, OB_MATERIAL, OB_MODE_SCULPT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, OB_RENDER, OB_SOLID, OB_TEXTURE, OB_TRANSFLAG_UNUSED_1, OB_TRANSFLAG_UNUSED_12, OB_TRANSFLAG_UNUSED_3, OB_TRANSFLAG_UNUSED_6, OB_TRANSFORM_ADJUST_ROOT_PARENT_FOR_VIEW_LOCK, ArrayGpencilModifierData::object, Main::objects, ArrayGpencilModifierData::offset, SpaceFile::op, SpaceOutliner::outlinevis, View3D::overlay, PAINT_BLEND_ADD, PAINT_BLEND_ALPHA_ADD, PAINT_BLEND_ALPHA_SUB, PAINT_BLEND_AVERAGE, PAINT_BLEND_BLUR, PAINT_BLEND_COLORDODGE, PAINT_BLEND_DARKEN, PAINT_BLEND_DIFFERENCE, PAINT_BLEND_EXCLUSION, PAINT_BLEND_HARDLIGHT, PAINT_BLEND_HUE, PAINT_BLEND_LIGHTEN, PAINT_BLEND_LUMINOSITY, PAINT_BLEND_MIX, PAINT_BLEND_MUL, PAINT_BLEND_OVERLAY, PAINT_BLEND_SATURATION, PAINT_BLEND_SCREEN, PAINT_BLEND_SMEAR, PAINT_BLEND_SOFTLIGHT, PAINT_BLEND_SUB, SpaceFile::params, PAROBJECT, PART_DRAW_BB, PART_DRAW_NOT, PART_SHAPE_CLOSE_TIP, ToolSettings::particle, Main::particles, PE_BRUSH_COMB, PE_UNUSED_6, RigidBodyWorld_Shared::pointcache, SoftBody_Shared::pointcache, Positive, ClothSimSettings::pressure_factor, View3DShading::prev_type, printf, PROF_PRESET_LINE, View3DShading::prop, ParticleSystemModifierData::psys, RigidBodyWorld_Shared::ptcaches, SoftBody_Shared::ptcaches, MultiresModifierData::quality, SubsurfModifierData::quality, R_ADDSKY, R_ALPHAPREMUL, R_COLOR_MANAGEMENT_UNUSED_1, R_MODE_UNUSED_10, R_MODE_UNUSED_13, R_MODE_UNUSED_16, R_MODE_UNUSED_17, R_MODE_UNUSED_18, R_MODE_UNUSED_19, R_MODE_UNUSED_2, R_MODE_UNUSED_20, R_MODE_UNUSED_21, R_MODE_UNUSED_27, R_MODE_UNUSED_3, R_MODE_UNUSED_4, R_MODE_UNUSED_5, R_MODE_UNUSED_6, R_MODE_UNUSED_7, R_MODE_UNUSED_8, R_SCEMODE_UNUSED_11, R_SCEMODE_UNUSED_13, R_SCEMODE_UNUSED_16, R_SCEMODE_UNUSED_17, R_SCEMODE_UNUSED_19, R_SCEMODE_UNUSED_8, R_SEQ_UNUSED_0, R_SEQ_UNUSED_1, R_SEQ_UNUSED_2, R_SIMPLIFY_NORMALS, RBC_TYPE_6DOF_SPRING, RBC_TYPE_MOTOR, RBC_TYPE_SLIDER, RE_engine_id_BLENDER_EEVEE, RE_engine_id_BLENDER_WORKBENCH, RE_engine_id_CYCLES, ARegion::regiontype, View3DShading::render_pass, SubsurfModifierData::renderLevels, BlendFileReadReport::reports, FileData::reports, TintGpencilModifierData::rgb, PixelShaderFxData::rgba, RGN_ALIGN_BOTTOM, RGN_ALIGN_LEFT, RGN_ALIGN_RIGHT, RGN_ALIGN_TOP, RGN_FLAG_DYNAMIC_SIZE, RGN_FLAG_HIDDEN, RGN_FLAG_HIDDEN_BY_USER, RGN_SPLIT_PREV, RGN_TYPE_EXECUTE, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_NAV_BAR, RGN_TYPE_PREVIEW, RGN_TYPE_TOOL_HEADER, RGN_TYPE_TOOL_PROPS, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, RimShaderFxData::rim_rgb, ROT_MODE_XYZ, RPT_ERROR, SACTCONT_DOPESHEET, SACTION_SHOW_EXTREMES, SACTION_SHOW_INTERPOLATION, SACTION_SHOW_MARKERS, SB_FLAG_UNUSED_2, SB_FLAG_UNUSED_3, SC_VIEW_GRAPH, CorrectiveSmoothModifierData::scale, UVWarpModifierData::scale, SCE_DISPLAY_AA_FXAA, SCE_DISPLAY_AA_SAMPLES_8, SCE_EEVEE_GTAO_ENABLED, SCE_EEVEE_MOTION_BLUR_ENABLED_DEPRECATED, SCE_EEVEE_SSR_ENABLED, SCE_EEVEE_TAA_REPROJECTION, SCE_PASS_COMBINED, SCE_SNAP_TO_GRID, SCE_SNAP_TRANSFORM_MODE_TRANSLATE, Main::scenes, Main::screens, View2D::scroll, ToolSettings::sculpt, SCULPT_BRUSH_TYPE_CLAY_STRIPS, SCULPT_BRUSH_TYPE_CLOTH, SCULPT_BRUSH_TYPE_POSE, SCULPT_FLAG_UNUSED_0, SCULPT_FLAG_UNUSED_1, SCULPT_FLAG_UNUSED_2, SCULPT_FLAG_UNUSED_6, View3DOverlay::sculpt_mode_face_sets_opacity, View3DOverlay::sculpt_mode_mask_opacity, ArrayGpencilModifierData::seed, GlowShaderFxData::select_color, ClothCollSettings::selfepsilon, SEQ_SHOW_MARKERS, SEQ_TIMELINE_SHOW_FCURVES, SET_FLAG_FROM_TEST, SH_NODE_BSDF_PRINCIPLED, SH_NODE_EEVEE_SPECULAR, SH_NODE_OUTPUT_MATERIAL, View3D::shading, View3DShading::shadow_intensity, ShadowShaderFxData::shadow_rgba, RigidBodyWorld::shared, SoftBody::shared, SHD_GLOSSY_MULTI_GGX, SHD_SUBSURFACE_BURLEY, ClothSimSettings::shear, ClothSimSettings::shear_damp, ArrayGpencilModifierData::shift, SpaceOutliner::show_restrict_flags, ClothSimSettings::shrink_min, ShrinkwrapModifierData::shrinkMode, ShrinkwrapModifierData::shrinkOpts, SI_FLAG_UNUSED_0, SI_FLAG_UNUSED_1, SI_FLAG_UNUSED_17, SI_FLAG_UNUSED_18, SI_FLAG_UNUSED_23, SI_FLAG_UNUSED_24, SI_FLAG_UNUSED_3, SI_FLAG_UNUSED_6, SI_FLAG_UNUSED_7, SI_FLAG_UNUSED_8, ClothModifierData::sim_parms, View3DShading::single_color, SIPO_SHOW_MARKERS, SNLA_FLAG_UNUSED_0, SNLA_FLAG_UNUSED_1, SNLA_FLAG_UNUSED_3, SNLA_SHOW_MARKERS, SNODE_FLAG_UNUSED_10, SNODE_FLAG_UNUSED_11, SNODE_FLAG_UNUSED_6, SNPRINTF_UTF8, SO_DATA_API, SO_FILTER_CLEARED_1, SO_FILTER_OB_STATE_SELECTABLE, SO_FILTER_UNUSED_5, SO_FLAG_UNUSED_1, SO_ID_ORPHANS, SO_LIBRARIES, SO_RESTRICT_ENABLE, SO_RESTRICT_HIDE, SO_SCENES, SO_SEQUENCE, SO_SYNC_SELECT, SO_TREESTORE_UNUSED_1, SO_VIEW_LAYER, SPACE_ACTION, SPACE_CLIP, SPACE_FILE, SPACE_GRAPH, SPACE_IMAGE, SPACE_INFO, SPACE_NLA, SPACE_NODE, SPACE_OUTLINER, SPACE_PROPERTIES, SPACE_SEQ, SPACE_TEXT, SPACE_USERPREF, SPACE_VIEW3D, srgb_to_linearrgb_v3_v3(), srgb_to_linearrgb_v4(), SpaceOutliner::storeflag, STR_ELEM, SurfaceDeformModifierData::strength, STREQ, strip_update_flags_cb(), STRNCPY(), STRNCPY_UTF8, MaterialGPencilStyle::stroke_rgba, View3DShading::studio_light, View3DShading::studiolight_blur, View3DShading::studiolight_intensity, STUDIOLIGHT_TYPE_MATCAP, STUDIOLIGHT_TYPE_WORLD, SUBSURF_UV_SMOOTH_NONE, SUBSURF_UV_SMOOTH_PRESERVE_CORNERS, SpaceOutliner::sync_select_dirty, UnitSettings::system, ClothSimSettings::tension, ClothSimSettings::tension_damp, Main::texts, MaterialGPencilStyle::texture_angle, MaterialGPencilStyle::texture_offset, View3DOverlay::texture_paint_mode_opacity, MaterialGPencilStyle::texture_scale, Main::textures, ThickGpencilModifierData::thickness, ThickGpencilModifierData::thickness_fac, tile, SpaceImage::tile_grid_shape, UnitSettings::time_unit, TXT_FLAG_UNUSED_8, TXT_FLAG_UNUSED_9, RigidBodyCon::type, SubdivGpencilModifierData::type, View3DShading::type, U, UNIFIED_PAINT_FLAG_UNUSED_0, UNIFIED_PAINT_FLAG_UNUSED_1, update_musgrave_node_color_output(), update_vector_math_node_operators_enum_mapping(), update_voronoi_node_f3_and_f4(), update_voronoi_node_fac_output(), USER_HEADER_BOTTOM, USER_UNIT_ADAPTIVE, USER_UNIT_NONE, MultiresModifierData::uv_smooth, SubsurfModifierData::uv_smooth, ARegion::v2d, V2D_SCROLL_LEFT, V2D_SCROLL_RIGHT, V3D_AROUND_CENTER_MEDIAN, V3D_FLAG2_UNUSED_12, V3D_FLAG2_UNUSED_13, V3D_FLAG2_UNUSED_14, V3D_FLAG2_UNUSED_15, V3D_FLAG2_UNUSED_6, V3D_FLAG_UNUSED_1, V3D_FLAG_UNUSED_10, V3D_FLAG_UNUSED_12, V3D_GIZMO_SHOW_ARMATURE_BBONE, V3D_GIZMO_SHOW_ARMATURE_ROLL, V3D_GIZMO_SHOW_CAMERA_DOF_DIST, V3D_GIZMO_SHOW_CAMERA_LENS, V3D_GIZMO_SHOW_EMPTY_FORCE_FIELD, V3D_GIZMO_SHOW_EMPTY_IMAGE, V3D_GIZMO_SHOW_LIGHT_LOOK_AT, V3D_GIZMO_SHOW_LIGHT_SIZE, V3D_GP_SHOW_EDIT_LINES, V3D_LIGHTING_STUDIO, V3D_LOCAL_COLLECTIONS, V3D_OFSDRAW_SHOW_ANNOTATION, V3D_OFSDRAW_SHOW_GRIDFLOOR, V3D_OVERLAY_EDIT_BWEIGHTS, V3D_OVERLAY_EDIT_CREASES, V3D_OVERLAY_EDIT_FACES, V3D_OVERLAY_EDIT_FREESTYLE_EDGE, V3D_OVERLAY_EDIT_FREESTYLE_FACE, V3D_OVERLAY_EDIT_RETOPOLOGY, V3D_OVERLAY_EDIT_SEAMS, V3D_OVERLAY_EDIT_SHARP, V3D_SHADING_BACKFACE_CULLING, V3D_SHADING_MATERIAL_COLOR, V3D_SHADING_OBJECT_OUTLINE, V3D_SHADING_SCENE_LIGHTS_RENDER, V3D_SHADING_SCENE_WORLD_RENDER, V3D_SHADING_SINGLE_COLOR, V3D_SHADING_SPECULAR_HIGHLIGHT, V3D_SHADING_TEXTURE_COLOR, V3D_SHADING_WORLD_ORIENTATION, V3D_SHADING_XRAY_WIREFRAME, V3D_SHOW_ORTHO_GRID, version_cycles_properties_from_ID(), version_cycles_property_boolean(), version_cycles_property_float(), bGPDspoint::vert_color, View3D::vertex_opacity, View3DOverlay::vertex_paint_mode_opacity, ClothSimSettings::vgroup_bend, ClothSimSettings::vgroup_mass, ClothSimSettings::vgroup_shear, ClothSimSettings::vgroup_shrink, ClothSimSettings::vgroup_struct, view, ColorManagedViewSettings::view_transform, RemeshModifierData::voxel_size, VPAINT_BRUSH_TYPE_AVERAGE, VPAINT_BRUSH_TYPE_BLUR, VPAINT_BRUSH_TYPE_DRAW, VPAINT_BRUSH_TYPE_SMEAR, View3DOverlay::weight_paint_mode_opacity, which_libbase(), View3DShading::wire_color_type, View3DOverlay::wireframe_threshold, Main::wm, WM_OUTLINER_SYNC_SELECT_FROM_ALL, WO_MODE_UNUSED_1, WO_MODE_UNUSED_2, WO_MODE_UNUSED_3, WO_MODE_UNUSED_4, WO_MODE_UNUSED_5, WO_MODE_UNUSED_7, Main::workspaces, Main::worlds, XR_SESSION_USE_POSITION_TRACKING, View3DShading::xray_alpha, and View3DOverlay::xray_alpha_bone.

Referenced by do_versions().

◆ blo_do_versions_290()

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

Repair files from duplicate brushes added to blend files, see: #76738.

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 810 of file versioning_290.cc.

References Main::actions, NodeTexSky::aerosol_density, BevelModifierData::affect_type, NodeTexSky::air_density, ARegion::alignment, NodeTexSky::altitude, Main::armatures, ARRAY_SIZE, MirrorModifierData::bisect_threshold, BKE_cryptomatte_matte_id_to_entries(), BKE_curve_nurbs_get(), BKE_curvemapping_add(), BKE_curvemapping_init(), BKE_main_id_repair_duplicate_names_listbase(), BKE_mesh_legacy_convert_loops_to_corners(), BKE_mesh_legacy_convert_polys_to_offsets(), BKE_mesh_validate_arrays(), BLI_assert, BLI_assert_msg, BLI_findptr(), BLI_freelinkN(), blo_read_get_new_globaldata_address(), Main::brushes, Editing::cache_flag, CACHEFILE_VELOCITY_UNIT_SECOND, Main::cachefiles, CD_MFACE, WeightVGProximityModifierData::cmap_curve, CMP_NODE_CRYPTOMATTE_LEGACY, CMP_NODE_OUTPUT_FILE, CMP_NODE_R_LAYERS, CMP_NODE_SETALPHA, CMP_NODE_SETALPHA_MODE_REPLACE_ALPHA, FluidDomainSettings::coba_field, COLLECTION_COLOR_NONE, Main::collections, copy_v3_fl(), copy_v4_v4(), CU_2D, CU_3D, CU_BEV_MODE_OBJECT, CU_BEV_MODE_ROUND, CU_IS_2D, CU_PATH_CLAMP, Main::curves, CustomData_get_layer(), CustomData_get_layer_for_write(), data, IDProperty::data, DEG2RADF, DENOISER_OPTIX, do_versions_291_fcurve_handles_limit(), do_versions_add_region_if_not_found(), do_versions_point_attribute_names(), do_versions_point_attributes(), FluidModifierData::domain, eBooleanModifierFlag_Object, eBooleanModifierSolver_Float, blender::seq::editing_get(), EEVEE_RENDER_PASS_UNUSED_8, ELEM, eModifierType_Bevel, eModifierType_Boolean, eModifierType_Fluid, eModifierType_MeshSequenceCache, eModifierType_Mirror, eModifierType_Nodes, eModifierType_Ocean, eModifierType_WeightVGEdit, eModifierType_WeightVGProximity, View3DOverlay::fade_alpha, FileData::filesdna, SpaceOutliner::filter, SpaceOutliner::filter_state, BooleanModifierData::flag, SpaceImage::flag, SpaceImageOverlay::flag, SpaceOutliner::flag, SpaceSeq::flag, View3DOverlay::flag, BevelModifierData::flags, FLUID_DOMAIN_FIELD_PHI, FLUID_DOMAIN_TYPE_LIQUID, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, FluidDomainSettings::fractions_distance, GEO_NODE_MESH_BOOLEAN, GEO_NODE_MESH_PRIMITIVE_GRID, GEO_NODE_OBJECT_INFO, GEO_NODE_TRANSFORM_SPACE_RELATIVE, GP_DATA_CURVE_ADAPTIVE_RESOLUTION, GP_DEFAULT_CURVE_EDIT_CORNER_ANGLE, GP_DEFAULT_CURVE_ERROR, GP_DEFAULT_CURVE_RESOLUTION, Main::gpencils, FluidDomainSettings::grid_scale, FluidDomainSettings::gridlines_range_color, FluidDomainSettings::gridlines_upper_bound, IDPropertyData::group, i, ID_BR, ID_PAL, IDP_FLAG_OVERRIDABLE_LIBRARY, IDP_GROUP, invert_m4_m4(), Main::lights, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, loc_eul_size_to_mat4(), M_PI_2, MAIN_VERSION_FILE_ATLEAST, MAIN_VERSION_FILE_OLDER, NodeCryptomatte::matte_id, MAX_NAME, ME_SYMMETRY_X, ME_SYMMETRY_Y, ME_SYMMETRY_Z, MEM_allocN_len, MEM_callocN(), Main::meshes, MOD_BEVEL_AFFECT_EDGES, MOD_BEVEL_AFFECT_VERTICES, MOD_BEVEL_PROFILE_CUSTOM, MOD_BEVEL_PROFILE_SUPERELLIPSE, MOD_MESHSEQ_INTERPOLATE_VERTICES, MOD_WVG_EDIT_WEIGHTS_NORMALIZE, Main::movieclips, Main::nodetrees, NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_SHADER, Main::objects, offsetof, SpaceProperties::outliner_sync, SpaceImage::overlay, View3D::overlay, NodeTexSky::ozone_density, panels_remove_x_closed_flag_recursive(), PART_FLUID_BUBBLE, PART_FLUID_FLIP, PART_FLUID_FOAM, PART_FLUID_SPRAY, PART_PHYS_NO, Main::particles, Main::pointclouds, BevelModifierData::profile_type, NodesModifierSettings::properties, PROPERTIES_SYNC_AUTO, RE_PASSNAME_VOLUME_LIGHT, MovieTrackingSettings::refine_camera_intrinsics, REFINE_FOCAL_LENGTH, REFINE_PRINCIPAL_POINT, REFINE_RADIAL_DISTORTION, SpaceSeq::render_size, OceanModifierData::resolution, RGN_ALIGN_BOTTOM, RGN_ALIGN_TOP, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, Main::scenes, Main::screens, SEQ_CACHE_STORE_FINAL_OUT, SEQ_CACHE_STORE_RAW, SEQ_RENDER_SIZE_FULL_DEPRECATED, SEQ_RENDER_SIZE_PROXY_100, SEQ_RENDER_SIZE_PROXY_25, SEQ_RENDER_SIZE_PROXY_50, SEQ_RENDER_SIZE_PROXY_75, SEQ_SHOW_OVERLAY, SEQ_TIMELINE_SHOW_STRIP_DURATION, SEQ_TIMELINE_SHOW_STRIP_NAME, SEQ_TIMELINE_SHOW_STRIP_SOURCE, SEQ_USE_PROXIES, SET_FLAG_FROM_TEST, MovieTracking::settings, NodesModifierData::settings, SH_NODE_TEX_SKY, OceanModifierData::sharpen_peak_jonswap, SpaceOutliner::show_restrict_flags, SI_FLAG_UNUSED_20, SI_OVERLAY_SHOW_OVERLAYS, SO_FILTER_OB_HIDDEN, SO_FILTER_OB_STATE_INVERSE, SO_FILTER_OB_VISIBLE, SO_MODE_COLUMN, SO_RESTRICT_RENDER, BooleanModifierData::solver, SPACE_IMAGE, SPACE_NODE, SPACE_OUTLINER, SPACE_PROPERTIES, SPACE_SEQ, SPACE_SPREADSHEET, SPACE_VIEW3D, STREQ, STREQLEN, STRNCPY(), STRNCPY_UTF8, RigidBodyWorld::substeps_per_frame, NodeTexSky::sun_disc, NodeTexSky::sun_elevation, NodeTexSky::sun_intensity, NodeTexSky::sun_rotation, NodeTexSky::sun_size, blender::seq::tool_settings_init(), SpaceNode::treepath, FluidDomainSettings::type, IDProperty::type, U, UI_PANEL_DATA_EXPAND_ROOT, UNUSED_VARS, USER_HEADER_BOTTOM, SpaceImage::uv_opacity, V3D_OVERLAY_FADE_INACTIVE, FluidDomainSettings::vector_scale_with_magnitude, MeshSeqCacheModifierData::velocity_scale, version_cycles_properties_from_ID(), version_cycles_properties_from_render_layer(), version_cycles_properties_from_view_layer(), version_cycles_property_boolean(), version_cycles_property_boolean_set(), version_cycles_property_int(), version_cycles_property_int_set(), version_node_join_geometry_for_multi_input_socket(), version_node_socket_name(), Main::versionfile, VIEW_LAYER_CRYPTOMATTE_ACCURATE, OceanModifierData::viewport_resolution, FluidDomainSettings::viscosity_value, OceanModifierData::wave_alignment, which_libbase(), wmWindow::winid, View3DOverlay::wireframe_opacity, Main::wm, Main::workspaces, and zero_v3().

Referenced by do_versions().

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

◆ blo_do_versions_400()

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

CharInfo mat_nr used to start at 1, unlike mesh & nurbs, now zero-based.

Definition at line 1185 of file versioning_400.cc.

References Main::actions, RegionAssetShelf::active_shelf, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), ASSET_LIBRARY_ALL, AssetShelfSettings::asset_library_reference, NodeTexNoise::base, BKE_mesh_legacy_bevel_weight_to_generic(), BKE_scene_disable_color_management(), BKE_texture_colormapping_default(), BKE_texture_mapping_default(), BLI_freelistN(), BLI_listbase_clear(), Main::cameras, NodeTexBase::color_mapping, Main::curves, AssetLibraryReference::custom_library_index, NodeTexNoise::dimensions, ColorManagedDisplaySettings::display_device, DNA_struct_default_get, do_versions_add_region_if_not_found(), ELEM, enable_geometry_nodes_is_modifier(), blender::bke::Face, FileData::filesdna, Camera::fisheye_fov, Camera::fisheye_lens, Camera::fisheye_polynomial_k0, Camera::fisheye_polynomial_k1, Camera::fisheye_polynomial_k2, Camera::fisheye_polynomial_k3, Camera::fisheye_polynomial_k4, bNodeTreeInterfaceSocket::flag, flag, SequencerTimelineOverlay::flag, SpaceNodeOverlay::flag, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, GEO_NODE_SET_SHADE_SMOOTH, Main::grease_pencils, i, IDP_FreeProperty(), bNodeTreeInterfaceItem::item_type, LA_SPOT, Camera::latitude_max, Camera::latitude_min, LIGHT_PROBE_RESOLUTION_1024, LIGHTPROBE_GRID_CAPTURE_EMISSION, LIGHTPROBE_GRID_CAPTURE_INDIRECT, LIGHTPROBE_GRID_CAPTURE_WORLD, Main::lightprobes, Main::lights, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, Camera::longitude_max, Camera::longitude_min, MAIN_VERSION_FILE_ATLEAST, max_ff(), MAXFRAMEF, MEM_callocN(), MEM_freeN(), MEM_SAFE_FREE, Main::meshes, min_ff(), MINAFRAMEF, NODE_INTERFACE_PANEL_ALLOW_CHILD_PANELS_LEGACY, NODE_INTERFACE_SOCKET, NODE_INTERFACE_SOCKET_INPUT, NODE_INTERFACE_SOCKET_OUTPUT, Main::nodetrees, NTREE_CUSTOM, NTREE_GEOMETRY, NTREE_SHADER, SpaceNode::overlay, Camera::panorama_type, AssetShelf::preferred_row_count, RAYTRACE_EEVEE_METHOD_SCREEN, RGN_ALIGN_BOTTOM, RGN_FLAG_DYNAMIC_SIZE, RGN_FLAG_HIDDEN, RGN_FLAG_NO_USER_RESIZE, RGN_SPLIT_PREV, RGN_TYPE_ASSET_SHELF, RGN_TYPE_ASSET_SHELF_HEADER, RGN_TYPE_TOOL_HEADER, SCE_SNAP, SCE_SNAP_INDIVIDUAL_NEAREST, SCE_SNAP_INDIVIDUAL_PROJECT, SCE_SNAP_PROJECT, SCE_SNAP_TO_EDGE, SCE_SNAP_TO_EDGE_MIDPOINT, SCE_SNAP_TO_EDGE_PERPENDICULAR, SCE_SNAP_TO_FACE, SCE_SNAP_TO_FRAME, SCE_SNAP_TO_GEOM, SCE_SNAP_TO_GRID, SCE_SNAP_TO_INCREMENT, SCE_SNAP_TO_MARKERS, SCE_SNAP_TO_NONE, SCE_SNAP_TO_SECOND, SCE_SNAP_TO_VERTEX, SCE_SNAP_TO_VOLUME, Main::scenes, Main::screens, SEQ_TIMELINE_SHOW_STRIP_RETIMING, AssetShelf::settings, SH_NODE_TEX_NOISE, SceneEEVEE::shadow_ray_count, SceneEEVEE::shadow_step_count, SHD_NOISE_FBM, SN_OVERLAY_SHOW_PREVIEWS, ToolSettings::snap_anim_mode, ToolSettings::snap_flag, ToolSettings::snap_mode, ToolSettings::snap_mode_tools, ToolSettings::snap_node_mode, ToolSettings::snap_uv_mode, SOCK_HIDDEN, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, STREQ, NodeTexBase::tex_mapping, TEXMAP_TYPE_POINT, SpaceSeq::timeline_overlay, AssetLibraryReference::type, NodeTexNoise::type, version_cycles_properties_from_ID(), version_cycles_property_float(), version_cycles_property_int(), version_mesh_crease_generic(), version_mesh_legacy_to_struct_of_array_format(), version_movieclips_legacy_camera_object(), version_node_group_split_socket(), version_principled_bsdf_coat(), version_principled_bsdf_emission(), version_principled_bsdf_rename_sockets(), version_principled_bsdf_sheen(), version_principled_bsdf_specular_tint(), version_principled_bsdf_subsurface(), version_principled_transmission_roughness(), version_replace_principled_hair_model(), version_replace_texcoord_normal_socket(), version_replace_velvet_sheen_node(), version_vertex_weight_edit_preserve_threshold_exclusivity(), versioning_convert_node_tree_socket_lists_to_interface(), versioning_node_group_sort_sockets_recursive(), versioning_remove_microfacet_sharp_distribution(), versioning_replace_legacy_glossy_node(), and Main::worlds.

Referenced by do_versions().

◆ blo_do_versions_410()

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

NOTE: This versioning code didn't update the subversion number.

Definition at line 851 of file versioning_410.cc.

References all_scenes_use(), blender::animrig::ANIM_armature_foreach_bone(), Main::armatures, Sculpt::automasking_boundary_edges_propagation_steps, Brush::automasking_start_normal_falloff, Brush::automasking_start_normal_limit, Brush::automasking_view_normal_falloff, Brush::automasking_view_normal_limit, BRUSH_DIR_IN, Main::brushes, CMP_NODE_INTERPOLATION_ANISOTROPIC, CMP_NODE_KEYING, CMP_NODE_MAP_UV, CMP_NODE_PIXELATE, ToolSettings::curves_sculpt, LightProbe::data_display_size, DNA_struct_default_get, SceneEEVEE::fast_gi_bias, FileData::filesdna, fix_geometry_nodes_object_info_scale(), FN_NODE_ROTATE_ROTATION, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), ToolSettings::gp_paint, ToolSettings::gp_sculptpaint, ToolSettings::gp_vertexpaint, ToolSettings::gp_weightpaint, Main::grease_pencils, i, ToolSettings::imapaint, Main::lightprobes, LISTBASE_FOREACH, MA_BL_TRANSPARENT_SHADOW, MA_BM_BLEND, MA_BS_SOLID, MA_DISPLACEMENT_BUMP, MA_SURFACE_METHOD_DEFERRED, MA_SURFACE_METHOD_FORWARD, MAIN_VERSION_FILE_ATLEAST, Main::materials, max_ii(), ME_NO_OVERLAPPING_TOPOLOGY, Main::meshes, Main::nodetrees, NTREE_COMPOSIT, NTREE_CUSTOM, NTREE_GEOMETRY, Paint::num_input_samples_deprecated, Main::objects, CurvesSculpt::paint, GpPaint::paint, GpSculptPaint::paint, GpVertexPaint::paint, GpWeightPaint::paint, ImagePaintSettings::paint, Sculpt::paint, VPaint::paint, RAYTRACE_EEVEE_DENOISE_BILATERAL, RAYTRACE_EEVEE_DENOISE_SPATIAL, RAYTRACE_EEVEE_DENOISE_TEMPORAL, RAYTRACE_EEVEE_USE_DENOISE, RE_engine_id_BLENDER_EEVEE, RE_engine_id_BLENDER_EEVEE_NEXT, RGN_ALIGN_HIDE_WITH_PREV, RGN_SPLIT_PREV, RGN_TYPE_ASSET_SHELF_HEADER, Main::scenes, Main::screens, ToolSettings::sculpt, SET_FLAG_FROM_TEST, strip_filter_bilinear_to_auto(), version_cycles_properties_from_ID(), version_cycles_property_boolean(), version_cycles_property_int(), version_geometry_nodes_use_rotation_socket(), version_node_socket_name(), versioning_fix_socket_subtype_idnames(), versioning_grease_pencil_stroke_radii_scaling(), versioning_nodes_dynamic_sockets(), versioning_nodes_dynamic_sockets_2(), versioning_replace_musgrave_texture_node(), versioning_replace_splitviewer(), versioning_update_noise_texture_node(), SceneEEVEE::volumetric_ray_depth, ToolSettings::vpaint, and ToolSettings::wpaint.

Referenced by do_versions().

◆ blo_do_versions_420()

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

Definition at line 770 of file versioning_420.cc.

References add_image_editor_asset_shelf(), all_scenes_use(), BLI_assert, BLI_findlink(), BLI_strdup(), BLO_reportf_wrap(), BRUSH_CURVES_SCULPT_FLAG_INTERPOLATE_RADIUS, BRUSH_LOCK_SIZE, Main::brushes, SpaceSeq::cache_overlay, NodeGeometryAttributeCapture::capture_items, NodeGeometryAttributeCapture::capture_items_num, ceil, CMP_NODE_BLUR, CMP_NODE_CURVE_RGB, CMP_NODE_DENOISE, CMP_NODE_DENOISE_PREFILTER_ACCURATE, CONSTRAINT_TYPE_ROTLIMIT, convert_grease_pencil_stroke_hardness_to_softness(), copy_v3_fl(), CurveMapping::cur, CURVE_TONE_FILMLIKE, NodeGeometryAttributeCaptureItem::data_type, NodeGeometryAttributeCapture::data_type_legacy, DEG2RADF, DNA_struct_default_get, Scene::eevee, ELEM, SceneEEVEE::fast_gi_ray_count, SceneEEVEE::fast_gi_step_count, SceneEEVEE::fast_gi_thickness_far, SceneEEVEE::fast_gi_thickness_near, FileData::filesdna, flag, SequencerCacheOverlay::flag, SpaceNodeOverlay::flag, View3D::flag2, FN_NODE_COMBINE_TRANSFORM, FN_NODE_SEPARATE_TRANSFORM, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), GEO_NODE_CAPTURE_ATTRIBUTE, Main::grease_pencils, NodeGeometryAttributeCaptureItem::identifier, image_settings_avi_to_ffmpeg(), bNode::inputs, LA_LOCAL, LA_SHAD_RES_ABSOLUTE, LA_SHADOW, LA_SPOT, LA_SUN, LA_USE_SOFT_FALLOFF, blender::bke::greasepencil::LEGACY_RADIUS_CONVERSION_FACTOR, Main::lightprobes, Main::lights, LIMIT_ROT_LEGACY_BEHAVIOR, LISTBASE_FOREACH, M_SQRT2, MA_BL_SS_REFRACTION, MA_BL_THICKNESS_FROM_SHADOW, MA_BL_TRANSLUCENCY, MA_BL_TRANSPARENT_SHADOW, MA_BM_BLEND, MA_BS_SOLID, MA_SURFACE_METHOD_DEFERRED, MA_SURFACE_METHOD_FORWARD, MA_THICKNESS_SLAB, MAIN_VERSION_FILE_ATLEAST, Main::materials, max_ii(), max_iii(), MEM_calloc_arrayN(), MEM_callocN(), Light::mode, Main::movieclips, NodeGeometryAttributeCaptureItem::name, NodeGeometryAttributeCapture::next_identifier, Main::nodetrees, NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_UNUSED_2, Main::objects, SpaceNode::overlay, R_FILTER_FAST_GAUSS, R_MBLUR, RE_engine_id_BLENDER_EEVEE, RE_engine_id_BLENDER_WORKBENCH, RE_engine_id_CYCLES, FileData::reports, RPT_, RPT_WARNING, SCE_COMPOSITOR_DEVICE_GPU, SCE_EEVEE_MOTION_BLUR_ENABLED_DEPRECATED, SCE_EEVEE_VOLUME_CUSTOM_RANGE, SCE_MB_CENTER, SCE_MB_END, SCE_MB_START, Main::scenes, Main::screens, SEQ_CACHE_SHOW_FINAL_OUT, SEQ_CACHE_UNUSED_5, SEQ_CACHE_UNUSED_6, SEQ_CACHE_UNUSED_7, SEQ_CACHE_UNUSED_8, SEQ_CACHE_UNUSED_9, SEQ_EDIT_SHOW_MISSING_MEDIA, SEQ_SNAP_TO_MARKERS, SET_FLAG_FROM_TEST, SH_NODE_OUTPUT_WORLD, Light::shadow_jitter_overblur, SceneEEVEE::shadow_resolution_scale, SN_OVERLAY_SHOW_REROUTE_AUTO_LABELS, SequencerToolSettings::snap_mode, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, STR_ELEM, STREQ, SpaceImage::stretch_opacity, strip_hue_correct_set_wrapping(), strip_proxies_timecode_update(), strip_text_data_update(), World::sun_angle, World::sun_shadow_filter_radius, World::sun_shadow_maximum_resolution, World::sun_threshold, MovieClipProxy::tc, CurveMapping::tone, blender::seq::tool_settings_ensure(), V3D_SHOW_CAMERA_GUIDES, V3D_SHOW_CAMERA_PASSEPARTOUT, version_cycles_properties_from_ID(), version_cycles_property_boolean(), version_cycles_property_int(), version_eevee_output_node_get(), version_node_input_socket_name(), version_node_output_socket_name(), version_refraction_depth_to_thickness_value(), Main::versionfile, versioning_node_hue_correct_set_wrappng(), versioning_update_timecode(), WO_USE_EEVEE_FINITE_VOLUME, WO_USE_SUN_SHADOW, and Main::worlds.

Referenced by do_versions().

◆ blo_do_versions_430()

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

Definition at line 207 of file versioning_430.cc.

References add_bevel_modifier_attribute_name_defaults(), NodesModifierData::bake_target, BKE_area_find_region_type(), BKE_collection_exporter_name_set(), BKE_image_format_update_color_space_for_type(), BLI_assert, BLI_listbase_is_empty(), Main::brushes, Main::cameras, Camera::central_cylindrical_radius, Camera::central_cylindrical_range_u_max, Camera::central_cylindrical_range_u_min, Camera::central_cylindrical_range_v_max, Camera::central_cylindrical_range_v_min, CMP_NODE_COLORBALANCE, CMP_NODE_COMPOSITE_DEPRECATED, CMP_NODE_OUTPUT_FILE, CMP_NODE_VIEWER, Main::collections, copy_v2_fl(), copy_v3_fl(), data, DATA_, DNA_struct_default_get, ELEM, eModifierType_Nodes, blender::bke::file_handler_find(), fix_built_in_curve_attribute_defaults(), ARegion::flag, SpaceNode::flag, View2D::flag, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, NodeCompositorFileOutput::format, View3DOverlay::gpencil_grid_color, View3DOverlay::gpencil_grid_offset, View3DOverlay::gpencil_grid_scale, View3DOverlay::gpencil_grid_subdivisions, GROUP_NODE_DEFAULT_WIDTH, Main::hair_curves, hide_simulation_node_skip_socket_value(), ImageFormatData::imtype, input, blender::bke::FileHandlerType::label, blender::bke::greasepencil::LEGACY_RADIUS_CONVERSION_FACTOR, ImageFormatData::linear_colorspace_settings, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MAIN_VERSION_FILE_ATLEAST, ColorManagedColorspaceSettings::name, NODE_PREVIEW, node_reroute_add_storage(), NODES_MODIFIER_BAKE_TARGET_DISK, NODES_MODIFIER_BAKE_TARGET_INHERIT, NODES_MODIFIER_PANEL_WARNINGS, NTREE_COMPOSIT, NTREE_CUSTOM, Main::objects, View3D::overlay, R_IMF_IMTYPE_MULTILAYER, R_IMF_IMTYPE_OPENEXR, RGN_FLAG_HIDDEN, RGN_TYPE_TOOLS, RGN_TYPE_WINDOW, NodeCompositorFileOutput::save_as_render, SCE_EEVEE_FAST_GI_ENABLED, Main::scenes, Main::screens, SEQ_SNAP_TO_PREVIEW_BORDERS, SEQ_SNAP_TO_PREVIEW_CENTER, SEQ_SNAP_TO_STRIPS_PREVIEW, SequencerToolSettings::snap_mode, SNODE_FLAG_UNUSED_5, SPACE_CLIP, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, bNodeSocket::storage, STRNCPY_UTF8, blender::seq::tool_settings_ensure(), tree, update_paint_modes_for_brush_assets(), ARegion::v2d, V2D_VIEWSYNC_SCREEN_TIME, and Main::workspaces.

Referenced by do_versions().

◆ blo_do_versions_440()

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

Definition at line 778 of file versioning_440.cc.

References Main::actions, add_subsurf_node_limit_surface_option(), SpaceFile::asset_params, FileAssetSelectParams::base_params, BKE_animdata_from_id(), Main::brushes, ImagePaintSettings::clone_alpha, IDProperty::data, DNA_struct_default_get, do_version_viewer_shortcut(), AnimData::drivers, blender::seq::editing_get(), ELEM, eModifierType_Nodes, blender::StringRefBase::endswith(), FILE_SORT_ASSET_CATALOG, FileData::filesdna, blender::animrig::foreach_fcurve_in_action(), FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), IDPropertyData::group, Main::hair_curves, IDP_FLAG_OVERRIDABLE_LIBRARY, IDP_FLAG_STATIC_TYPE, IDP_STRING, ToolSettings::imapaint, LISTBASE_FOREACH, MAIN_VERSION_FILE_ATLEAST, Brush::mask_stencil_dimension, Brush::mask_stencil_pos, Main::nodetrees, NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_SHADER, Main::objects, NodesModifierSettings::properties, remove_triangulate_node_min_size_input(), RGN_TYPE_WINDOW, SCE_COMPOSITOR_DENOISE_BALANCED, SCE_COMPOSITOR_DENOISE_HIGH, Main::scenes, Main::screens, SEQ_SNAP_TO_RETIMING, NodesModifierData::settings, SH_NODE_MIX_SHADER, SI_MODE_PAINT, SequencerToolSettings::snap_mode, FileSelectParams::sort, SPACE_ACTION, SPACE_CONSOLE, SPACE_FILE, SPACE_IMAGE, SPACE_INFO, STREQ, STRNCPY_UTF8, blender::seq::tool_settings_ensure(), V2D_SCROLL_RIGHT, V2D_SCROLL_VERTICAL_HIDE, version_cycles_properties_from_ID(), version_cycles_property_boolean_set(), version_cycles_property_int(), version_cycles_property_int_set(), version_fcurve_noise_modifier(), version_geometry_normal_input_node(), version_group_input_socket_data_block_reference(), version_node_locations_to_global(), versioning_clear_strip_unused_flag(), versioning_convert_seq_text_anchor(), and Main::workspaces.

Referenced by do_versions().

◆ blo_do_versions_450()

void blo_do_versions_450 ( 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 5024 of file versioning_450.cc.

References blender::animrig::ANIM_armature_foreach_bone(), Main::armatures, asset_browser_add_list_view(), SpaceFile::asset_params, BLI_str_utf8_invalid_strip(), BONE_CONNECTED, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CMP_NODE_ANTIALIASING, CMP_NODE_BOKEHIMAGE, CMP_NODE_CHANNEL_MATTE, CMP_NODE_CHROMA_MATTE, CMP_NODE_COLOR_MATTE, CMP_NODE_COLOR_SPILL, CMP_NODE_COLORCORRECTION, CMP_NODE_CORNERPIN, CMP_NODE_DENOISE, CMP_NODE_DESPECKLE, CMP_NODE_DIFF_MATTE, CMP_NODE_DILATEERODE, CMP_NODE_DIST_MATTE, CMP_NODE_GLARE, CMP_NODE_ID_MASK, CMP_NODE_INPAINT, CMP_NODE_INTERPOLATION_ANISOTROPIC, CMP_NODE_INTERPOLATION_BILINEAR, CMP_NODE_INVERT, CMP_NODE_KEYING, CMP_NODE_KEYINGSCREEN, CMP_NODE_KUWAHARA, CMP_NODE_LENSDIST, CMP_NODE_LUMA_MATTE, CMP_NODE_MASK, CMP_NODE_MASK_BOX, CMP_NODE_MASK_ELLIPSE, CMP_NODE_PIXELATE, CMP_NODE_PLANETRACKDEFORM, CMP_NODE_SCALE, CMP_NODE_SPLIT, CMP_NODE_STABILIZE2D, CMP_NODE_SWITCH, CMP_NODE_TIME, CMP_NODE_TONEMAP, CMP_NODE_VECBLUR, CMP_NODE_ZCOMBINE, data, DNA_struct_default_get, do_version_anti_alias_node_options_to_inputs(), do_version_bokeh_image_node_options_to_inputs(), do_version_box_mask_node_options_to_inputs(), do_version_channel_matte_node_options_to_inputs(), do_version_chroma_matte_node_options_to_inputs(), do_version_color_correction_node_options_to_inputs(), do_version_color_matte_node_options_to_inputs(), do_version_color_spill_node_options_to_inputs(), do_version_denoise_node_options_to_inputs(), do_version_despeckle_node_options_to_inputs(), do_version_difference_matte_node_options_to_inputs(), do_version_dilate_node_options_to_inputs(), do_version_distance_matte_node_options_to_inputs(), do_version_ellipse_mask_node_options_to_inputs(), do_version_glare_node_star_45_option_to_input(), do_version_id_mask_node_options_to_inputs(), do_version_inpaint_node_options_to_inputs(), do_version_invert_node_options_to_inputs(), do_version_keying_node_options_to_inputs(), do_version_keying_screen_node_options_to_inputs(), do_version_kuwahara_node_options_to_inputs(), do_version_lens_distortion_node_options_to_inputs(), do_version_luminance_matte_node_options_to_inputs(), do_version_mask_node_options_to_inputs(), do_version_node_curve_to_mesh_scale_input(), do_version_pixelate_node_options_to_inputs(), do_version_plane_track_deform_node_options_to_inputs(), do_version_split_node_options_to_inputs(), do_version_stabilize_node_options_to_inputs(), do_version_switch_node_options_to_inputs(), do_version_time_curve_node_options_to_inputs(), do_version_tone_map_node_options_to_inputs(), do_version_vector_blur_node_options_to_inputs(), do_version_z_combine_node_options_to_inputs(), FILE_ASSET_IMPORT_INSTANCE_COLLECTIONS_ON_LINK, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, Main::images, FileAssetSelectParams::import_flags, LISTBASE_FOREACH, MAIN_VERSION_FILE_ATLEAST, MEM_callocN(), Main::nodetrees, NTREE_COMPOSIT, NTREE_GEOMETRY, Main::objects, RGN_TYPE_WINDOW, SCE_SNAP, Main::scenes, Main::screens, SEQ_SNAP_TO_FRAME_RANGE, Object::shadow_terminator_geometry_offset, Object::shadow_terminator_normal_offset, Object::shadow_terminator_shading_offset, ToolSettings::snap_flag_seq, SequencerToolSettings::snap_mode, SPACE_FILE, SPACE_PROPERTIES, SPACE_SEQ, STREQ, STRNLEN, blender::seq::tool_settings_ensure(), V2D_KEEPOFS_X, V2D_KEEPOFS_Y, V2D_KEEPZOOM, version_convert_sculpt_planar_brushes(), version_cycles_properties_from_ID(), version_cycles_property_float(), version_sequencer_update_overdrop(), version_set_uv_face_overlay_defaults(), version_show_texpaint_to_show_uv(), SpaceProperties::visible_tabs, VOLUME_GRID_FLOAT, and VOLUME_GRID_VECTOR_FLOAT.

Referenced by do_versions().

◆ blo_do_versions_500()

void blo_do_versions_500 ( 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 3181 of file versioning_500.cc.

References ARegion::alignment, SpaceFile::asset_params, FileAssetSelectParams::base_params, SpaceFile::browse_mode, CMP_NODE_DISPLACE, CMP_NODE_EXTENSION_MODE_CLIP, CMP_NODE_EXTENSION_MODE_REPEAT, CMP_NODE_INTERPOLATION_ANISOTROPIC, CMP_NODE_NORMAL, CMP_NODE_ROTATE, CMP_NODE_SCALE, CMP_NODE_SPLIT, CMP_NODE_TRANSFORM, CMP_NODE_TRANSLATE, CMP_NODE_TRANSLATE_REPEAT_AXIS_NONE, CMP_NODE_TRANSLATE_REPEAT_AXIS_X, CMP_NODE_TRANSLATE_REPEAT_AXIS_XY, CMP_NODE_TRANSLATE_REPEAT_AXIS_Y, CMP_NODE_VIEW_LEVELS, CMP_NODE_ZCOMBINE, copy_unified_paint_settings(), blender::bke::curves_convert_customdata_to_storage(), data, do_version_convert_to_generic_nodes(), do_version_match_string_options_to_inputs(), do_version_normal_node_dot_product(), do_version_points_to_volume_options_to_inputs(), do_version_scene_remove_use_nodes(), do_version_split_node_rotation(), do_version_transform_geometry_options_to_inputs(), do_version_triangulate_options_to_inputs(), do_version_volume_to_mesh_options_to_inputs(), do_versions_add_region_if_not_found(), blender::seq::editing_get(), ELEM, FILE_BROWSE_MODE_ASSETS, FileSelectParams::filter_id, FILTER_ID_SCE, ARegion::flag, for_each_mode_paint_settings(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::seq::foreach_strip(), GEO_NODE_POINTS_TO_VOLUME, GEO_NODE_TRANSFORM_GEOMETRY, GEO_NODE_TRIANGULATE, GEO_NODE_VOLUME_TO_MESH, GreasePencilDrawing::geometry, GP_DRAWING, blender::bke::grease_pencil_convert_customdata_to_storage(), Main::grease_pencils, Main::hair_curves, i, initialize_closure_input_structure_types(), LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MAIN_VERSION_FILE_ATLEAST, MEM_callocN(), blender::bke::mesh_custom_normals_to_generic(), blender::bke::mesh_sculpt_mask_to_generic(), Main::meshes, NTREE_COMPOSIT, NTREE_GEOMETRY, blender::bke::pointcloud_convert_customdata_to_storage(), Main::pointclouds, rename_mesh_uv_seam_attribute(), RGN_ALIGN_BOTTOM, RGN_ALIGN_TOP, RGN_FLAG_HIDDEN, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, Main::scenes, Main::screens, SPACE_ACTION, SPACE_FILE, SPACE_GRAPH, SPACE_NLA, SPACE_SEQ, STREQ, GreasePencilDrawingBase::type, U, update_brush_sizes(), USER_HEADER_BOTTOM, ToolSettings::uv_flag, UV_FLAG_SELECT_ISLAND, UV_SELECT_VERT, ToolSettings::uv_selectmode, version_node_input_socket_name(), version_node_output_socket_name(), version_node_socket_name(), version_seq_text_from_legacy(), and versioning_replace_legacy_combined_and_separate_color_nodes().

Referenced by do_versions().

◆ blo_do_versions_dna()

void blo_do_versions_dna ( SDNA * sdna,
int versionfile,
int subversionfile )

Manipulates SDNA before calling DNA_struct_get_compareflags, allowing us to rename structs and struct members.

  • This means older versions of Blender won't have access to this data USE WITH CARE.
  • These changes are applied on file load (run-time), similar to versioning for compatibility.
Attention
ONLY USE THIS KIND OF VERSIONING WHEN dna_rename_defs.h ISN'T SUFFICIENT.

Definition at line 15 of file versioning_dna.cc.

References DNA_sdna_patch_struct_by_name(), DNA_sdna_patch_struct_member_by_name(), and DNA_VERSION_ATLEAST.

Referenced by read_file_dna().

◆ blo_do_versions_key_uidgen()

void blo_do_versions_key_uidgen ( Key * key)

Definition at line 2394 of file readfile.cc.

References Key::block, LISTBASE_FOREACH, and Key::uidgen.

Referenced by blo_do_versions_260().

◆ blo_do_versions_newlibadr()

void * blo_do_versions_newlibadr ( FileData * fd,
ID * self_id,
const bool is_linked_only,
const void * adr )

Only library data.

Definition at line 1523 of file readfile.cc.

References newlibadr().

Referenced by blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_pre250(), and ntree_version_245().

◆ blo_do_versions_oldnewmap_insert()

void blo_do_versions_oldnewmap_insert ( OldNewMap * onm,
const void * oldaddr,
void * newaddr,
int nr )

Definition at line 286 of file readfile.cc.

References oldnewmap_insert().

Referenced by blo_do_versions_pre250().

◆ blo_do_versions_pre250()

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

Definition at line 457 of file versioning_legacy.cc.

References MCol::a, ParticleSettings::acc, Main::actions, blender::seq::active_seqbase_get(), Image::alpha_mode, World::aodist, World::aoenergy, bScreen::areabase, ARM_DEF_VGROUP, Main::armatures, ARRAY_SIZE, Image::aspx, Image::aspy, bSound::attenuation, Scene::audio, AUDIO_SCRUB, b, Tex::bfac, RenderData::bg_stamp, BKE_armature_where_is(), BKE_mesh_calc_edges_legacy(), BKE_mesh_strip_loose_faces(), BKE_modifier_get_info(), BKE_modifier_new(), BKE_modifier_unique_name(), BKE_modifiers_findby_type(), BKE_object_defgroup_find_name(), BKE_object_defgroup_unique_name(), BKE_object_do_version_give_parteff_245(), BKE_particlesettings_add(), BKE_pose_tag_recalc(), BKE_ptcache_add(), BLI_addhead(), BLI_addtail(), BLI_findindex(), BLI_insertlinkbefore(), BLI_listbase_count(), BLI_str_endswith(), BLI_strncpy_utf8(), BLI_time_now_seconds(), blo_do_version_old_trackto_to_constraints(), blo_do_versions_newlibadr(), blo_do_versions_oldnewmap_insert(), BLO_readfile_id_runtime_tags(), BLO_readfile_id_runtime_tags_for_write(), Key::block, bone_version_238(), bone_version_239(), bArmature::bonebase, ParticleEditSettings::brush, Main::brushes, calc_lat_fudu(), CAM_ORTHO, CAM_SHOW_SAFE_MARGINS, CAM_SHOWPASSEPARTOUT, Main::cameras, ceil, bPose::chanbase, ParticleSettings::child_percent, ParticleSettings::child_render_percent, col, Main::collections, Object::constinv, CONSTRAINT_IK_POS, CONSTRAINT_IK_ROT, CONSTRAINT_IK_STRETCH, CONSTRAINT_SPACE_LOCAL, CONSTRAINT_TYPE_ACTION, CONSTRAINT_TYPE_FOLLOWPATH, CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_LOCLIMIT, CONSTRAINT_TYPE_ROTLIKE, CONSTRAINT_TYPE_TRACKTO, Object::constraints, copy_v3_v3(), CU_PATH, Main::curves, customdata_version_242(), customdata_version_243(), ImageUser::cycl, PartEff::damp, ParticleSettings::dampfac, data, Object::data, CurveModifierData::defaxis, SoftBody::defgoal, ArmatureModifierData::deformflag, bArmature::deformflag, PartEff::disp, ParticleSettings::disp, Tex::dist_amount, bSound::distance, do_version_bone_head_tail_237(), do_version_constraints_245(), do_version_free_effects_245(), do_version_ntree_242_2(), ToolSettings::doublimit, ParticleSettings::draw, ParticleSettings::draw_as, ParticleSettings::draw_line, ParticleSettings::draw_step, Object::dt, Object::dtx, Lattice::du, Lattice::dv, Lattice::dw, Scene::ed, ParticleEditSettings::emitterdist, eModifierType_Armature, eModifierType_Cloth, eModifierType_Curve, eModifierType_Fluidsim, eModifierType_Mirror, eModifierType_ParticleSystem, eModifierType_Softbody, eModifierType_Subsurf, Object::empty_drawsize, Object::empty_drawtype, PartEff::end, ParticleSettings::end, eSubsurfModifierFlag_ControlEdges, eSubsurfModifierFlag_DebugIncr, eSubsurfModifierFlag_Incremental, Tex::extend, PartDeflect::f_noise, RenderData::fg_stamp, Image::filepath, VFont::filepath, Tex::filtersize, ListBase::first, AudioData::flag, bArmature::flag, Camera::flag, Curve::flag, FluidsimSettings::flag, Image::flag, ImageUser::flag, Lattice::flag, Mesh::flag, MirrorModifierData::flag, PartEff::flag, ParticleEditSettings::flag, ParticleSettings::flag, ParticleSystem::flag, Tex::flag, View3D::flag, bSound::flags, SubsurfModifierData::flags, FO_BUILTIN_NAME, Main::fonts, PartEff::force, PartDeflect::forcefield, blender::seq::foreach_strip(), RenderData::framapto, RenderData::framelen, ImageUser::frames, ParticleSettings::from, RenderData::frs_sec, RenderData::frs_sec_base, FluidsimModifierData::fss, Lattice::fu, Lattice::fv, Lattice::fw, Tex::gfac, View3D::gridflag, View3D::gridlines, View3D::gridsubdiv, PartEff::group, ParticleSettings::hair_step, i, bArmature::id, bNodeTree::id, bScreen::id, bSound::id, Camera::id, Collection::id, Curve::id, Image::id, Key::id, Lattice::id, Material::id, Mesh::id, Object::id, ParticleSettings::id, Scene::id, Tex::id, VFont::id, World::id, ID_IS_LINKED, ID_RECALC_ALL, ID_RECALC_PSYS_REDO, idproperties_fix_group_lengths(), Tex::ima, IMA_ALPHA_STRAIGHT, IMA_OLD_PREMUL, IMA_SRC_FILE, IMA_SRC_MOVIE, IMA_SRC_VIEWER, IMA_TYPE_COMPOSITE, IMA_TYPE_IMAGE, IMA_TYPE_R_RESULT, Tex::imaflag, Main::images, RenderData::images, ToolSettings::imapaint, Object::instance_faces_scale, ParticleSettings::instance_object, Main::is_locked_for_linking, Tex::iuser, SoftBody::keys, FluidsimSettings::lastgoodframe, Main::lattices, Camera::lens, SubsurfModifierData::levels, SpaceText::lheight, ID::lib, lib, FileData::libmap, Main::libraries, PartEff::lifetime, ParticleSettings::lifetime, Main::lights, LISTBASE_FOREACH, MAIN_VERSION_FILE_ATLEAST, SpaceProperties::mainb, Object::mat, PartEff::mat, Main::materials, bSound::max_gain, MEM_callocN(), MEM_dupallocN(), MEM_freeN(), Main::meshes, FluidsimSettings::meshVelocities, Main::metaballs, Tex::mg_gain, Tex::mg_H, Tex::mg_lacunarity, Tex::mg_octaves, Tex::mg_offset, bSound::min_gain, AudioData::mixrate, MOD_MIR_AXIS_X, MOD_MIR_AXIS_Y, MOD_MIR_AXIS_Z, ModifierData::mode, RenderData::mode, SpaceAction::mode, SubsurfModifierData::modifier, Object::modifiers, RenderData::motion_blur_shutter, Tex::nabla, ID::name, ModifierData::name, ID_Readfile_Data::Tags::needs_linking, bSound::newpackedfile, ID::next, ModifierData::next, ScrArea::next, SpaceLink::next, Material::nodetree, Main::nodetrees, ImagePaintSettings::normal_angle, PartEff::normfac, ParticleSettings::normfac, Tex::ns_outscale, ntree_version_241(), ntree_version_242(), ntree_version_245(), Curve::nurb, OB_ARMATURE, OB_ARROWS, OB_CURVES_LEGACY, OB_DRAW_IN_FRONT, OB_DUPLIPARTS, OB_DUPLIVERTS, OB_FLUIDSIM_PARTICLE, OB_LATTICE, OB_MESH, OB_SB_ENABLE, OB_SB_POSTDEF, OB_SOLID, PartEff::obfac, ParticleSettings::obfac, ArmatureModifierData::object, Main::objects, ImageUser::offset, PartEff::omat, ParticleSettings::omat, OnlyDeform, Camera::ortho_scale, bSound::packedfile, PAF_BSPLINE, PAF_DIED, PAF_EDISTR, PAF_FACE, PAF_SHOWE, PAF_STATIC, PAF_TRAND, PAF_UNBORN, PAF_VECT, Object::parent, PARSKEL, ParticleSystem::part, PART_DIED, PART_DRAW_LINE, PART_DRAW_OB, PART_DRAW_PATH, PART_DRAW_VEL_LENGTH, PART_EDISTR, PART_FLUID, PART_FROM_FACE, PART_HAIR, PART_HAIR_BSPLINE, PART_ROT_VEL, PART_TRAND, PART_UNBORN, ToolSettings::particle, Main::particles, Object::particlesystem, Object::partype, Camera::passepartalpha, Object::pd, PE_BRUSH_CUT, PE_DEFLECT_EMITTER, PE_KEEP_LENGTHS, PE_LOCK_FIRST, PFIELD_WIND, SoftBody::physics_speed, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, ClothModifierData::point_cache, ParticleSystem::pointcache, Object::pose, Image::preview, printf, ParticleSystemModifierData::psys, PSYS_CURRENT, PSYS_VG_DENSITY, PSYS_VG_LENGTH, PSYS_VG_VEL, PTCACHE_BAKED, PTCACHE_DISK_CACHE, ClothModifierData::ptcaches, ParticleSystem::ptcaches, Scene::r, R_PASSEPARTOUT, BezTriple::radius, BPoint::radius, PartEff::randfac, ParticleSettings::randfac, PartEff::randlife, ParticleSettings::randlife, ID::recalc, ParticleSystem::recalc, Key::refkey, ParticleSettings::ren_step, SubsurfModifierData::renderLevels, Tex::rfac, ROTLIKE_X, ROTLIKE_Y, ROTLIKE_Z, ParticleSettings::rotmode, SACTCONT_DOPESHEET, SACTSNAP_FRAME, SCE_LAY_SKY, SCE_LAY_SOLID, SCE_PASS_COMBINED, SCE_PASS_DEPTH, SCE_PASS_NORMAL, SCE_PASS_VECTOR, RenderData::scemode, Main::scenes, Main::screens, ImagePaintSettings::seam_bleed, PartDeflect::seed, PartEff::seed, ParticleSystem::seed, ToolSettings::select_thresh, Editing::seqbase, ImageUser::sfra, Main::shapekeys, RenderData::simplify_particles, RenderData::simplify_subsurf, ParticleBrushData::size, SNPRINTF_UTF8, Object::soft, Object::softflag, Main::sounds, Image::source, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, SPACE_PROPERTIES, SPACE_TEXT, SPACE_VIEW3D, ScrArea::spacedata, SpaceLink::spacetype, PartEff::speedtex, PartEff::sta, ParticleSettings::sta, PartEff::staticstep, ParticleBrushData::step, PointCache::step, ParticleBrushData::strength, STREQ, STREQLEN, strip_set_alpha_mode_cb(), strip_set_blend_mode_cb(), STRNCPY(), STRNCPY_UTF8, PartEff::stype, SubsurfModifierData::subdivType, Main::subversionfile, SpaceText::tabnumber, TEX_CHECKER_EVEN, TEX_CHECKER_ODD, TEX_EXTEND, TEX_IMAGE, TEX_REPEAT, Main::texts, Main::textures, RenderData::threads, Scene::toolsettings, ParticleEditSettings::totaddkey, Object::totcol, Mesh::totface_legacy, PartEff::totkey, SoftBody::totkey, PartEff::totpart, ParticleSettings::totpart, ParticleSystem::totpart, ParticleEditSettings::totrekey, Object::trackflag, Object::transflag, Camera::type, FluidsimSettings::type, Image::type, ModifierData::type, ModifierTypeInfo::type, Object::type, ParticleSettings::type, Tex::type, unit_m4(), ToolSettings::unwrapper, Object::upflag, ID::us, UVCALC_FILLHOLES, ToolSettings::uvcalc_flag, UVCALC_UNWRAP_METHOD_ANGLE, UVCALC_UNWRAP_METHOD_CONFORMAL, V3D_SELECT_OUTLINE, V3D_SHOW_FLOOR, V3D_SHOW_X, V3D_SHOW_Y, V3D_SHOW_Z, vcol_to_fcol(), Main::versionfile, PartEff::vertgroup, SoftBody::vertgroup, PartEff::vertgroup_v, ParticleSystem::vgroup, Tex::vn_mexp, Tex::vn_w1, bSound::volume, Main::worlds, Tex::xrepeat, and Tex::yrepeat.

Referenced by do_versions().

◆ blo_do_versions_userdef()

void blo_do_versions_userdef ( UserDef * userdef)

Patching UserDef struct and Themes.

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

Note
Keep this message at the bottom of the function.

Definition at line 798 of file versioning_userdef.cc.

References UserDef::addons, wmKeyMapItem::alt, UserDef::animation_flag, UserDef::anisotropic_filter, ARRAY_SET_ITEMS, ARRAY_SIZE, ASSET_IMPORT_APPEND_REUSE, UserDef::asset_libraries, ASSET_LIBRARY_RELATIVE_PATH, UserDef::audiochannels, UserDef::audioformat, UserDef::audiorate, UserDef::auto_smoothing_new, AUTOKEY_FLAG_INSERTNEEDED, AUTOKEY_FLAG_ONLYKEYINGSET, UserDef::autokey_mode, BEZT_IPO_BEZ, BKE_addon_ensure(), BKE_addon_remove_safe(), BKE_colorband_init(), BKE_keyconfig_pref_filter_items(), BKE_keyconfig_pref_set_select_mouse(), BKE_preferences_asset_library_default_add(), BKE_preferences_asset_library_name_set(), BKE_preferences_asset_shelf_settings_ensure_catalog_path_enabled(), BKE_preferences_extension_repo_add_default_remote(), BKE_preferences_extension_repo_add_default_system(), BKE_preferences_extension_repo_add_default_user(), BKE_preferences_extension_repo_remove(), BKE_PREFS_ASSET_LIBRARY_DEFAULT_NAME, BLI_addhead(), BLI_listbase_is_empty(), BLI_string_replace_table_exact(), UserDef::border_width, UserDef::coba_weight, SolidLight::col, UserDef::collection_instance_empty_size, copy_v3_fl3(), copy_v4_fl4(), wmKeyMapItem::ctrl, DATA_, UserDef::dbl_click_time, DEG2RAD, DEG2RADF, bUserScriptDirectory::dir_path, UserDef_FileSpaceData::display_type, do_version_keyframe_jump(), do_version_select_mouse(), do_versions_theme(), UserDef::drag_threshold, UserDef::drag_threshold_mouse, UserDef::drag_threshold_tablet, UserDef::dupflag, UserDef::extension_repos, UserDef::fcu_inactive_alpha, FCURVE_SMOOTH_CONT_ACCEL, UserDef_TempWinBounds::file, FILE_DEFAULTDISPLAY, UserDef::file_preview_type, UserDef::file_space_data, UserDef::filebrowser_display_type, UserDef_FileSpaceData::filter_id, ListBase::first, SolidLight::flag, UserDef::flag, XrNavigation::flag, UserDef::gizmo_flag, UserDef::gizmo_size, UserDef::gizmo_size_navigate_v3d, UserDef::gp_euclideandist, UserDef::gp_manhattandist, GP_PAINT_UNUSED_0, UserDef::gp_settings, UserDef::gpencil_new_layer_col, UserDef::gpu_backend, GPU_BACKEND_METAL, GPU_BACKEND_OPENGL, GPU_BACKEND_VULKAN, UserDef::gpu_flag, UserDef::gpu_shader_workers, HD_AUTO, HD_AUTO_ANIM, wmKeyMapItem::hyper, i, UserDef::image_draw_method, IMAGE_DRAW_METHOD_AUTO, IMAGE_DRAW_METHOD_GLSL, UserDef::ipo_new, WalkNavigation::jump_height, UserDef::key_insert_channels, UserDef::keyconfigstr, UserDef::keyhandles_new, UserDef::keying_flag, keymap_item_has_invalid_wm_context_data_path(), keymap_item_update_tweak_event(), keymap_update_mesh_sculpt_brushes(), keymap_update_mesh_texture_paint_brushes(), keymap_update_mesh_vertex_paint_brushes(), keymap_update_mesh_weight_paint_brushes(), KM_ANY, UserDef::language, UserDef::light_ambient, UserDef::light_param, LISTBASE_FOREACH, UserDef::lookdev_sphere_size, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr(), MANUALKEY_FLAG_INSERTNEEDED, MEM_callocN(), UserDef::memcachelimit, MEMCPY_STRUCT_AFTER, UserDef::menuthreshold1, UserDef::menuthreshold2, UserDef::mixbufsize, WalkNavigation::mouse_speed, UserDef::move_threshold, bUserScriptDirectory::name, name, NDOF_CAMERA_PAN_ZOOM, UserDef::ndof_deadzone, UserDef::ndof_flag, NDOF_LOCK_HORIZON, NDOF_ORBIT_CENTER_AUTO, UserDef::ndof_rotation_sensitivity, NDOF_SHOULD_PAN, NDOF_SHOULD_ROTATE, NDOF_SHOULD_ZOOM, NDOF_SHOW_GUIDE_ORBIT_CENTER, UserDef::ndof_translation_sensitivity, NDOF_TURNTABLE, UserDef::network_connection_limit, UserDef::network_timeout, UserDef::node_margin, UserDef::node_preview_res, wmKeyMapItem::oskey, UserDef::pad_rot_angle, params, UserDef::pie_animation_timeout, UserDef::pie_menu_radius, UserDef::pie_menu_threshold, UserDef::pie_tap_timeout, UserDef::pixelsize, UserDef::playback_fps_samples, UserDef::pref_flag, UserDef::preferences_display_type, UserDef::pressure_threshold_max, UserDef::recent_files, UserDef::render_display_type, UserDef::rvibright, UserDef::rvisize, UserDef::savetime, SCE_DISPLAY_AA_FXAA, SCE_DISPLAY_AA_OFF, SCE_DISPLAY_AA_SAMPLES_16, SCE_DISPLAY_AA_SAMPLES_32, SCE_DISPLAY_AA_SAMPLES_8, UserDef::script_directories, UserDef::scrollback, UserDef::sequencer_editor_flag, UserDef::sequencer_proxy_setup, UserDef::shader_compilation_method, wmKeyMapItem::shift, SolidLight::smooth, UserDef::sounddir, SolidLight::spec, UserDef::statusbar_flag, STATUSBAR_SHOW_EXTENSIONS_UPDATES, STATUSBAR_SHOW_VERSION, UserDef::stored_bounds, STREQ, STRNCPY(), STRNCPY_UTF8, WalkNavigation::teleport_time, UserDef::texcollectrate, UserDef::text_render, UserDef::textimeout, UserDef::themes, ColorBand::tot, UserDef::transopts, XrNavigation::turn_amount, XrNavigation::turn_speed, U_default, U_theme_default, UserDef::uiflag, UserDef::uiflag2, UserDef::uistyles, ULANGUAGE_ENGLISH, UserDef::undosteps, USER_ADD_EDITMODE, USER_ADD_VIEWALIGNED, USER_ALWAYS_SHOW_NUMBER_ARROWS, USER_ANIM_HIGH_QUALITY_DRAWING, USER_ANIM_KEY_CHANNEL_CUSTOM_PROPERTIES, USER_ANIM_KEY_CHANNEL_LOCATION, USER_ANIM_KEY_CHANNEL_ROTATION, USER_ANIM_KEY_CHANNEL_SCALE, USER_ANIM_SHOW_CHANNEL_GROUP_COLORS, USER_AREA_CORNER_HANDLE, USER_DEVELOPER_UI, USER_DOTRANSLATE_DEPRECATED, USER_DUP_ARM, USER_DUP_CAMERA, USER_DUP_CURVES, USER_DUP_GPENCIL, USER_DUP_LATTICE, USER_DUP_LIGHTPROBE, USER_DUP_POINTCLOUD, USER_DUP_SPEAKER, USER_FILE_PREVIEW_AUTO, USER_FILE_PREVIEW_NONE, USER_FILECOMPRESS, USER_FILTER_BRUSHES_BY_TOOL, USER_FLAG_NUMINPUT_ADVANCED, USER_FLAG_UNUSED_4, USER_FLAG_UNUSED_5, USER_FLAG_UNUSED_6, USER_FLAG_UNUSED_7, USER_GIZMO_DRAW, USER_GLOBALUNDO, USER_GPU_FLAG_OVERLAY_SMOOTH_WIRE, USER_GPU_FLAG_UNUSED_0, USER_HEADER_BOTTOM, USER_HEADER_FROM_PREF, USER_INTERNET_ALLOW, UserDef::user_keyconfig_prefs, UserDef::user_keymaps, USER_LMOUSESELECT, USER_LOCK_CURSOR_ADJUST, USER_MENU_CLOSE_LEAVE, USER_NO_MULTITOUCH_GESTURES, USER_NODE_AUTO_OFFSET, USER_PLAINMENUS, USER_PREF_FLAG_SAVE, USER_REGISTER_ALL_USERS, USER_RENDER_DISPLAY_WINDOW, USER_SEQ_ED_CONNECT_STRIPS_BY_DEFAULT, USER_SEQ_PROXY_SETUP_AUTOMATIC, USER_SHADER_COMPILE_SUBPROCESS, USER_SHOW_GIZMO_NAVIGATE, USER_TEMP_SPACE_DISPLAY_WINDOW, USER_TEXT_RENDER_SUBPIXELAA, USER_TR_UNUSED_3, USER_TR_UNUSED_4, USER_TR_UNUSED_6, USER_TR_UNUSED_7, USER_TRACKBALL, USER_TWOBUTTONMOUSE, USER_VERSION_ATLEAST, USER_XR_NAV_SNAP_TURN, UserDef::v2d_min_gridsize, UserDef::vbocollectrate, UserDef::vbotimeout, SolidLight::vec, WalkNavigation::view_height, UserDef::view_rotate_sensitivity_trackball, UserDef::view_rotate_sensitivity_turntable, UserDef::viewport_aa, XrNavigation::vignette_intensity, UserDef::walk_navigation, WalkNavigation::walk_speed, WalkNavigation::walk_speed_factor, UserDef::widget_unit, WM_KEY_CONFIG_FILTER_ITEM_ALL, rctf::xmax, rctf::xmin, and UserDef::xr_navigation.

Referenced by do_versions_userdef().

◆ blo_filedata_free()

◆ blo_filedata_from_file()

BlendFileData FileData * blo_filedata_from_file ( const char * filepath,
BlendFileReadReport * reports )

On each new library added, it now checks for the current FileData and expands relativeness

cannot be called with relative paths anymore!

Definition at line 1320 of file readfile.cc.

References blo_decode_and_check(), blo_filedata_from_file_open(), FileData::relabase, BlendFileReadReport::reports, and STRNCPY().

Referenced by BLO_blendhandle_from_file(), BLO_read_from_file(), and read_library_file_data().

◆ blo_filedata_from_memfile()

◆ blo_filedata_from_memory()

◆ blo_join_main()

void blo_join_main ( Main * bmain)

◆ blo_make_old_idmap_from_main()

void blo_make_old_idmap_from_main ( FileData * fd,
Main * bmain )

Build a GSet of old main (we only care about local data here, so we can do that after blo_split_main() call.

◆ blo_read_asset_data_block()

void BHead * blo_read_asset_data_block ( FileData * fd,
BHead * bhead,
AssetMetaData ** r_asset_data )

◆ blo_read_file_internal()

BlendFileData * blo_read_file_internal ( FileData * fd,
const char * filepath )

References params.

◆ blo_read_get_new_globaldata_address()

void * blo_read_get_new_globaldata_address ( FileData * fd,
const void * adr )

Direct data-blocks with global linking.

Note
This is rather unfortunate to have to expose this here, but better use that nasty hack in do_version than readfile itself.

Definition at line 1512 of file readfile.cc.

References FileData::globmap, and oldnewmap_lookup_and_inc().

Referenced by blo_do_versions_290(), and link_global().

◆ blo_readfile_invalidate()

void blo_readfile_invalidate ( FileData * fd,
Main * bmain,
const char * message )

◆ blo_split_main()

void blo_split_main ( Main * bmain,
bool do_split_packed_ids = true )

Split a single main into a vector of Mains, each containing only IDs from a given library.

The vector is accessible in all of the split mains through the shared pointer Main::split_mains.

The first Main of the vector is the same as the given main, and contains local IDs.

If do_split_packed_ids is false, packed linked IDs remain in the local (first) main as well.

Definition at line 415 of file readfile.cc.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_main_idmap_destroy(), BKE_main_lists_get(), BKE_main_namemap_clear(), BKE_main_new(), BLENDER_FILE_SUBVERSION, BLENDER_FILE_VERSION, BLI_assert, BLI_listbase_is_empty(), Main::colorspace, Main::curlib, ListBase::first, GS, Main::has_forward_compatibility_issues, i, ID_LI, Main::id_map, Main::is_asset_edit_file, lib, Main::libraries, LIBRARY_FLAG_IS_ARCHIVE, LIBRARY_IS_ASSET_EDIT_FILE, MAIN_VERSION_FILE_OLDER_OR_EQUAL, ID::name, split_libdata(), Main::split_mains, Main::subversionfile, and Main::versionfile.

Referenced by BLO_main_validate_libraries(), blo_read_file_internal(), BLO_read_from_memfile(), library_link_begin(), and library_link_end().

◆ do_versions_after_linking_250()

◆ do_versions_after_linking_260()

void do_versions_after_linking_260 ( Main * bmain)

Definition at line 3022 of file versioning_260.cc.

Referenced by do_versions_after_linking().

◆ do_versions_after_linking_270()

◆ do_versions_after_linking_280()

void do_versions_after_linking_280 ( 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 2217 of file versioning_280.cc.

References ambient_occlusion_node_relink(), bScreen::areabase, BBONE_HANDLE_ABSOLUTE, BBONE_HANDLE_AUTO, BBONE_HANDLE_RELATIVE, BKE_blender_globals_main_swap(), BKE_collection_add(), BKE_collection_master_add(), BKE_collection_object_add_notest(), BKE_collection_object_remove(), BKE_fcurves_id_cb(), BKE_freestyle_config_free(), BKE_keyblock_curve_element_count(), BKE_mesh_do_versions_convert_mfaces_to_mpolys(), BKE_mesh_tessface_clear(), BKE_paint_ensure_from_paintmode(), BKE_rigidbody_constraints_collection_validate(), BKE_rigidbody_objects_collection_validate(), BKE_workspace_active_screen_get(), BLI_assert, BLI_findstring(), BLI_freelistN(), BLI_listbase_is_single(), BLI_MEMPOOL_ALLOW_ITER, BLI_mempool_calloc(), BLI_mempool_create(), BLI_strdupn(), BLO_read_assert_message, Main::brushes, CAM_DOF_ENABLED, CAM_ORTHO, Main::cameras, SpaceClip::clip, COLLECTION_HIDE_RENDER, COLLECTION_HIDE_VIEWPORT, Main::collections, copy_v3_v3(), Main::curves, Object::data, DATA_, displacement_node_insert(), displacement_principled_nodes(), do_version_area_change_space_to_space_action(), do_version_collection_propagate_lib_to_children(), do_version_layers_to_collections(), do_version_workspaces_after_lib_link(), do_versions_fix_annotations(), do_versions_material_convert_legacy_blend_mode(), do_versions_rename_id(), Camera::dof, ELEM, RenderData::engine, ListBase::first, bGPdata::flag, CameraDOFSettings::flag, TreeStoreElem::flag, Paint::flags, float, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, GP_DATA_ANNOTATIONS, GP_LAYER_IS_RULER, ToolSettings::gp_paint, Material::gp_style, MovieClip::gpd, SpaceImage::gpd, GPencil, bArmature::id, Library::id, TreeStoreElem::id, ID_BR, id_fake_user_set(), ID_MA, IDP_FreeProperty(), image_node_colorspace(), ViewLayer::layer_collections, bGPdata::layers, ID::lib, light_emission_unify(), Main::lights, LISTBASE_FOREACH, MA_BM_BLEND, MAIN_VERSION_FILE_ATLEAST, mapping_node_order_flip(), Main::materials, MAX_ID_NAME, MEM_calloc_arrayN(), MEM_freeN(), Main::meshes, name, TreeStoreElem::nr, NTREE_SHADER, OB_CAMERA, OB_DUPLI, OB_DUPLI_FLAG_RENDER, OB_DUPLI_FLAG_VIEWPORT, Main::objects, offsetof, SpaceOutliner::outlinevis, GpPaint::paint, PAINT_SHOW_BRUSH, Main::particles, POSE_RECALC, Scene::r, BezTriple::radius, BPoint::radius, RE_engine_id_BLENDER_EEVEE, RE_engine_id_CYCLES, FCurve::rna_path, Main::scenes, Main::screens, SculptGPencil, SNPRINTF_UTF8, SO_VIEW_LAYER, SPACE_CLIP, SPACE_EMPTY, SPACE_IMAGE, SPACE_OUTLINER, square_roughness_node_insert(), STREQ, BezTriple::tilt, BPoint::tilt, SpaceOutliner::treestore, TSE_CLOSED, TSE_LAYER_COLLECTION, Object::type, TreeStoreElem::type, UNUSED_VARS_NDEBUG, update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_musgrave_node_dimensions(), update_noise_and_wave_distortion(), update_noise_node_dimensions(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_dimensions(), update_voronoi_node_square_distance(), update_wave_node_directions_and_offset(), TreeStoreElem::used, BezTriple::vec, BPoint::vec, vector_curve_node_remap(), version_cycles_properties_from_ID(), version_cycles_property_float(), version_cycles_property_int(), VertexGPencil, WeightGPencil, wmWindowManager::windows, and Main::wm.

Referenced by do_versions_after_linking().

◆ do_versions_after_linking_290()

void do_versions_after_linking_290 ( FileData * fd,
Main * bmain )

Make sure Emission Alpha fcurve and drivers is properly mapped after the Emission Strength got introduced.

Effectively we are replacing the (animation of) node socket input 18 with 19. Emission Strength is the new socket input 18, pushing Emission Alpha to input 19.

To play safe we move all the inputs beyond 18 to their rightful new place. In case users are doing unexpected things with not-really supported keyframeable channels.

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 426 of file versioning_290.cc.

References BKE_collection_cycles_fix(), BKE_gpencil_frame_duplicate(), BKE_pose_rebuild(), BLI_addhead(), BLI_findstring(), Main::brushes, Main::collections, eGpencilModifierType_Array, eGpencilModifierType_Color, eGpencilModifierType_Hook, eGpencilModifierType_Lattice, eGpencilModifierType_Mirror, eGpencilModifierType_Multiply, eGpencilModifierType_Noise, eGpencilModifierType_Offset, eGpencilModifierType_Opacity, eGpencilModifierType_Simplify, eGpencilModifierType_Smooth, eGpencilModifierType_Subdiv, eGpencilModifierType_Texture, eGpencilModifierType_Thick, eModifierType_Multires, ListBase::first, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, bGPDframe::framenum, GEO_NODE_MESH_PRIMITIVE_GRID, get_sequencer_render_size(), id_fake_user_set(), bGPdata::layers, LISTBASE_FOREACH, MAIN_VERSION_FILE_ATLEAST, ArrayGpencilModifierData::material, ColorGpencilModifierData::material, HookGpencilModifierData::material, LatticeGpencilModifierData::material, MirrorGpencilModifierData::material, MultiplyGpencilModifierData::material, NoiseGpencilModifierData::material, OffsetGpencilModifierData::material, OpacityGpencilModifierData::material, SimplifyGpencilModifierData::material, SmoothGpencilModifierData::material, SubdivGpencilModifierData::material, TextureGpencilModifierData::material, ThickGpencilModifierData::material, Main::materials, multires_do_versions_simple_to_catmull_clark(), name, NTREE_GEOMETRY, NTREE_SHADER, OB_ARMATURE, OB_GPENCIL_LEGACY, OB_MODE_SCULPT, Main::objects, offsetof, printf, Scene::r, Main::scenes, seq_update_meta_disp_range(), RenderData::sfra, SH_NODE_BSDF_PRINCIPLED, strip_convert_transform_crop_lb(), strip_convert_transform_crop_lb_2(), Main::texts, version_node_socket_duplicate(), and version_node_socket_index_animdata().

Referenced by do_versions_after_linking().

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

◆ do_versions_after_linking_400()

◆ do_versions_after_linking_410()

void do_versions_after_linking_410 ( FileData * fd,
Main * bmain )

◆ do_versions_after_linking_420()

◆ do_versions_after_linking_430()

void do_versions_after_linking_430 ( FileData * fd,
Main * bmain )

◆ do_versions_after_linking_440()

◆ do_versions_after_linking_450()

void do_versions_after_linking_450 ( 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 4127 of file versioning_450.cc.

References Main::actions, CMP_NODE_GLARE, do_version_new_glare_clamp_input(), blender::animrig::foreach_fcurve_in_action_slot(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, blender::Span< T >::is_empty(), LISTBASE_FOREACH, MAIN_VERSION_FILE_ATLEAST, NTREE_COMPOSIT, blender::animrig::Action::slots(), and version_node_socket_index_animdata().

Referenced by do_versions_after_linking().

◆ do_versions_after_linking_500()

void do_versions_after_linking_500 ( 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 2653 of file versioning_500.cc.

References Main::armatures, BKE_animdata_from_id(), BKE_pose_rebuild(), BLI_listbase_is_empty(), BONE_HIDDEN_P, CMP_NODE_COMPOSITE_DEPRECATED, CMP_NODE_SUNBEAMS_DEPRECATED, DATA_, DNA_struct_default_get, do_version_composite_node_in_scene_tree(), do_version_convert_to_generic_nodes_after_linking(), do_version_remove_lzo_and_lzma_compression(), do_version_sun_beams(), AnimData::drivers, Scene::ed, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD_MUTABLE, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr(), MAIN_VERSION_FILE_ATLEAST, NODE_INTERFACE_SOCKET_INPUT, NODE_INTERFACE_SOCKET_OUTPUT, blender::bke::node_tree_set_type(), bNodeTree::nodes, NTREE_COMPOSIT, OB_ARMATURE, Main::objects, PCHAN_DRAW_HIDDEN, RE_engine_id_BLENDER_EEVEE, RE_engine_id_BLENDER_EEVEE_NEXT, Main::scenes, WorkSpace::sequencer_scene, sequencer_substitute_transform_effects(), STREQ, STRNCPY_UTF8, bNodeTree::tree_interface, users, version_bone_hide_property_driver(), version_get_scene_compositor_node_tree(), version_node_remove(), window_has_sequence_editor_open(), Main::wm, WM_window_get_active_scene(), and WM_window_get_active_workspace().

Referenced by do_versions_after_linking().

◆ do_versions_after_setup()