Blender  V2.93
Classes | Macros | Typedefs | Enumerations | Functions
readfile.h File Reference
#include "DNA_sdna_types.h"
#include "DNA_space_types.h"
#include "DNA_windowmanager_types.h"
#include "zlib.h"

Go to the source code of this file.

Classes

struct  FileData
 

Macros

#define SIZEOFBLENDERHEADER   12
 

Typedefs

typedef struct IDNameLib_Map IDNameLib_Map
 
typedef ssize_t() FileDataReadFn(struct FileData *filedata, void *buffer, size_t size, bool *r_is_memchunk_identical)
 
typedef off64_t() FileDataSeekFn(struct FileData *filedata, off64_t offset, int whence)
 
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_NOT_MY_BUFFER = 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 ReportList *reports)
 
FileDatablo_filedata_from_memory (const void *mem, int memsize, struct ReportList *reports)
 
FileDatablo_filedata_from_memfile (struct MemFile *memfile, const struct BlendFileReadParams *params, struct ReportList *reports)
 
void blo_clear_proxy_pointers_from_lib (struct Main *oldmain)
 
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, const int versionfile, const int subversionfile)
 
void blo_do_versions_oldnewmap_insert (struct OldNewMap *onm, const void *oldaddr, void *newaddr, int nr)
 
void * blo_do_versions_newlibadr (struct FileData *fd, const void *lib, const void *adr)
 
void * blo_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_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 Main *bmain, struct ReportList *reports)
 
void do_versions_after_linking_290 (struct Main *bmain, struct ReportList *reports)
 
void do_versions_after_linking_cycles (struct Main *bmain)
 
void * blo_read_get_new_globaldata_address (struct FileData *fd, const void *adr)
 

Macro Definition Documentation

◆ SIZEOFBLENDERHEADER

#define SIZEOFBLENDERHEADER   12

Definition at line 155 of file readfile.h.

Typedef Documentation

◆ FileData

typedef struct FileData FileData

◆ FileDataReadFn

typedef ssize_t() FileDataReadFn(struct FileData *filedata, void *buffer, size_t size, bool *r_is_memchunk_identical)

Definition at line 67 of file readfile.h.

◆ FileDataSeekFn

typedef off64_t() FileDataSeekFn(struct FileData *filedata, off64_t offset, int whence)

Definition at line 71 of file readfile.h.

◆ 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_NOT_MY_BUFFER 
FD_FLAGS_NOT_MY_LIBMAP 

Definition at line 48 of file readfile.h.

Function Documentation

◆ blo_add_library_pointer_map()

void blo_add_library_pointer_map ( ListBase old_mainlist,
FileData fd 
)

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

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

void blo_clear_proxy_pointers_from_lib ( struct Main oldmain)

Definition at line 1887 of file readfile.c.

References LISTBASE_FOREACH, NULL, and Main::objects.

Referenced by BLO_read_from_memfile().

◆ blo_do_version_old_trackto_to_constraints()

void blo_do_version_old_trackto_to_constraints ( struct Object ob)

◆ blo_do_versions_250()

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

Definition at line 643 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_main_blendfile_path(), BKE_modifier_new(), BKE_modifiers_findby_type(), BKE_scopes_new(), BKE_sound_new_file(), BKE_spacetype_from_id(), BKE_texture_mtex_default(), BLI_addtail(), BLI_freelinkN(), BLI_insertlinkbefore(), BLI_join_dirfile(), BLI_path_abs(), BLI_snprintf(), 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, 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, StripProxy::dir, Strip::dir, 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, FCURVE_AUTO_HANDLES, Mesh::fdata, RenderData::ffcodecdata, FILE_MAX, FILE_MAXDIR, ListBase::first, FCurve::flag, Brush::flag, Camera::flag, SolidifyModifierData::flag, FluidsimSettings::flag, PartDeflect::flag, Object::flag, ParticleSettings::flag, PhysicsSettings::flag, Sequence::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, 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, StripElem::name, bNodeSocket::name, ID::name, bSound::newpackedfile, 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, NTREE_UPDATE, NTREE_UPDATE_LINKS, NULL, Curve::nurb, OB_ARMATURE, OB_CAMERA, OB_CURVE, 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, Sequence::pitch, Brush::plane_trim, Nurb::pntsu, Lattice::pntsu, Nurb::pntsv, Lattice::pntsv, Lattice::pntsw, Object::pose, CurveMapping::preset, Strip::proxy, 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, Sequence::sat, 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_ALL_BEGIN, SEQ_ALL_END, SEQ_DRAW_IMG_IMBUF, SEQ_TYPE_SOUND_HD, SEQ_USE_PROXY_CUSTOM_DIR, SEQ_USE_PROXY_CUSTOM_FILE, SEQ_VIEW_SEQUENCE, 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, Sequence::sound, 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(), str, ParticleBrushData::strength, Sequence::strip, Strip::stripdata, 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, Sequence::type, Scene::unit, unit_axis_angle(), unit_qt(), Brush::unprojected_radius, bNodeTree::update, 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, Sequence::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_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 ( SDNA sdna,
const int  versionfile,
const 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 42 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 2529 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 
)

Definition at line 1840 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 380 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 487 of file versioning_legacy.c.

References Freestyle::a, MCol::a, ParticleSettings::acc, bActionStrip::actend, Main::actions, bActionStrip::actstart, ACTSTRIP_USESTRIDE, Image::alpha_mode, Sequence::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, RenderData::bake_filter, RenderData::bake_flag, 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(), Sequence::blend_mode, Sequence::blend_opacity, 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_nbr, 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, Object::defbase, 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, SoftBody::efra, ELEM, 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, SoftBody::interval, Main::ipo, FluidsimSettings::ipo, Tex::iuser, SoftBody::keys, LA_FALLOFF_INVLINEAR, FluidsimSettings::lastgoodframe, Main::lattices, bArmature::layer, length(), Camera::lens, SubsurfModifierData::levels, SpaceText::lheight, 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_CURVE, 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, 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_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_child_nbr, 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_ALL_BEGIN, SEQ_ALL_END, SEQ_ALPHA_STRAIGHT, SEQ_TYPE_IMAGE, SEQ_TYPE_MOVIE, ImageUser::sfra, SoftBody::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(), PartEff::sta, ParticleSettings::sta, bActionStrip::start, PartEff::staticstep, PointCache::step, ParticleBrushData::step, ParticleBrushData::strength, STREQ, STREQLEN, PartEff::stype, SubsurfModifierData::subdivType, Main::subversionfile, SpaceText::tabnumber, 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, Sequence::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)

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 343 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(), 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::experimental, UserDef::fcu_inactive_alpha, FCURVE_SMOOTH_CONT_ACCEL, FILE_DEFAULTDISPLAY, 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(), 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, 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, ULANGUAGE_ENGLISH, UserDef::undosteps, UserDef_Experimental::use_asset_browser, USER_ADD_EDITMODE, USER_ADD_VIEWALIGNED, USER_DEVELOPER_UI, USER_DOTRANSLATE_DEPRECATED, USER_DUP_ARM, USER_DUP_GPENCIL, USER_DUP_LIGHTPROBE, USER_FLAG_NUMINPUT_ADVANCED, USER_FLAG_UNUSED_2, USER_FLAG_UNUSED_3, USER_FLAG_UNUSED_4, 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_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_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 
)

◆ blo_filedata_free()

void blo_filedata_free ( FileData fd)

◆ blo_filedata_from_file()

FileData* blo_filedata_from_file ( const char *  filepath,
struct ReportList reports 
)

◆ blo_filedata_from_memfile()

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

◆ blo_filedata_from_memory()

FileData* blo_filedata_from_memory ( const void *  mem,
int  memsize,
struct ReportList 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 
)

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

◆ blo_read_get_new_globaldata_address()

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

Definition at line 1818 of file readfile.c.

References FileData::globmap, and oldnewmap_lookup_and_inc().

Referenced by blo_do_versions_290(), and link_global().

◆ 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 Main bmain,
struct ReportList reports 
)

◆ do_versions_after_linking_290()

void do_versions_after_linking_290 ( struct Main bmain,
struct ReportList reports 
)

◆ do_versions_after_linking_cycles()

void do_versions_after_linking_cycles ( struct Main bmain)

Definition at line 1368 of file versioning_cycles.c.

References ambient_occlusion_node_relink(), CAM_DOF_ENABLED, CAM_ORTHO, 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(), DENOISER_NLM, 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, 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().