Blender
V3.3
|
#include "BLI_alloca.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_brush_types.h"
#include "DNA_cachefile_types.h"
#include "DNA_collection_types.h"
#include "DNA_constraint_types.h"
#include "DNA_curves_types.h"
#include "DNA_fluid_types.h"
#include "DNA_genfile.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_light_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_particle_types.h"
#include "DNA_pointcloud_types.h"
#include "DNA_rigidbody_types.h"
#include "DNA_screen_types.h"
#include "DNA_shader_fx_types.h"
#include "DNA_space_types.h"
#include "DNA_text_types.h"
#include "DNA_tracking_types.h"
#include "DNA_workspace_types.h"
#include "BKE_animsys.h"
#include "BKE_armature.h"
#include "BKE_attribute.h"
#include "BKE_collection.h"
#include "BKE_colortools.h"
#include "BKE_cryptomatte.h"
#include "BKE_curve.h"
#include "BKE_fcurve.h"
#include "BKE_gpencil.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_mesh.h"
#include "BKE_multires.h"
#include "BKE_node.h"
#include "IMB_imbuf.h"
#include "MEM_guardedalloc.h"
#include "RNA_access.h"
#include "SEQ_proxy.h"
#include "SEQ_render.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "SEQ_transform.h"
#include "BLO_readfile.h"
#include "readfile.h"
#include "versioning_common.h"
Go to the source code of this file.
Macros | |
#define | DNA_DEPRECATED_ALLOW |
#define | U (*((const UserDef *)&U)) |
#define | CU_2D (1 << 3) |
#define CU_2D (1 << 3) |
#define DNA_DEPRECATED_ALLOW |
Definition at line 7 of file versioning_290.c.
Repair files from duplicate brushes added to blend files, see: T76738.
Versioning code until next subversion bump goes here.
Definition at line 815 of file versioning_290.c.
References Main::actions, BevelModifierData::affect_type, ARegion::alignment, blender::compositor::area(), Main::armatures, ARRAY_SIZE, Curve::bevel_mode, Curve::bevobj, MirrorModifierData::bisect_threshold, BKE_cryptomatte_matte_id_to_entries(), BKE_curve_nurbs_get(), BKE_curvemapping_add(), BKE_curvemapping_init(), BKE_main_id_repair_duplicate_names_listbase(), BKE_mesh_validate_arrays(), BLI_assert, BLI_findptr(), BLI_freelinkN(), BLI_strncpy(), blo_read_get_new_globaldata_address(), SceneEEVEE::bokeh_denoise_fac, SceneEEVEE::bokeh_neighbor_max, SceneEEVEE::bokeh_overblur, Main::brushes, Editing::cache_flag, CACHEFILE_VELOCITY_UNIT_SECOND, Main::cachefiles, WeightVGProximityModifierData::cmap_curve, CMP_NODE_CRYPTOMATTE_LEGACY, CMP_NODE_OUTPUT_FILE, CMP_NODE_R_LAYERS, CMP_NODE_SETALPHA, CMP_NODE_SETALPHA_MODE_REPLACE_ALPHA, FluidDomainSettings::coba_field, COLLECTION_COLOR_NONE, Main::collections, Collection::color_tag, copy_v3_fl(), copy_v4_v4(), CU_2D, CU_3D, CU_BEV_MODE_OBJECT, CU_BEV_MODE_ROUND, CU_IS_2D, CU_PATH_CLAMP, curve, Main::curves, data, IDProperty::data, DEG2RADF, DNA_struct_elem_find(), DNA_struct_find(), do_versions_291_fcurve_handles_limit(), do_versions_add_region_if_not_found(), do_versions_point_attribute_names(), do_versions_point_attributes(), do_versions_strip_cache_settings_recursive(), FluidModifierData::domain, eBooleanModifierFlag_Object, eBooleanModifierSolver_Fast, Mesh::edata, Mesh::editflag, Scene::eevee, EEVEE_RENDER_PASS_UNUSED_8, ELEM, eModifierType_Bevel, eModifierType_Boolean, eModifierType_Fluid, eModifierType_MeshSequenceCache, eModifierType_Mirror, eModifierType_Nodes, eModifierType_Ocean, eModifierType_WeightVGEdit, eModifierType_WeightVGProximity, View3DOverlay::fade_alpha, FileData::filesdna, SpaceOutliner::filter, SpaceOutliner::filter_state, ListBase::first, BooleanModifierData::flag, SpaceOutliner::flag, SpaceSeq::flag, SpaceImageOverlay::flag, SpaceImage::flag, View3DOverlay::flag, BevelModifierData::flags, FLUID_DOMAIN_FIELD_PHI, FLUID_DOMAIN_TYPE_LIQUID, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, FPS, FluidDomainSettings::fractions_distance, GEO_NODE_MESH_BOOLEAN, GEO_NODE_MESH_PRIMITIVE_GRID, GEO_NODE_OBJECT_INFO, GEO_NODE_TRANSFORM_SPACE_RELATIVE, GP_DATA_CURVE_ADAPTIVE_RESOLUTION, GP_DEFAULT_CURVE_EDIT_CORNER_ANGLE, GP_DEFAULT_CURVE_ERROR, GP_DEFAULT_CURVE_RESOLUTION, Main::gpencils, FluidDomainSettings::grid_scale, FluidDomainSettings::gridlines_range_color, FluidDomainSettings::gridlines_upper_bound, IDPropertyData::group, Scene::id, ID_BR, ID_PAL, IDP_FLAG_OVERRIDABLE_LIBRARY, IDP_GROUP, if(), invert_m4_m4(), CustomData::layers, Mesh::ldata, Main::lights, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, loc_eul_size_to_mat4(), M_PI_2, MAIN_VERSION_ATLEAST, MAIN_VERSION_OLDER, Scene::master_collection, NodeCryptomatte::matte_id, MAX_NAME, CustomData::maxlayer, ME_SYMMETRY_X, ME_SYMMETRY_Y, ME_SYMMETRY_Z, MEM_allocN_len, MEM_callocN, mesh, Main::meshes, MOD_BEVEL_AFFECT_EDGES, MOD_BEVEL_AFFECT_VERTICES, MOD_BEVEL_PROFILE_CUSTOM, MOD_BEVEL_PROFILE_SUPERELLIPSE, MOD_MESHSEQ_INTERPOLATE_VERTICES, MOD_WVG_EDIT_WEIGHTS_NORMALIZE, NodeSetAlpha::mode, SceneEEVEE::motion_blur_depth_scale, SceneEEVEE::motion_blur_max, SceneEEVEE::motion_blur_steps, Main::movieclips, FCurve::next, ID::next, node, bNodeTree::nodes, Scene::nodetree, Main::nodetrees, ntree, NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_SHADER, NULL, SpaceSpreadsheet::object_eval_state, Main::objects, SpaceProperties::outliner_sync, SpaceImage::overlay, View3D::overlay, panels_remove_x_closed_flag_recursive(), PART_FLUID_BUBBLE, PART_FLUID_FLIP, PART_FLUID_FOAM, PART_FLUID_SPRAY, PART_PHYS_NO, Main::particles, Mesh::pdata, Main::pointclouds, BevelModifierData::profile_type, NodesModifierSettings::properties, PROPERTIES_SYNC_AUTO, Scene::r, RE_PASSNAME_VOLUME_LIGHT, MovieTrackingSettings::refine_camera_intrinsics, REFINE_FOCAL_LENGTH, REFINE_PRINCIPAL_POINT, REFINE_RADIAL_DISTORTION, SpaceSeq::render_size, OceanModifierData::resolution, RGN_ALIGN_BOTTOM, RGN_ALIGN_TOP, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, Scene::rigidbody_world, NodeImageMultiFileSocket::save_as_render, scene, Main::scenes, Main::screens, SEQ_CACHE_STORE_FINAL_OUT, SEQ_CACHE_STORE_RAW, SEQ_editing_get(), SEQ_RENDER_SIZE_FULL, SEQ_RENDER_SIZE_PROXY_100, SEQ_RENDER_SIZE_PROXY_25, SEQ_RENDER_SIZE_PROXY_50, SEQ_RENDER_SIZE_PROXY_75, SEQ_SHOW_OVERLAY, SEQ_TIMELINE_SHOW_STRIP_DURATION, SEQ_TIMELINE_SHOW_STRIP_NAME, SEQ_TIMELINE_SHOW_STRIP_SOURCE, SEQ_tool_settings_init(), SEQ_USE_PROXIES, Editing::seqbase, ToolSettings::sequencer_tool_settings, SET_FLAG_FROM_TEST, NodesModifierData::settings, MovieTracking::settings, SH_NODE_TEX_SKY, OceanModifierData::sharpen_peak_jonswap, SpaceOutliner::show_restrict_flags, SI_FLAG_UNUSED_20, SI_OVERLAY_SHOW_OVERLAYS, RenderData::simplify_volumes, SO_FILTER_OB_HIDDEN, SO_FILTER_OB_STATE_INVERSE, SO_FILTER_OB_VISIBLE, SO_MODE_COLUMN, SO_RESTRICT_RENDER, BooleanModifierData::solver, SPACE_IMAGE, SPACE_NODE, SPACE_OUTLINER, SPACE_PROPERTIES, SPACE_SEQ, SPACE_SPREADSHEET, SPACE_VIEW3D, SPREADSHEET_OBJECT_EVAL_STATE_EVALUATED, STREQ, STREQLEN, STRNCPY, RigidBodyWorld::substeps_per_frame, Mesh::symmetry, tex, Scene::toolsettings, CustomData::totlayer, SpaceNode::treepath, FluidDomainSettings::type, IDProperty::type, bNodeTree::type, UI_PANEL_DATA_EXPAND_ROOT, UNUSED_VARS, USER_HEADER_BOTTOM, SpaceImage::uv_opacity, V3D_OVERLAY_FADE_INACTIVE, Mesh::vdata, FluidDomainSettings::vector_scale_with_magnitude, MeshSeqCacheModifierData::velocity_scale, version_node_join_geometry_for_multi_input_socket(), version_node_socket_name(), Main::versionfile, VIEW_LAYER_CRYPTOMATTE_ACCURATE, Scene::view_layers, OceanModifierData::viewport_resolution, FluidDomainSettings::viscosity_value, SceneEEVEE::volumetric_shadow_samples, OceanModifierData::wave_alignment, which_libbase(), wmWindow::winid, View3DOverlay::wireframe_opacity, Main::wm, Main::workspaces, and zero_v3().
Definition at line 97 of file versioning_290.c.
References StripProxy::build_size_flags, Sequence::flag, IMB_PROXY_NONE, NULL, Strip::proxy, SEQ_USE_PROXY, and Sequence::strip.
Referenced by seq_convert_transform_crop(), and seq_convert_transform_crop_2().
Definition at line 743 of file versioning_290.c.
References FCurve::bezt, BEZT_IPO_BEZ, fabsf, madd_v2_v2v2fl(), sub_v2_v2v2(), v1, v2, and BezTriple::vec.
Referenced by blo_do_versions_290().
Make sure Emission Alpha fcurve and drivers is properly mapped after the Emission Strength got introduced.
Effectively we are replacing the (animation of) node socket input 18 with 19. Emission Strength is the new socket input 18, pushing Emission Alpha to input 19.
To play safe we move all the inputs beyond 18 to their rightful new place. In case users are doing unexpected things with not-really supported keyframeable channels.
Versioning code until next subversion bump goes here.
Definition at line 415 of file versioning_290.c.
References BKE_collection_cycles_fix(), BKE_gpencil_frame_duplicate(), BKE_pose_rebuild(), BLI_addhead(), BLI_findstring(), Main::brushes, Main::collections, Scene::ed, eGpencilModifierType_Array, eGpencilModifierType_Color, eGpencilModifierType_Hook, eGpencilModifierType_Lattice, eGpencilModifierType_Mirror, eGpencilModifierType_Multiply, eGpencilModifierType_Noise, eGpencilModifierType_Offset, eGpencilModifierType_Opacity, eGpencilModifierType_Simplify, eGpencilModifierType_Smooth, eGpencilModifierType_Subdiv, eGpencilModifierType_Texture, eGpencilModifierType_Thick, eModifierType_Multires, ListBase::first, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, bGPDframe::framenum, GEO_NODE_MESH_PRIMITIVE_GRID, get_sequencer_render_size(), id_fake_user_set(), bGPdata::layers, LISTBASE_FOREACH, MAIN_VERSION_ATLEAST, NoiseGpencilModifierData::material, SubdivGpencilModifierData::material, ThickGpencilModifierData::material, ColorGpencilModifierData::material, OpacityGpencilModifierData::material, ArrayGpencilModifierData::material, LatticeGpencilModifierData::material, MirrorGpencilModifierData::material, HookGpencilModifierData::material, SimplifyGpencilModifierData::material, OffsetGpencilModifierData::material, SmoothGpencilModifierData::material, MultiplyGpencilModifierData::material, TextureGpencilModifierData::material, Main::materials, multires_do_versions_simple_to_catmull_clark(), ModifierData::next, ntree, NTREE_GEOMETRY, NTREE_SHADER, NULL, OB_ARMATURE, OB_GPENCIL, OB_MODE_SCULPT, Main::objects, Scene::r, scene, Main::scenes, seq_convert_transform_crop_lb(), seq_convert_transform_crop_lb_2(), seq_update_meta_disp_range(), Editing::seqbase, RenderData::sfra, SH_NODE_BSDF_PRINCIPLED, Main::texts, ModifierData::type, bNodeTree::type, version_node_socket_duplicate(), and version_node_socket_index_animdata().
|
static |
Definition at line 725 of file versioning_290.c.
References CD_PROP_FLOAT, CD_PROP_FLOAT3, CustomData::layers, CustomDataLayer::name, STREQ, STRNCPY, CustomData::totlayer, and CustomDataLayer::type.
Referenced by blo_do_versions_290().
|
static |
Definition at line 704 of file versioning_290.c.
References CD_PROP_FLOAT, CD_PROP_FLOAT3, CustomData::layers, CustomDataLayer::name, STRNCPY, CustomData::totlayer, and CustomDataLayer::type.
Referenced by blo_do_versions_290().
Definition at line 787 of file versioning_290.c.
References LISTBASE_FOREACH, and SEQ_TYPE_META.
Referenced by blo_do_versions_290().
|
static |
Definition at line 74 of file versioning_290.c.
References blender::compositor::area(), ListBase::first, LISTBASE_FOREACH, SpaceSeq::mainb, SpaceSeq::render_size, Main::screens, SEQ_DRAW_IMG_IMBUF, and SPACE_SEQ.
Referenced by do_versions_after_linking_290().
Definition at line 689 of file versioning_290.c.
References Panel::children, Panel::flag, LISTBASE_FOREACH, PNL_CLOSED, PNL_UNUSED_1, and SET_FLAG_FROM_TEST.
Referenced by blo_do_versions_290().
|
static |
Definition at line 107 of file versioning_290.c.
References AnimData::action, Scene::adt, FCurve::bezt, BKE_fcurve_find(), BKE_fcurve_free(), BKE_fcurve_is_empty(), BLI_remlink(), bAction::curves, Sequence::flag, NULL, scene, FCurve::totvert, and BezTriple::vec.
Referenced by seq_convert_transform_crop().
|
static |
Definition at line 264 of file versioning_290.c.
References AnimData::action, Scene::adt, FCurve::bezt, BKE_fcurve_find(), BKE_fcurve_is_empty(), bAction::curves, NULL, scene, FCurve::totvert, and BezTriple::vec.
Referenced by seq_convert_transform_crop_2().
|
static |
Definition at line 141 of file versioning_290.c.
References BLI_sprintfN(), BLI_str_escape(), Freestyle::c, can_use_proxy(), Strip::crop, Sequence::flag, float(), MAX2, MEM_callocN, MEM_freeN, Sequence::name, NULL, StripElem::orig_height, StripElem::orig_width, Scene::r, scene, seq_convert_transform_animation(), SEQ_rendersize_to_proxysize(), SEQ_rendersize_to_scale_factor(), Sequence::strip, Strip::stripdata, t, Strip::transform, RenderData::xsch, and RenderData::ysch.
Referenced by seq_convert_transform_crop_lb().
|
static |
Definition at line 284 of file versioning_290.c.
References BLI_sprintfN(), BLI_str_escape(), Freestyle::c, can_use_proxy(), Strip::crop, MEM_freeN, MIN2, Sequence::name, NULL, StripElem::orig_height, StripElem::orig_width, Scene::r, scene, seq_convert_transform_animation_2(), SEQ_rendersize_to_proxysize(), SEQ_rendersize_to_scale_factor(), Sequence::strip, Strip::stripdata, t, Strip::transform, RenderData::xsch, and RenderData::ysch.
Referenced by seq_convert_transform_crop_lb_2().
|
static |
Definition at line 249 of file versioning_290.c.
References LISTBASE_FOREACH, scene, seq_convert_transform_crop(), SEQ_TYPE_META, and SEQ_TYPE_SOUND_RAM.
Referenced by do_versions_after_linking_290().
|
static |
Definition at line 335 of file versioning_290.c.
References LISTBASE_FOREACH, scene, seq_convert_transform_crop_2(), SEQ_TYPE_META, and SEQ_TYPE_SOUND_RAM.
Referenced by do_versions_after_linking_290().
Definition at line 350 of file versioning_290.c.
References LISTBASE_FOREACH, LISTBASE_FOREACH_BACKWARD, max_ii(), Editing::metastack, min_ii(), NULL, MetaStack::parseq, scene, SEQ_editing_get(), SEQ_meta_stack_active_get(), SEQ_seqbase_active_set(), SEQ_time_left_handle_frame_get(), SEQ_time_left_handle_frame_set(), SEQ_time_right_handle_frame_get(), SEQ_time_right_handle_frame_set(), SEQ_transform_fix_single_image_seq_offsets(), and Sequence::seqbase.
Referenced by do_versions_after_linking_290().
Definition at line 797 of file versioning_290.c.
References bNodeSocket::flag, GEO_NODE_JOIN_GEOMETRY, bNodeSocket::limit, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, bNodeSocket::next, node, nodeRemoveSocket(), bNodeTree::nodes, ntree, and SOCK_MULTI_INPUT.
Referenced by blo_do_versions_290().
|
static |
Definition at line 384 of file versioning_290.c.
References BLI_assert, bNodeSocket::default_value, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MEM_dupallocN, MEM_freeN, node, nodeAddLink(), nodeFindSocket(), bNodeTree::nodes, ntree, SOCK_IN, and STREQ.
Referenced by do_versions_after_linking_290().