Blender
V3.3
|
Go to the source code of this file.
Functions | |
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.
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().