Blender V4.3
versioning_legacy.cc File Reference
#include <algorithm>
#include <climits>
#include <unistd.h>
#include "DNA_armature_types.h"
#include "DNA_camera_types.h"
#include "DNA_collection_types.h"
#include "DNA_constraint_types.h"
#include "DNA_effect_types.h"
#include "DNA_key_types.h"
#include "DNA_lattice_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_nla_types.h"
#include "DNA_node_types.h"
#include "DNA_object_fluidsim_types.h"
#include "DNA_object_force_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "DNA_sdna_types.h"
#include "DNA_sequence_types.h"
#include "DNA_sound_types.h"
#include "DNA_space_types.h"
#include "DNA_vfont_types.h"
#include "DNA_view3d_types.h"
#include "DNA_world_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "BLI_time.h"
#include "BLI_utildefines.h"
#include "BKE_action.hh"
#include "BKE_armature.hh"
#include "BKE_constraint.h"
#include "BKE_customdata.hh"
#include "BKE_deform.hh"
#include "BKE_fcurve.hh"
#include "BKE_lattice.hh"
#include "BKE_main.hh"
#include "BKE_mesh.hh"
#include "BKE_mesh_legacy_convert.hh"
#include "BKE_modifier.hh"
#include "BKE_node.hh"
#include "BKE_object.hh"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
#include "SEQ_iterator.hh"
#include "SEQ_sequencer.hh"
#include "BLO_readfile.hh"
#include "readfile.hh"
#include <cerrno>

Go to the source code of this file.

Macros

#define DNA_DEPRECATED_ALLOW
 
#define U   (*((const UserDef *)&U))
 

Functions

static void vcol_to_fcol (Mesh *mesh)
 
static void do_version_bone_head_tail_237 (Bone *bone)
 
static void bone_version_238 (ListBase *lb)
 
static void bone_version_239 (ListBase *lb)
 
static void ntree_version_241 (bNodeTree *ntree)
 
static void ntree_version_242 (bNodeTree *ntree)
 
static void ntree_version_245 (FileData *fd, Library *, bNodeTree *ntree)
 
static void idproperties_fix_groups_lengths_recurse (IDProperty *prop)
 
static void idproperties_fix_group_lengths (ListBase idlist)
 
static void customdata_version_242 (Mesh *mesh)
 
static void customdata_version_243 (Mesh *mesh)
 
static void do_version_ntree_242_2 (bNodeTree *ntree)
 
static void do_version_free_effect_245 (Effect *eff)
 
static void do_version_free_effects_245 (ListBase *lb)
 
static void do_version_constraints_245 (ListBase *lb)
 
void blo_do_version_old_trackto_to_constraints (Object *ob)
 
static bool seq_set_alpha_mode_cb (Sequence *seq, void *)
 
static bool seq_set_blend_mode_cb (Sequence *seq, void *)
 
void blo_do_versions_pre250 (FileData *fd, Library *lib, Main *bmain)
 

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 21 of file versioning_legacy.cc.

◆ U

#define U   (*((const UserDef *)&U))

Definition at line 81 of file versioning_legacy.cc.

Function Documentation

◆ 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 448 of file versioning_legacy.cc.

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

Referenced by blo_do_versions_250(), and blo_do_versions_pre250().

◆ blo_do_versions_pre250()

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

Definition at line 482 of file versioning_legacy.cc.

References MCol::a, Main::actions, ACTSTRIP_USESTRIDE, Image::alpha_mode, World::aodist, World::aoenergy, ARM_DEF_VGROUP, Main::armatures, ARRAY_SIZE, Image::aspx, Image::aspy, bSound::attenuation, Scene::audio, AUDIO_SCRUB, b, RenderData::bake_flag, RenderData::bake_margin, RenderData::bake_margin_type, RenderData::bake_mode, 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(), BLI_time_now_seconds(), blo_do_version_old_trackto_to_constraints(), blo_do_versions_newlibadr(), blo_do_versions_oldnewmap_insert(), 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, col, Main::collections, Object::constinv, CONSTRAINT_IK_POS, 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, Object::data, CurveModifierData::defaxis, SoftBody::defgoal, ArmatureModifierData::deformflag, bArmature::deformflag, PartEff::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, 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, 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, bKinematicConstraint::flag, bRotateLikeConstraint::flag, Camera::flag, Curve::flag, FluidsimSettings::flag, Image::flag, ImageUser::flag, Lattice::flag, MirrorModifierData::flag, PartEff::flag, ParticleEditSettings::flag, ParticleSystem::flag, Tex::flag, View3D::flag, bSound::flags, SubsurfModifierData::flags, FO_BUILTIN_NAME, Main::fonts, PartEff::force, PartDeflect::forcefield, RenderData::framapto, RenderData::framelen, ImageUser::frames, 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, bArmature::id, bNodeTree::id, bSound::id, Camera::id, Curve::id, Image::id, Key::id, Lattice::id, Library::id, Material::id, Object::id, Scene::id, Tex::id, VFont::id, World::id, ID_IS_LINKED, ID_RECALC_ALL, ID_RECALC_PSYS_REDO, ID_TAG_NEED_LINK, 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, SoftBody::inpush, SoftBody::inspring, Object::instance_faces_scale, FluidsimSettings::ipo, Main::ipo, Main::is_locked_for_linking, Tex::iuser, SoftBody::keys, FluidsimSettings::lastgoodframe, Main::lattices, length(), Camera::lens, SubsurfModifierData::levels, SpaceText::lheight, ID::lib, lib, FileData::libmap, Main::libraries, PartEff::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(), mesh, 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, bSound::newpackedfile, ID::next, ModifierData::next, SpaceAction::next, SpaceLink::next, Material::nodetree, Scene::nodetree, Main::nodetrees, ImagePaintSettings::normal_angle, PartEff::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, ArmatureModifierData::object, Main::objects, ImageUser::offset, PartEff::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_BAKE_ADJACENT_FACES, R_BAKE_CLEAR, R_PASSEPARTOUT, BezTriple::radius, BPoint::radius, PartEff::randfac, PartEff::randlife, ID::recalc, ParticleSystem::recalc, Key::refkey, SubsurfModifierData::renderLevels, bTrackToConstraint::reserved1, Curve::resolu, Tex::rfac, ROTLIKE_X, ROTLIKE_Y, ROTLIKE_Z, SACTCONT_DOPESHEET, SACTSNAP_FRAME, Object::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, PartDeflect::seed, PartEff::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, Main::shapekeys, SoftBody::shearstiff, RenderData::simplify_particles, RenderData::simplify_subsurf, ParticleBrushData::size, SNPRINTF, Object::soft, Object::softflag, Main::sounds, Image::source, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, SPACE_PROPERTIES, SPACE_TEXT, SPACE_VIEW3D, SpaceLink::spacetype, PartEff::speedtex, PartEff::sta, PartEff::staticstep, ParticleBrushData::step, PointCache::step, ParticleBrushData::strength, STREQ, STREQLEN, STRNCPY, PartEff::stype, SubsurfModifierData::subdivType, Main::subversionfile, SpaceText::tabnumber, ID::tag, 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_legacy, PartEff::totkey, SoftBody::totkey, PartEff::totpart, ParticleSystem::totpart, ParticleEditSettings::totrekey, Object::trackflag, Object::transflag, Camera::type, FluidsimSettings::type, Image::type, ModifierData::type, Object::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, 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().

◆ bone_version_238()

static void bone_version_238 ( ListBase * lb)
static

Definition at line 126 of file versioning_legacy.cc.

References bone_version_238(), and LISTBASE_FOREACH.

Referenced by blo_do_versions_pre250(), and bone_version_238().

◆ bone_version_239()

static void bone_version_239 ( ListBase * lb)
static

Definition at line 142 of file versioning_legacy.cc.

References bone_version_239(), and LISTBASE_FOREACH.

Referenced by blo_do_versions_pre250(), and bone_version_239().

◆ customdata_version_242()

static void customdata_version_242 ( Mesh * mesh)
static

◆ customdata_version_243()

static void customdata_version_243 ( Mesh * mesh)
static

Definition at line 352 of file versioning_legacy.cc.

References CustomDataLayer::active_rnd.

Referenced by blo_do_versions_pre250().

◆ do_version_bone_head_tail_237()

◆ do_version_constraints_245()

◆ do_version_free_effect_245()

static void do_version_free_effect_245 ( Effect * eff)
static

Definition at line 393 of file versioning_legacy.cc.

References EFF_PARTICLE, PartEff::keys, MEM_freeN(), and Effect::type.

Referenced by do_version_free_effects_245().

◆ do_version_free_effects_245()

static void do_version_free_effects_245 ( ListBase * lb)
static

Definition at line 406 of file versioning_legacy.cc.

References BLI_pophead(), and do_version_free_effect_245().

Referenced by blo_do_versions_pre250().

◆ do_version_ntree_242_2()

static void do_version_ntree_242_2 ( bNodeTree * ntree)
static

◆ idproperties_fix_group_lengths()

static void idproperties_fix_group_lengths ( ListBase idlist)
static

◆ idproperties_fix_groups_lengths_recurse()

◆ ntree_version_241()

◆ ntree_version_242()

static void ntree_version_242 ( bNodeTree * ntree)
static

◆ ntree_version_245()

◆ seq_set_alpha_mode_cb()

static bool seq_set_alpha_mode_cb ( Sequence * seq,
void *  )
static

◆ seq_set_blend_mode_cb()

static bool seq_set_blend_mode_cb ( Sequence * seq,
void *  )
static

Definition at line 473 of file versioning_legacy.cc.

References Sequence::blend_mode, and Sequence::blend_opacity.

Referenced by blo_do_versions_pre250().

◆ vcol_to_fcol()

static void vcol_to_fcol ( Mesh * mesh)
static

Definition at line 83 of file versioning_legacy.cc.

References MEM_freeN(), MEM_malloc_arrayN, MFace::v1, MFace::v2, MFace::v3, and MFace::v4.

Referenced by blo_do_versions_pre250().