Blender  V3.3
Functions
BKE_ipo.h File Reference

Go to the source code of this file.

Functions

void do_versions_ipos_to_animato (struct Main *main)
 

Function Documentation

◆ do_versions_ipos_to_animato()

void do_versions_ipos_to_animato ( struct Main main)

Called from do_versions() in readfile.c to convert the old 'IPO/adrcode' system to the new 'Animato/RNA' system.

The basic method used here, is to loop over data-blocks which have IPO-data, and add those IPO's to new AnimData blocks as Actions. Action/NLA data only works well for Objects, so these only need to be checked for there.

Data that has been converted should be freed immediately, which means that it is immediately clear which data-blocks have yet to be converted, and also prevent freeing errors when we exit.

Note
Currently done after all file reading.

Definition at line 2082 of file ipo.c.

References AnimData::action, action_to_animato(), action_to_animdata(), Main::actions, BKE_action_add(), BKE_animdata_ensure_id(), BKE_animdata_from_id(), BKE_fcurves_free(), BLI_freelinkN(), Ipo::blocktype, Main::cameras, bPose::chanbase, CLOG_ERROR, CLOG_WARN, bPoseChannel::constraints, Object::constraints, Ipo::curve, Main::curves, bAction::curves, Scene::ed, ListBase::first, ID::flag, G, G_DEBUG, bAction::groups, id, Camera::id, Curve::id, Ipo::id, Key::id, Light::id, Material::id, Object::id, Tex::id, World::id, ID_OB, id_us_min(), bAction::idroot, Main::ipo, bConstraintChannel::ipo, ipo_to_animato(), ipo_to_animdata(), LIB_FAKEUSER, Main::lights, LOG, Main::materials, bConstraintChannel::name, bPoseChannel::name, bConstraint::name, ID::name, bPoseChannel::next, bConstraintChannel::next, bConstraint::next, ID::next, nlastrips_to_animdata(), NULL, Main::objects, Object::pose, scene, Main::scenes, seq_convert_callback(), SEQ_for_each_callback(), Editing::seqbase, Editing::seqbasep, Main::shapekeys, Main::textures, ID::us, Main::versionfile, and Main::worlds.

Referenced by setup_app_data().