Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Functions
readfile.h File Reference
#include "BLI_filereader.h"
#include "DNA_sdna_types.h"
#include "DNA_space_types.h"
#include "DNA_windowmanager_types.h"

Go to the source code of this file.

Classes

struct  FileData
 

Macros

#define SIZEOFBLENDERHEADER   12
 

Typedefs

typedef struct IDNameLib_Map IDNameLib_Map
 
typedef struct FileData 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_NOT_MY_LIBMAP = 1 << 5
}
 

Functions

void blo_join_main (ListBase *mainlist)
 
void blo_split_main (ListBase *mainlist, struct Main *main)
 
BlendFileDatablo_read_file_internal (FileData *fd, const char *filepath)
 
FileDatablo_filedata_from_file (const char *filepath, struct BlendFileReadReport *reports)
 
FileDatablo_filedata_from_memory (const void *mem, int memsize, struct BlendFileReadReport *reports)
 
FileDatablo_filedata_from_memfile (struct MemFile *memfile, const struct BlendFileReadParams *params, struct BlendFileReadReport *reports)
 
void blo_make_packed_pointer_map (FileData *fd, struct Main *oldmain)
 
void blo_end_packed_pointer_map (FileData *fd, struct Main *oldmain)
 
void blo_add_library_pointer_map (ListBase *old_mainlist, FileData *fd)
 
void blo_make_old_idmap_from_main (FileData *fd, struct Main *bmain)
 
BHeadblo_read_asset_data_block (FileData *fd, BHead *bhead, struct AssetMetaData **r_asset_data)
 
void blo_cache_storage_init (FileData *fd, struct Main *bmain)
 
void blo_cache_storage_old_bmain_clear (FileData *fd, struct Main *bmain_old)
 
void blo_cache_storage_end (FileData *fd)
 
void blo_filedata_free (FileData *fd)
 
BHeadblo_bhead_first (FileData *fd)
 
BHeadblo_bhead_next (FileData *fd, BHead *thisblock)
 
BHeadblo_bhead_prev (FileData *fd, BHead *thisblock)
 
const char * blo_bhead_id_name (const FileData *fd, const BHead *bhead)
 
struct AssetMetaDatablo_bhead_id_asset_data_address (const FileData *fd, const BHead *bhead)
 
void blo_do_versions_dna (struct SDNA *sdna, int versionfile, int subversionfile)
 
void blo_do_versions_oldnewmap_insert (struct OldNewMap *onm, const void *oldaddr, void *newaddr, int nr)
 
voidblo_do_versions_newlibadr (struct FileData *fd, const void *lib, const void *adr)
 
voidblo_do_versions_newlibadr_us (struct FileData *fd, const void *lib, const void *adr)
 
void blo_do_version_old_trackto_to_constraints (struct Object *ob)
 
void blo_do_versions_key_uidgen (struct Key *key)
 
void blo_do_versions_userdef (struct UserDef *userdef)
 
void blo_do_versions_pre250 (struct FileData *fd, struct Library *lib, struct Main *bmain)
 
void blo_do_versions_250 (struct FileData *fd, struct Library *lib, struct Main *bmain)
 
void blo_do_versions_260 (struct FileData *fd, struct Library *lib, struct Main *bmain)
 
void blo_do_versions_270 (struct FileData *fd, struct Library *lib, struct Main *bmain)
 
void blo_do_versions_280 (struct FileData *fd, struct Library *lib, struct Main *bmain)
 
void blo_do_versions_290 (struct FileData *fd, struct Library *lib, struct Main *bmain)
 
void blo_do_versions_300 (struct FileData *fd, struct Library *lib, struct Main *bmain)
 
void blo_do_versions_cycles (struct FileData *fd, struct Library *lib, struct Main *bmain)
 
void do_versions_after_linking_250 (struct Main *bmain)
 
void do_versions_after_linking_260 (struct Main *bmain)
 
void do_versions_after_linking_270 (struct Main *bmain)
 
void do_versions_after_linking_280 (struct FileData *fd, struct Main *bmain)
 
void do_versions_after_linking_290 (struct FileData *fd, struct Main *bmain)
 
void do_versions_after_linking_300 (struct FileData *fd, struct Main *bmain)
 
void do_versions_after_linking_cycles (struct Main *bmain)
 
voidblo_read_get_new_globaldata_address (struct FileData *fd, const void *adr)
 
void blo_readfile_invalidate (struct FileData *fd, struct Main *bmain, const char *message)
 

Detailed Description

blenloader readfile private function prototypes.

Definition in file readfile.h.

Macro Definition Documentation

◆ SIZEOFBLENDERHEADER

#define SIZEOFBLENDERHEADER   12

Definition at line 109 of file readfile.h.

Typedef Documentation

◆ FileData

typedef struct FileData FileData

◆ IDNameLib_Map

typedef struct IDNameLib_Map IDNameLib_Map

Definition at line 1 of file readfile.h.

Enumeration Type Documentation

◆ eFileDataFlag

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_NOT_MY_LIBMAP 

Definition at line 32 of file readfile.h.

Function Documentation

◆ blo_add_library_pointer_map()

void blo_add_library_pointer_map ( ListBase old_mainlist,
FileData fd 
)

Undo file support: add all library pointers in lookup.

Definition at line 1759 of file readfile.c.

References GS, id, INDEX_ID_MAX, LISTBASE_FOREACH, ID::name, FileData::old_mainlist, oldnewmap_lib_insert(), ptr, and set_listbasepointers().

Referenced by BLO_read_from_memfile().

◆ blo_bhead_first()

BHead* blo_bhead_first ( FileData fd)

◆ blo_bhead_id_asset_data_address()

struct 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 1036 of file readfile.c.

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

Referenced by BLO_blendhandle_get_datablock_info(), and BLO_blendhandle_get_datablock_names().

◆ blo_bhead_id_name()

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

◆ blo_bhead_next()

BHead* blo_bhead_next ( FileData fd,
BHead thisblock 
)

◆ blo_bhead_prev()

BHead* blo_bhead_prev ( FileData fd,
BHead thisblock 
)

◆ blo_cache_storage_end()

void blo_cache_storage_end ( FileData fd)

◆ blo_cache_storage_init()

void blo_cache_storage_init ( FileData fd,
struct Main bmain 
)

◆ blo_cache_storage_old_bmain_clear()

void blo_cache_storage_old_bmain_clear ( FileData fd,
struct Main bmain_old 
)

◆ blo_do_version_old_trackto_to_constraints()

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

Definition at line 448 of file versioning_legacy.c.

References BKE_constraint_add_for_object(), CONSTRAINT_TYPE_TRACKTO, data, bConstraint::data, NULL, 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 ( struct FileData fd,
struct Library lib,
struct Main bmain 
)

Definition at line 668 of file versioning_250.c.

References Freestyle::a, ParticleSettings::acc, Main::actions, Brush::add_col, Tex::afmax, View2D::align, Brush::alpha, animviz_settings_init(), blender::compositor::area(), bScreen::areabase, Main::armatures, ARRAY_SIZE, Scene::audio, FFMpegCodecData::audio_channels, FFMpegCodecData::audio_codec, FFMpegCodecData::audio_mixrate, FFMpegCodecData::audio_volume, ToolSettings::autokey_mode, bPose::avs, Object::avs, ParticleSettings::bb_size, FCurve::bezt, Nurb::bezt, BKE_area_region_free(), 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(), Key::block, ParticleSettings::boids, bArmature::bonebase, RenderData::border, Nurb::bp, ParticleEditSettings::brush, BRUSH_SPACE_ATTEN, Main::brushes, PTCacheID::cache, CD_MDISPS, bPose::chanbase, ParticleSettings::clength, CMP_NODE_BLUR, CMP_NODE_COLORBALANCE, MVert::co, Tex::coba, RenderData::color_mgt_flag, bPoseChannel::constraints, Object::constraints, PixelFormat::convert(), copy_v3_v3(), copy_v4_v4(), ParticleSettings::courant_target, Brush::crease_pinch_factor, CU_TYPE, View2D::cur, bNodeTree::cur_index, Brush::curve, CURVE_PRESET_SMOOTH, Main::curves, bAction::curves, CustomData_free_layer_active(), data, KeyBlock::data, Object::data, ColorBand::data, Lattice::def, bArmature::deformflag, ArmatureModifierData::deformflag, AudioData::distance_model, do_gravity(), 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, AudioData::doppler_factor, Object::dquat, ParticleSettings::draw, ParticleSettings::draw_as, ParticleSettings::draw_col, Object::drotAngle, Object::drotAxis, Object::dt, Scene::ed, ClothSimSettings::effector_weights, SoftBody::effector_weights, ParticleSettings::effector_weights, ELEM, eModifierType_Armature, eModifierType_Cloth, eModifierType_Curve, eModifierType_Fluid, eModifierType_Fluidsim, eModifierType_Lattice, eModifierType_Multires, eModifierType_Ocean, eModifierType_Solidify, Mesh::fdata, RenderData::ffcodecdata, ListBase::first, FCurve::flag, Brush::flag, Camera::flag, SolidifyModifierData::flag, FluidsimSettings::flag, PartDeflect::flag, Object::flag, ParticleSettings::flag, PointCache::flag, PhysicsSettings::flag, View3D::flag2, FluidDomainSettings::flags, FluidFlowSettings::flags, FFMpegCodecData::flags, float(), FluidModifierData::flow, FLUID_FLOW_INITVELOCITY, FluidsimSettings::fmd, PartDeflect::forcefield, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, RenderData::frame_step, bNodeLink::fromnode, bNodeLink::fromsock, FluidsimModifierData::fss, EffectorWeights::global_gravity, SoftBody::grav, ClothSimSettings::gravity, PhysicsSettings::gravity, BezTriple::h1, BezTriple::h2, HD_AUTO, HD_AUTO_ANIM, Brush::height, Histogram::height, bAction::id, bArmature::id, Brush::id, Curve::id, Key::id, Lattice::id, Material::id, Mesh::id, bNodeTree::id, Object::id, ParticleSettings::id, Scene::id, bScreen::id, bSound::id, Tex::id, INFO_RPT_OP, bNodeTree::inputs, IS_EQF, is_zero_v3(), is_zero_v4(), View2D::keepofs, View2D::keeptot, View2D::keepzoom, Curve::key, Lattice::key, Mesh::key, ParticleSettings::kink_amp_clump, ListBase::last, Main::lattices, lib, ID::lib, NodeColorBalance::lift, bPoseChannel::limitmax, bPoseChannel::limitmin, bNodeSocket::link, bNodeTree::links, MultiresModifierData::lvl, M_PI, AudioData::main, MAIN_VERSION_ATLEAST, SpaceSeq::mainb, Brush::mask_mtex, SolidifyModifierData::mat_ofs_rim, Object::matbits, Main::materials, View2D::maxzoom, MEM_calloc_arrayN, MEM_callocN, Main::meshes, View2D::min, MIN2, View2D::minzoom, AudioData::mixrate, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_FLOW, Object::mode, RenderData::mode, Object::modifiers, MOTIONPATH_BAKE_HEADS, MOTIONPATH_TYPE_ACFRA, MOTIONPATH_VIEW_FNUMS, MOTIONPATH_VIEW_KFNOS, MOTIONPATH_VIEW_KFRAS, Brush::mtex, Mesh::mvert, bNodeSocket::name, ID::name, bSound::newpackedfile, PTCacheID::next, bPoseChannel::next, FCurve::next, Bone::next, Nurb::next, ID::next, KeyBlock::next, Base::next, ModifierData::next, bNodeSocket::next, ARegion::next, SpaceLink::next, node, NODE_GROUP, nodeCountSocketLinks(), bNodeTree::nodes, nodeSocketIsHidden(), Material::nodetree, Scene::nodetree, Tex::nodetree, Main::nodetrees, nodeUniqueName(), ntree, NULL, Curve::nurb, OB_ARMATURE, OB_CAMERA, OB_CURVES_LEGACY, OB_FLUIDSIM_ACTIVE, OB_FLUIDSIM_OVERRIDE_TIME, OB_LATTICE, OB_MATERIAL, Brush::ob_mode, OB_MODE_ALL_PAINT, OB_MODE_POSE, OB_SOLID, OB_TEXTURE, Base::object, LatticeModifierData::object, CurveModifierData::object, ArmatureModifierData::object, Main::objects, OceanModifierData::oceancache, bNodeTree::outputs, bSound::packedfile, 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, ToolSettings::particle, Main::particles, Object::partype, bAnimVizSettings::path_ac, bAnimVizSettings::path_bakeflag, bAnimVizSettings::path_bc, bAnimVizSettings::path_ef, ParticleSettings::path_end, bAnimVizSettings::path_sf, bAnimVizSettings::path_step, bAnimVizSettings::path_type, bAnimVizSettings::path_viewflag, bArmature::pathflag, Object::pd, NodeBlurData::percentx, NodeBlurData::percenty, PFIELD_DO_LOCATION, PFIELD_PLANAR, PFIELD_SHAPE_PLANE, PFIELD_SHAPE_SURFACE, PFIELD_SURFACE, PFIELD_WIND, PHYS_GLOBAL_GRAVITY, Scene::physics_settings, BoidSettings::pitch, Brush::plane_trim, Nurb::pntsu, Lattice::pntsu, Nurb::pntsv, Lattice::pntsv, Lattice::pntsw, Object::pose, CurveMapping::preset, PTCACHE_DISK_CACHE, PTCacheID::ptcaches, Object::quat, Material::r, Scene::r, R_COLOR_MANAGEMENT, Brush::rate, bScreen::redraws_flag, Key::refkey, SpaceLink::regionbase, ARegion::regiontype, ParticleSettings::ren_as, MultiresModifierData::renderlvl, OceanModifierData::resolution, RGN_TYPE_PREVIEW, RGN_TYPE_WINDOW, ROT_MODE_EUL, bPoseChannel::rotAxis, Object::rotAxis, Object::rotmode, SpaceInfo::rpt_mask, SpaceImage::sample_line_hist, Tex::saturation, UnitSettings::scale_length, SCE_SELECT_PATH, SCE_SELECT_VERTEX, scene, Main::scenes, SpaceImage::scopes, Main::screens, View2D::scroll, MultiresModifierData::sculptlvl, ParticleEditSettings::selectmode, ToolSettings::selectmode, SEQ_DRAW_IMG_IMBUF, SEQ_for_each_callback(), seq_set_pitch_cb(), seq_set_sat_cb(), seq_set_volume_cb(), seq_sound_proxy_update_cb(), SEQ_VIEW_SEQUENCE, Editing::seqbase, Editing::seqbasep, sequencer_init_preview_region(), PartDeflect::shape, Main::shapekeys, ClothModifierData::sim_parms, Brush::size, KeyBlock::slidermax, KeyBlock::slidermin, Curve::smallcaps_scale, Brush::smooth_stroke_factor, Brush::smooth_stroke_radius, SOCK_IN, SOCK_OUT, Object::soft, Main::sounds, SPACE_ACTION, SPACE_IMAGE, SPACE_INFO, SPACE_NLA, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, SpaceLink::spacetype, Brush::spacing, Material::specr, AudioData::speed_of_sound, srgb_to_linearrgb_v3_v3(), usdtokens::st(), ParticleBrushData::strength, Brush::sub_col, Main::subversionfile, tex, TEX_NODE_OUTPUT, Brush::texture_overlay_alpha, Main::textures, BezTriple::tilt, BPoint::tilt, TIME_ALL_3D_WIN, TIME_ALL_ANIM_WIN, ParticleSettings::time_flag, FluidDomainSettings::time_scale, bNodeLink::tonode, Scene::toolsettings, bNodeLink::tosock, ColorBand::tot, View2D::tot, Object::totcol, KeyBlock::totelem, Mesh::totface, MultiresModifierData::totlvl, FCurve::totvert, Mesh::totvert, Nurb::type, ModifierData::type, FluidModifierData::type, bNodeSocket::type, Object::type, Scene::unit, unit_axis_angle(), unit_qt(), Brush::unprojected_radius, UV_SELECT_VERTEX, ToolSettings::uv_selectmode, ARegion::v2d, 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, ToolSettings::vgroup_weight, SpaceSeq::view, AudioData::volume, FluidDomainSettings::vorticity, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

Referenced by do_versions().

◆ blo_do_versions_260()

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

Referenced by do_versions().

◆ blo_do_versions_270()

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

Referenced by do_versions().

◆ blo_do_versions_280()

void blo_do_versions_280 ( struct FileData fd,
struct Library lib,
struct Main bmain 
)

Referenced by do_versions().

◆ blo_do_versions_290()

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

Referenced by do_versions().

◆ blo_do_versions_300()

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

Referenced by do_versions().

◆ blo_do_versions_cycles()

void blo_do_versions_cycles ( struct FileData fd,
struct Library lib,
struct Main bmain 
)

Referenced by do_versions().

◆ blo_do_versions_dna()

void blo_do_versions_dna ( struct 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 18 of file versioning_dna.c.

References DNA_sdna_patch_struct(), DNA_sdna_patch_struct_member(), and DNA_VERSION_ATLEAST.

Referenced by read_file_dna().

◆ blo_do_versions_key_uidgen()

void blo_do_versions_key_uidgen ( struct Key key)

Definition at line 2323 of file readfile.c.

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

Referenced by blo_do_versions_260().

◆ blo_do_versions_newlibadr()

void* blo_do_versions_newlibadr ( struct FileData fd,
const void lib,
const void adr 
)

Only library data.

Definition at line 1632 of file readfile.c.

References lib, and newlibadr().

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

◆ blo_do_versions_newlibadr_us()

void* blo_do_versions_newlibadr_us ( struct FileData fd,
const void lib,
const void adr 
)

◆ blo_do_versions_oldnewmap_insert()

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

Definition at line 368 of file readfile.c.

References oldnewmap_insert().

Referenced by blo_do_versions_pre250().

◆ blo_do_versions_pre250()

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

Definition at line 482 of file versioning_legacy.c.

References Freestyle::a, MCol::a, ParticleSettings::acc, bActionStrip::actend, Main::actions, bActionStrip::actstart, ACTSTRIP_USESTRIDE, Image::alpha_mode, World::aodist, World::aoenergy, blender::compositor::area(), bScreen::areabase, ARM_DEF_VGROUP, Main::armatures, ARRAY_SIZE, Image::aspx, Image::aspy, bSound::attenuation, Scene::audio, AUDIO_SCRUB, SpaceAction::autosnap, SpaceGraph::autosnap, SpaceNla::autosnap, usdtokens::b(), RenderData::bake_flag, RenderData::bake_margin, RenderData::bake_margin_type, RenderData::bake_mode, Nurb::bezt, Tex::bfac, RenderData::bg_stamp, BKE_armature_where_is(), BKE_curvemapping_add(), BKE_curvemapping_init(), 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_snprintf(), blo_do_version_old_trackto_to_constraints(), blo_do_versions_newlibadr(), blo_do_versions_oldnewmap_insert(), Key::block, RenderData::blurfac, bone_version_238(), bone_version_239(), bArmature::bonebase, Nurb::bp, ParticleEditSettings::brush, Main::brushes, Light::buffers, 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, bPoseChannel::constinv, 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, bPoseChannel::constraints, Object::constraints, copy_v3_v3(), CU_PATH, Light::curfalloff, Main::curves, customdata_version_242(), customdata_version_243(), ImageUser::cycl, PartEff::damp, ParticleSettings::dampfac, data, bConstraint::data, Object::data, CurveModifierData::defaxis, SoftBody::defgoal, bArmature::deformflag, ArmatureModifierData::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, eModifierTypeType_OnlyDeform, Object::empty_drawsize, Object::empty_drawtype, PartEff::end, bActionStrip::end, ParticleSettings::end, eSubsurfModifierFlag_ControlEdges, eSubsurfModifierFlag_DebugIncr, eSubsurfModifierFlag_Incremental, Tex::extend, PartDeflect::f_noise, Light::falloff_type, RenderData::fg_stamp, Image::filepath, VFont::filepath, Tex::filtersize, ListBase::first, bArmature::flag, Camera::flag, bConstraint::flag, Curve::flag, PartEff::flag, ImageUser::flag, Image::flag, Lattice::flag, Mesh::flag, MirrorModifierData::flag, bActionStrip::flag, FluidsimSettings::flag, ParticleSettings::flag, ParticleSystem::flag, PointCache::flag, AudioData::flag, ParticleEditSettings::flag, Tex::flag, View3D::flag, SubsurfModifierData::flags, bSound::flags, FO_BUILTIN_NAME, Main::fonts, PartEff::force, PartDeflect::forcefield, RenderData::framapto, RenderData::framelen, ImageUser::frames, Tex::frames, ParticleSettings::from, RenderData::frs_sec, RenderData::frs_sec_base, FluidsimModifierData::fss, Lattice::fu, Lattice::fv, Lattice::fw, Image::gen_type, Image::gen_x, Image::gen_y, Tex::gfac, View3D::gridflag, View3D::gridlines, View3D::gridsubdiv, PartEff::group, ParticleSettings::hair_step, bArmature::id, Camera::id, Collection::id, Curve::id, Image::id, Key::id, Lattice::id, Light::id, Material::id, Mesh::id, bNodeTree::id, Object::id, ParticleSettings::id, Scene::id, bScreen::id, bSound::id, Tex::id, VFont::id, World::id, ID_RECALC_ALL, ID_RECALC_PSYS_REDO, idproperties_fix_group_lengths(), if(), 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, SoftBody::inpush, SoftBody::inspring, Object::instance_faces_scale, ParticleSettings::instance_object, Main::ipo, FluidsimSettings::ipo, Tex::iuser, SoftBody::keys, LA_FALLOFF_INVLINEAR, FluidsimSettings::lastgoodframe, Main::lattices, bArmature::layer, blender::math::length(), Camera::lens, SubsurfModifierData::levels, lib, ID::lib, LIB_TAG_NEED_LINK, FileData::libmap, Main::libraries, PartEff::lifetime, ParticleSettings::lifetime, Main::lights, bPoseChannel::limitmax, bPoseChannel::limitmin, LISTBASE_FOREACH, MAIN_VERSION_ATLEAST, SpaceProperties::mainb, PartEff::mat, Object::mat, Main::materials, MAX2, bSound::max_gain, Mesh::mcol, Mesh::medge, 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, MIN2, bSound::min_gain, AudioData::mixrate, MOD_MIR_AXIS_X, MOD_MIR_AXIS_Y, MOD_MIR_AXIS_Z, SpaceAction::mode, ModifierData::mode, RenderData::mode, SubsurfModifierData::modifier, Object::modifiers, Tex::nabla, KeyBlock::name, ModifierData::name, bDeformGroup::name, ID::name, bSound::newpackedfile, bPoseChannel::next, Bone::next, bConstraint::next, Nurb::next, ID::next, KeyBlock::next, ModifierData::next, bActionStrip::next, bDeformGroup::next, ParticleSystem::next, SpaceLink::next, Material::nodetree, Scene::nodetree, Main::nodetrees, ImagePaintSettings::normal_angle, PartEff::normfac, ParticleSettings::normfac, Tex::ns_outscale, ntree, ntree_version_241(), ntree_version_242(), ntree_version_245(), NULL, 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, Tex::offset, PartEff::omat, ParticleSettings::omat, Camera::ortho_scale, bConstraint::ownspace, 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, PIL_check_seconds_timer(), Nurb::pntsu, Lattice::pntsu, Nurb::pntsv, Lattice::pntsv, Lattice::pntsw, ClothModifierData::point_cache, ParticleSystem::pointcache, Object::pose, Image::preview, Strip::proxy, ParticleSystemModifierData::psys, PSYS_CURRENT, PSYS_VG_DENSITY, PSYS_VG_LENGTH, PSYS_VG_VEL, PTCACHE_BAKED, PTCACHE_DISK_CACHE, ClothModifierData::ptcaches, ParticleSystem::ptcaches, StripProxy::quality, Scene::r, R_BAKE_ADJACENT_FACES, R_BAKE_CLEAR, R_PASSEPARTOUT, BezTriple::radius, BPoint::radius, Nurb::radius_interp, PartEff::randfac, ParticleSettings::randfac, PartEff::randlife, ParticleSettings::randlife, ID::recalc, ParticleSystem::recalc, Key::refkey, ParticleSettings::ren_step, SubsurfModifierData::renderLevels, bActionStrip::repeat, Nurb::resolu, Nurb::resolv, Tex::rfac, ROTLIKE_X, ROTLIKE_Y, ROTLIKE_Z, ParticleSettings::rotmode, SACTCONT_DOPESHEET, SACTSNAP_FRAME, bActionStrip::scale, SCE_LAY_SKY, SCE_LAY_SOLID, SCE_PASS_COMBINED, SCE_PASS_NORMAL, SCE_PASS_VECTOR, SCE_PASS_Z, RenderData::scemode, Main::scenes, Main::screens, ImagePaintSettings::seam_bleed, PartEff::seed, PartDeflect::seed, ParticleSystem::seed, ToolSettings::select_thresh, SEQ_active_seqbase_get(), SEQ_for_each_callback(), seq_set_alpha_mode_cb(), seq_set_blend_mode_cb(), Editing::seqbase, ImageUser::sfra, Tex::sfra, Main::shapekeys, SoftBody::shearstiff, RenderData::simplify_particles, RenderData::simplify_subsurf, ParticleBrushData::size, Mesh::smoothresh, Object::soft, Object::softflag, Main::sounds, Image::source, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, SPACE_PROPERTIES, SPACE_TEXT, SPACE_VIEW3D, SpaceLink::spacetype, PartEff::speedtex, srl(), usdtokens::st(), PartEff::sta, ParticleSettings::sta, bActionStrip::start, PartEff::staticstep, PointCache::step, ParticleBrushData::step, ParticleBrushData::strength, STREQ, STREQLEN, Sequence::strip, PartEff::stype, SubsurfModifierData::subdivType, Main::subversionfile, ID::tag, bConstraint::tarspace, tex, 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, PartEff::totkey, SoftBody::totkey, PartEff::totpart, ParticleSettings::totpart, ParticleSystem::totpart, ParticleEditSettings::totrekey, Object::trackflag, Object::transflag, ModifierTypeInfo::type, Camera::type, bConstraint::type, Image::type, ModifierData::type, FluidsimSettings::type, Object::type, ParticleSettings::type, Tex::type, unit_m4(), ToolSettings::unwrapper, Object::upflag, ID::us, UVCALC_FILLHOLES, ToolSettings::uvcalc_flag, 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 ( struct UserDef userdef)

Patching UserDef struct and Themes.

Versioning code until next subversion bump goes here.

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

Definition at line 188 of file versioning_userdef.c.

References UserDef::addons, UserDef::anisotropic_filter, ARRAY_SET_ITEMS, ARRAY_SIZE, UserDef::asset_libraries, UserDef::audiochannels, UserDef::audioformat, UserDef::audiorate, UserDef::auto_smoothing_new, UserDef::autokey_flag, 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_PREFS_ASSET_LIBRARY_DEFAULT_NAME, BLI_listbase_is_empty(), BLI_str_replace_table_exact(), UserDef::coba_weight, SolidLight::col, UserDef::collection_instance_empty_size, copy_v3_fl3(), copy_v4_fl4(), UserDef::dbl_click_time, DEG2RADF, UserDef_FileSpaceData::display_type, do_version_select_mouse(), do_versions_theme(), UserDef::drag_threshold, UserDef::drag_threshold_mouse, UserDef::drag_threshold_tablet, UserDef::dupflag, UserDef::fcu_inactive_alpha, FCURVE_SMOOTH_CONT_ACCEL, FILE_DEFAULTDISPLAY, UserDef::file_preview_type, UserDef::file_space_data, UserDef::filebrowser_display_type, UserDef_FileSpaceData::filter_id, ListBase::first, SolidLight::flag, UserDef::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_flag, HD_AUTO, HD_AUTO_ANIM, wmKeyMap::idname, UserDef::image_draw_method, IMAGE_DRAW_METHOD_AUTO, IMAGE_DRAW_METHOD_GLSL, UserDef::ipo_new, WalkNavigation::jump_height, UserDef::keyconfigstr, UserDef::keyhandles_new, keymap_item_has_invalid_wm_context_data_path(), keymap_item_update_tweak_event(), UserDef::language, UserDef::light_ambient, UserDef::light_param, LISTBASE_FOREACH, UserDef::lookdev_sphere_size, UserDef::memcachelimit, UserDef::menuthreshold1, UserDef::menuthreshold2, UserDef::mixbufsize, WalkNavigation::mouse_speed, UserDef::move_threshold, NDOF_CAMERA_PAN_ZOOM, UserDef::ndof_deadzone, UserDef::ndof_flag, NDOF_LOCK_HORIZON, UserDef::ndof_orbit_sensitivity, UserDef::ndof_sensitivity, NDOF_SHOULD_PAN, NDOF_SHOULD_ROTATE, NDOF_SHOULD_ZOOM, NDOF_TURNTABLE, wmKeyMap::next, UserDef::node_margin, NULL, UserDef::pad_rot_angle, UserDef::pie_animation_timeout, UserDef::pie_menu_radius, UserDef::pie_menu_threshold, UserDef::pie_tap_timeout, UserDef::pixelsize, UserDef::pref_flag, 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::scrollback, UserDef::sequencer_proxy_setup, SolidLight::smooth, UserDef::sounddir, SolidLight::spec, UserDef::statusbar_flag, STATUSBAR_SHOW_VERSION, STREQ, WalkNavigation::teleport_time, UserDef::texcollectrate, UserDef::textimeout, UserDef::themes, ColorBand::tot, UserDef::transopts, U_default, U_theme_default, UserDef::uiflag, UserDef::uiflag2, UserDef::uistyles, ULANGUAGE_ENGLISH, UserDef::undosteps, USER_ADD_EDITMODE, USER_ADD_VIEWALIGNED, 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_FLAG_NUMINPUT_ADVANCED, USER_FLAG_UNUSED_2, USER_FLAG_UNUSED_3, USER_FLAG_UNUSED_4, USER_FLAG_UNUSED_5, USER_FLAG_UNUSED_6, USER_FLAG_UNUSED_7, USER_FLAG_UNUSED_9, USER_GIZMO_DRAW, USER_GLOBALUNDO, USER_GPU_FLAG_OVERLAY_SMOOTH_WIRE, USER_HEADER_BOTTOM, USER_HEADER_FROM_PREF, UserDef::user_keyconfig_prefs, UserDef::user_keymaps, USER_LMOUSESELECT, USER_LOCK_CURSOR_ADJUST, USER_NO_MULTITOUCH_GESTURES, USER_PLAINMENUS, USER_PREF_FLAG_SAVE, USER_RENDER_DISPLAY_WINDOW, USER_SEQ_PROXY_SETUP_AUTOMATIC, USER_SHOW_GIZMO_NAVIGATE, USER_TEMP_SPACE_DISPLAY_WINDOW, USER_TR_UNUSED_2, USER_TR_UNUSED_3, USER_TR_UNUSED_4, USER_TR_UNUSED_6, USER_TR_UNUSED_7, USER_TRACKBALL, USER_TWOBUTTONMOUSE, USER_UIFLAG2_UNUSED_0, USER_UIFLAG_UNUSED_1, USER_UIFLAG_UNUSED_12, USER_UIFLAG_UNUSED_22, USER_UIFLAG_UNUSED_3, USER_VERSION_ATLEAST, 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, UserDef::walk_navigation, WalkNavigation::walk_speed, WalkNavigation::walk_speed_factor, and UserDef::widget_unit.

Referenced by do_versions_userdef().

◆ blo_end_packed_pointer_map()

void blo_end_packed_pointer_map ( FileData fd,
struct Main oldmain 
)

Set old main packed data to zero if it has been restored this works because freeing old main only happens after this call.

Definition at line 1723 of file readfile.c.

References OldNewMap::entries, Main::fonts, Main::images, lib, Main::libraries, LISTBASE_FOREACH, OldNewMap::nentries, OldNew::newp, newpackedadr(), OldNew::nr, NULL, FileData::packedmap, Main::sounds, and Main::volumes.

◆ blo_filedata_free()

void blo_filedata_free ( FileData fd)

◆ blo_filedata_from_file()

FileData* blo_filedata_from_file ( const char *  filepath,
struct 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 1357 of file readfile.c.

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

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

◆ blo_filedata_from_memfile()

FileData* blo_filedata_from_memfile ( struct MemFile memfile,
const struct BlendFileReadParams params,
struct BlendFileReadReport reports 
)

◆ blo_filedata_from_memory()

FileData* blo_filedata_from_memory ( const void mem,
int  memsize,
struct BlendFileReadReport reports 
)

◆ blo_join_main()

void blo_join_main ( ListBase mainlist)

◆ blo_make_old_idmap_from_main()

void blo_make_old_idmap_from_main ( FileData fd,
struct 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.

Definition at line 1775 of file readfile.c.

References BKE_main_idmap_create(), BKE_main_idmap_destroy(), MAIN_IDMAP_TYPE_UUID, NULL, and FileData::old_idmap.

Referenced by BLO_read_from_memfile().

◆ blo_make_packed_pointer_map()

void blo_make_packed_pointer_map ( FileData fd,
struct Main oldmain 
)

◆ blo_read_asset_data_block()

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

◆ blo_read_file_internal()

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

Definition at line 3963 of file readfile.c.

References after_liblink_merged_bmain_process(), ATTR_FALLTHROUGH, BKE_collections_after_lib_link(), BKE_lib_override_library_main_update(), BKE_lib_override_library_main_validate(), BKE_main_id_refcount_recompute(), BKE_main_id_tag_all(), BKE_main_new(), Main::blen_thumb, BLEN_THUMB_MEMSIZE, BLEN_THUMB_MEMSIZE_FILE, BLEN_THUMB_MEMSIZE_IS_VALID, BLENFILETYPE_BLEND, BLI_addtail(), BLI_assert, blo_bhead_first(), blo_bhead_next(), blo_join_main(), BLO_READ_SKIP_DATA, BLO_READ_SKIP_USERDEF, blo_split_main(), CLOG_INFO, BHead::code, DATA, data, DNA1, do_versions(), do_versions_after_linking(), do_versions_userdef(), BlendFileReadReport::duration, ENDB, FD_FLAGS_IS_MEMFILE, Main::filepath, FileData::fileversion, fix_relpaths_library(), FileData::flags, G, GLOB, BlendThumbnail::height, height, ID_LINK_PLACEHOLDER, Main::id_map, ID_SCR, ID_SCRN, Main::is_read_invalid, ListBase::last, lib_link_all(), BlendFileReadReport::lib_overrides, LIB_TAG_LOCAL, LIB_TAG_NEW, BlendFileReadReport::libraries, link_global(), LISTBASE_FOREACH, LOG_UNDO, BlendFileData::main, FileData::mainlist, MEM_callocN, MEM_mallocN, ntreeUpdateAllNew(), NULL, PIL_check_seconds_timer(), placeholders_ensure_valid(), read_file_thumbnail(), read_global(), read_libblock(), read_libraries(), read_userdef(), BlendThumbnail::rect, FileData::relabase, REND, BlendFileReadReport::reports, FileData::reports, FileData::skip_flags, STRNCPY, TEST, BlendFileData::type, USER, Main::versionfile, BlendThumbnail::width, and width.

Referenced by BLO_read_from_file(), BLO_read_from_memfile(), and BLO_read_from_memory().

◆ blo_read_get_new_globaldata_address()

void* blo_read_get_new_globaldata_address ( struct 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 1611 of file readfile.c.

References FileData::globmap, and oldnewmap_lookup_and_inc().

Referenced by blo_do_versions_290(), and link_global().

◆ blo_readfile_invalidate()

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

◆ blo_split_main()

void blo_split_main ( ListBase mainlist,
struct Main main 
)

◆ do_versions_after_linking_250()

void do_versions_after_linking_250 ( struct Main bmain)

◆ do_versions_after_linking_260()

void do_versions_after_linking_260 ( struct Main bmain)

◆ do_versions_after_linking_270()

void do_versions_after_linking_270 ( struct Main bmain)

◆ do_versions_after_linking_280()

void do_versions_after_linking_280 ( struct FileData fd,
struct Main bmain 
)

Versioning code until next subversion bump goes here.

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

Definition at line 1171 of file versioning_280.c.

References Freestyle::a, blender::compositor::area(), bScreen::areabase, BBONE_HANDLE_ABSOLUTE, BBONE_HANDLE_AUTO, BBONE_HANDLE_RELATIVE, BKE_collection_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_brush_set(), BKE_paint_ensure_from_paintmode(), BKE_paint_toolslots_init_from_main(), BKE_rigidbody_constraints_collection_validate(), BKE_rigidbody_objects_collection_validate(), BKE_workspace_active_screen_get(), BLI_findstring(), BLI_freelistN(), BLI_listbase_count_at_most(), BLI_MEMPOOL_ALLOW_ITER, BLI_mempool_calloc(), BLI_mempool_create(), BLI_snprintf(), BLO_read_assert_message, BRUSH_USE_CONNECTED_ONLY, Main::brushes, CAM_DOF_ENABLED, Scene::camera, camera, Main::cameras, SpaceClip::clip, COLLECTION_HIDE_RENDER, COLLECTION_HIDE_VIEWPORT, Main::collections, copy_v3_v3(), Main::curves, Object::data, DATA_, do_version_area_change_space_to_space_action(), do_version_collection_propagate_lib_to_children(), do_version_fcurve_hide_viewport_fix(), 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, Scene::eevee, ELEM, RenderData::engine, ListBase::first, CameraDOFSettings::flag, Collection::flag, bGPdata::flag, TreeStoreElem::flag, SceneEEVEE::flag, Paint::flags, float(), G_MAIN, Collection::gobject, GP_BRUSH_ICON_PEN, GP_DATA_ANNOTATIONS, GP_LAYER_IS_RULER, ToolSettings::gp_paint, Material::gp_style, MovieClip::gpd, Scene::gpd, SpaceImage::gpd, Brush::gpencil_settings, BrushGpencilSettings::icon_id, bArmature::id, Collection::id, Library::id, TreeStoreElem::id, Scene::id, ID_BR, id_fake_user_set(), ID_MA, IDP_FreeProperty(), ViewLayer::layer_collections, bGPdata::layers, ID::lib, LISTBASE_FOREACH, MA_BM_BLEND, MAIN_VERSION_ATLEAST, Main::materials, MAX_ID_NAME, MEM_callocN, MEM_freeN, Main::meshes, ID::next, TreeStoreElem::nr, ntree, NULL, OB_CAMERA, OB_DUPLI, OB_DUPLI_FLAG_RENDER, OB_DUPLI_FLAG_VIEWPORT, OB_MODE_SCULPT, Main::objects, SpaceOutliner::outlinevis, GpPaint::paint, PAINT_MODE_GPENCIL, PAINT_MODE_SCULPT_GPENCIL, PAINT_MODE_VERTEX_GPENCIL, PAINT_MODE_WEIGHT_GPENCIL, PAINT_SHOW_BRUSH, Main::particles, POSE_RECALC, Scene::r, BezTriple::radius, BPoint::radius, RE_engine_id_BLENDER_EEVEE, Scene::rigidbody_world, Particle::rotation, scene, Main::scenes, Main::screens, SCULPT_TOOL_PAINT, SCULPT_TOOL_POSE, SO_VIEW_LAYER, SPACE_CLIP, SPACE_EMPTY, SPACE_IMAGE, SPACE_OUTLINER, srl(), STREQ, BezTriple::tilt, BPoint::tilt, Scene::toolsettings, SpaceOutliner::treestore, TSE_CLOSED, TSE_LAYER_COLLECTION, Object::type, TreeStoreElem::type, TreeStoreElem::used, BezTriple::vec, BPoint::vec, wmWindowManager::windows, and Main::wm.

Referenced by do_versions_after_linking().

◆ do_versions_after_linking_290()

void do_versions_after_linking_290 ( struct FileData fd,
struct Main bmain 
)

◆ do_versions_after_linking_300()

void do_versions_after_linking_300 ( struct FileData fd,
struct Main bmain 
)

◆ do_versions_after_linking_cycles()

void do_versions_after_linking_cycles ( struct Main bmain)

Definition at line 1363 of file versioning_cycles.c.

References ambient_occlusion_node_relink(), CAM_DOF_ENABLED, CAM_ORTHO, camera, Main::cameras, cycles_properties_from_ID(), cycles_properties_from_view_layer(), cycles_property_boolean(), cycles_property_boolean_set(), cycles_property_float(), cycles_property_int(), cycles_property_int_set(), cycles_visibility_properties_from_ID(), DENOISER_OPENIMAGEDENOISE, DENOISER_OPTIX, displacement_node_insert(), displacement_principled_nodes(), RenderData::engine, ListBase::first, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, Scene::id, if(), image_node_colorspace(), light_emission_unify(), Main::lights, LISTBASE_FOREACH, MAIN_VERSION_ATLEAST, mapping_node_order_flip(), ID::next, node, bNodeTree::nodes, ntree, NTREE_SHADER, 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_SHADOW_CATCHER, Main::objects, Scene::r, RE_engine_id_CYCLES, scene, Main::scenes, square_roughness_node_insert(), STREQ, bNodeTree::type, 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(), vector_curve_node_remap(), and Scene::view_layers.

Referenced by do_versions_after_linking().