|
Blender V4.5
|
#include "DNA_anim_types.h"#include "DNA_brush_types.h"#include "DNA_constraint_types.h"#include "DNA_defaults.h"#include "DNA_genfile.h"#include "DNA_light_types.h"#include "DNA_lightprobe_types.h"#include "DNA_material_types.h"#include "DNA_sequence_types.h"#include "DNA_windowmanager_types.h"#include "DNA_world_types.h"#include "BLI_listbase.h"#include "BLI_math_vector.h"#include "BLI_string.h"#include "BKE_anim_data.hh"#include "BKE_colortools.hh"#include "BKE_customdata.hh"#include "BKE_grease_pencil.hh"#include "BKE_main.hh"#include "BKE_material.hh"#include "BKE_node.hh"#include "BKE_node_legacy_types.hh"#include "MOV_enums.hh"#include "SEQ_iterator.hh"#include "SEQ_sequencer.hh"#include "BLT_translation.hh"#include "BLO_read_write.hh"#include "readfile.hh"#include "versioning_common.hh"Go to the source code of this file.
Classes | |
| struct | AlphaSource |
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
| #define | DNA_GENFILE_VERSIONING_MACROS |
| #define DNA_DEPRECATED_ALLOW |
Definition at line 9 of file versioning_420.cc.
| #define DNA_GENFILE_VERSIONING_MACROS |
Definition at line 12 of file versioning_420.cc.
|
static |
Definition at line 644 of file versioning_420.cc.
References add_image_editor_asset_shelf(), do_versions_add_region_if_not_found(), LISTBASE_FOREACH, MEM_callocN(), RGN_ALIGN_BOTTOM, RGN_ALIGN_HIDE_WITH_PREV, RGN_FLAG_HIDDEN, RGN_TYPE_ASSET_SHELF, RGN_TYPE_ASSET_SHELF_HEADER, RGN_TYPE_TOOL_HEADER, Main::screens, and SPACE_IMAGE.
Referenced by add_image_editor_asset_shelf(), and blo_do_versions_420().
Definition at line 770 of file versioning_420.cc.
References add_image_editor_asset_shelf(), all_scenes_use(), BLI_assert, BLI_findlink(), BLI_strdup(), blo_do_versions_420(), BLO_reportf_wrap(), BRUSH_CURVES_SCULPT_FLAG_INTERPOLATE_RADIUS, BRUSH_LOCK_SIZE, Main::brushes, SpaceSeq::cache_overlay, NodeGeometryAttributeCapture::capture_items, NodeGeometryAttributeCapture::capture_items_num, ceil, CMP_NODE_BLUR, CMP_NODE_CURVE_RGB, CMP_NODE_DENOISE, CMP_NODE_DENOISE_PREFILTER_ACCURATE, CONSTRAINT_TYPE_ROTLIMIT, convert_grease_pencil_stroke_hardness_to_softness(), copy_v3_fl(), CurveMapping::cur, CURVE_TONE_FILMLIKE, NodeGeometryAttributeCaptureItem::data_type, NodeGeometryAttributeCapture::data_type_legacy, DEG2RADF, DNA_struct_default_get, Scene::eevee, ELEM, SceneEEVEE::fast_gi_ray_count, SceneEEVEE::fast_gi_step_count, SceneEEVEE::fast_gi_thickness_far, SceneEEVEE::fast_gi_thickness_near, FileData::filesdna, NodeBlurData::filtertype, SequencerCacheOverlay::flag, SpaceNodeOverlay::flag, View3D::flag2, FN_NODE_COMBINE_TRANSFORM, FN_NODE_SEPARATE_TRANSFORM, blender::seq::for_each_callback(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, GEO_NODE_CAPTURE_ATTRIBUTE, Main::grease_pencils, NodeGeometryAttributeCaptureItem::identifier, image_settings_avi_to_ffmpeg(), bNode::inputs, LA_LOCAL, LA_SHAD_RES_ABSOLUTE, LA_SHADOW, LA_SPOT, LA_SUN, LA_USE_SOFT_FALLOFF, blender::bke::greasepencil::LEGACY_RADIUS_CONVERSION_FACTOR, Main::lightprobes, Main::lights, LIMIT_ROT_LEGACY_BEHAVIOR, LISTBASE_FOREACH, M_SQRT2, MA_BL_SS_REFRACTION, MA_BL_THICKNESS_FROM_SHADOW, MA_BL_TRANSLUCENCY, MA_BL_TRANSPARENT_SHADOW, MA_BM_BLEND, MA_BS_SOLID, MA_SURFACE_METHOD_DEFERRED, MA_SURFACE_METHOD_FORWARD, MA_THICKNESS_SLAB, MAIN_VERSION_FILE_ATLEAST, Main::materials, max_ii(), max_iii(), MEM_calloc_arrayN(), MEM_callocN(), Light::mode, Main::movieclips, NodeGeometryAttributeCaptureItem::name, NodeGeometryAttributeCapture::next_identifier, Main::nodetrees, NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_UNUSED_2, Main::objects, SpaceNode::overlay, NodeBlurData::percentx, NodeBlurData::percenty, NodeDenoise::prefilter, R_FILTER_FAST_GAUSS, R_MBLUR, RE_engine_id_BLENDER_EEVEE, RE_engine_id_BLENDER_WORKBENCH, RE_engine_id_CYCLES, FileData::reports, RPT_, RPT_WARNING, SCE_COMPOSITOR_DEVICE_GPU, SCE_EEVEE_MOTION_BLUR_ENABLED_DEPRECATED, SCE_EEVEE_VOLUME_CUSTOM_RANGE, SCE_MB_CENTER, SCE_MB_END, SCE_MB_START, Main::scenes, Main::screens, SEQ_CACHE_SHOW_FINAL_OUT, SEQ_CACHE_UNUSED_5, SEQ_CACHE_UNUSED_6, SEQ_CACHE_UNUSED_7, SEQ_CACHE_UNUSED_8, SEQ_CACHE_UNUSED_9, SEQ_EDIT_SHOW_MISSING_MEDIA, SEQ_SNAP_TO_MARKERS, SET_FLAG_FROM_TEST, SH_NODE_OUTPUT_WORLD, Light::shadow_jitter_overblur, SceneEEVEE::shadow_resolution_scale, NodeBlurData::sizex, NodeBlurData::sizey, SN_OVERLAY_SHOW_REROUTE_AUTO_LABELS, SequencerToolSettings::snap_mode, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, STR_ELEM, STREQ, SpaceImage::stretch_opacity, strip_hue_correct_set_wrapping(), strip_proxies_timecode_update(), strip_text_data_update(), World::sun_angle, World::sun_shadow_filter_radius, World::sun_shadow_maximum_resolution, World::sun_threshold, MovieClipProxy::tc, CurveMapping::tone, blender::seq::tool_settings_ensure(), V3D_SHOW_CAMERA_GUIDES, V3D_SHOW_CAMERA_PASSEPARTOUT, version_cycles_properties_from_ID(), version_cycles_property_boolean(), version_cycles_property_int(), version_eevee_output_node_get(), version_node_input_socket_name(), version_node_output_socket_name(), version_refraction_depth_to_thickness_value(), Main::versionfile, versioning_node_hue_correct_set_wrappng(), versioning_update_timecode(), WO_USE_EEVEE_FINITE_VOLUME, WO_USE_SUN_SHADOW, and Main::worlds.
Referenced by blo_bhead_prev(), blo_do_versions_420(), and do_versions().
|
static |
Definition at line 747 of file versioning_420.cc.
References CD_PROP_FLOAT, convert_grease_pencil_stroke_hardness_to_softness(), CurvesGeometry::curve_data, CurvesGeometry::curve_num, CustomData_get_layer_named_for_write(), CustomData_get_named_layer_index(), data, GreasePencilDrawing::geometry, GP_DRAWING, i, IndexRange::IndexRange(), CustomData::layers, CustomDataLayer::name, STRNCPY(), and wrap().
Referenced by blo_do_versions_420(), and convert_grease_pencil_stroke_hardness_to_softness().
Definition at line 494 of file versioning_420.cc.
References AnimData::action, all_scenes_use(), Main::armatures, BKE_animdata_from_id(), BLO_reportf_wrap(), bAction::curves, do_versions_after_linking_420(), AnimData::drivers, ELEM, LISTBASE_FOREACH, MA_BM_BLEND, MA_BM_CLIP, MA_BM_HASHED, MA_BS_CLIP, MA_BS_HASHED, MA_BS_NONE, MA_BS_SOLID, MAIN_VERSION_FILE_ATLEAST, Main::materials, NTREE_SHADER, Main::objects, RE_engine_id_BLENDER_EEVEE, RE_engine_id_BLENDER_EEVEE_NEXT, FileData::reports, RPT_, RPT_WARNING, Main::scenes, SH_NODE_SUBSURFACE_SCATTERING, STREQ, STRNCPY(), version_bonecollection_anim(), version_node_socket_index_animdata(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), and versioning_eevee_shadow_settings().
Referenced by blo_bhead_prev(), do_versions_after_linking(), and do_versions_after_linking_420().
|
static |
Definition at line 603 of file versioning_420.cc.
References CurveMapping::clipr, CUMA_DO_CLIP, CUMA_USE_WRAPPING, CurveMapping::curr, CurveMapping::flag, hue_correct_set_wrapping(), rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by hue_correct_set_wrapping(), strip_hue_correct_set_wrapping(), and versioning_node_hue_correct_set_wrappng().
|
static |
Definition at line 593 of file versioning_420.cc.
References ELEM, RenderData::im_format, image_settings_avi_to_ffmpeg(), ImageFormatData::imtype, Scene::r, R_IMF_IMTYPE_AVIJPEG, R_IMF_IMTYPE_AVIRAW, and R_IMF_IMTYPE_FFMPEG.
Referenced by blo_do_versions_420(), and image_settings_avi_to_ffmpeg().
|
static |
Definition at line 619 of file versioning_420.cc.
References HueCorrectModifierData::curve_mapping, hue_correct_set_wrapping(), LISTBASE_FOREACH, Strip::modifiers, seqModifierType_HueCorrect, and strip_hue_correct_set_wrapping().
Referenced by blo_do_versions_420(), and strip_hue_correct_set_wrapping().
|
static |
Definition at line 718 of file versioning_420.cc.
References Strip::data, StripData::proxy, strip_proxies_timecode_update(), StripProxy::tc, and versioning_update_timecode().
Referenced by blo_do_versions_420(), and strip_proxies_timecode_update().
|
static |
Definition at line 728 of file versioning_420.cc.
References data, DEG2RADF, Strip::effectdata, strip_text_data_update(), STRIP_TYPE_TEXT, and Strip::type.
Referenced by blo_do_versions_420(), and strip_text_data_update().
|
static |
Change animation/drivers from "collections[..." to "collections_all[..." so they remain stable when the bone collection hierarchy structure changes.
Definition at line 58 of file versioning_420.cc.
References BLI_sprintfN(), blender::StringRef::drop_known_prefix(), MEM_freeN(), FCurve::rna_path, blender::StringRefBase::startswith(), and version_bonecollection_anim().
Referenced by do_versions_after_linking_420(), and version_bonecollection_anim().
|
static |
Definition at line 673 of file versioning_420.cc.
References bNodeTree::links, LISTBASE_FOREACH, bNode::locx_legacy, bNode::locy_legacy, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_find_socket(), bNodeTree::nodes, bNode::parent, SH_NODE_OUTPUT_MATERIAL, SH_NODE_VALUE, SOCK_IN, SOCK_OUT, version_cycles_node_socket_float_value(), version_refraction_depth_to_thickness_value(), and version_socket_update_is_used().
Referenced by blo_do_versions_420(), and version_refraction_depth_to_thickness_value().
|
static |
WARNING: recursive.
Definition at line 197 of file versioning_420.cc.
References AlphaSource::add(), AlphaSource::alpha_source(), BLI_findlink(), AlphaSource::complex_alpha(), bNodeLink::fromnode, AlphaSource::fully_transparent(), bNode::inputs, bNodeSocket::link, AlphaSource::mix(), blender::bke::node_find_socket(), NODE_GROUP, NODE_REROUTE, AlphaSource::opaque(), SH_NODE_ADD_SHADER, SH_NODE_BSDF_PRINCIPLED, SH_NODE_BSDF_TRANSPARENT, SH_NODE_EEVEE_SPECULAR, SH_NODE_MIX_SHADER, SOCK_IN, bNode::type_legacy, version_cycles_node_socket_float_value(), version_cycles_node_socket_rgba_value(), and versioning_eevee_alpha_source_get().
Referenced by versioning_eevee_alpha_source_get(), and versioning_eevee_material_blend_mode_settings().
|
static |
This function detect the alpha input of a material node-tree and then convert the input alpha to a step function, either statically or using a math node when there is some value plugged in. If the closure mixture mix some alpha more than once, we cannot convert automatically and keep the same behavior. So we bail out in this case.
Only handles the closure tree from the output node.
Definition at line 308 of file versioning_420.cc.
References BLI_findlink(), copy_v4_v4(), bNode::custom1, ListBase::first, bNode::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNode::inputs, AlphaSource::is_complex(), AlphaSource::is_transparency, bNodeSocket::link, bNode::locx_legacy, bNode::locy_legacy, min_ff(), blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_find_socket(), NODE_HIDDEN, NODE_MATH_GREATER_THAN, blender::bke::node_remove_link(), output, bNode::outputs, bNode::parent, SH_NODE_OUTPUT_MATERIAL, SOCK_IN, SOCK_RGBA, AlphaSource::socket, bNodeLink::tonode, bNodeLink::tosock, bNodeSocket::type, version_cycles_node_socket_float_value(), version_cycles_node_socket_rgba_value(), version_eevee_output_node_get(), versioning_eevee_alpha_source_get(), versioning_eevee_material_blend_mode_settings(), and bNode::width.
Referenced by do_versions_after_linking_420(), and versioning_eevee_material_blend_mode_settings().
|
static |
Definition at line 393 of file versioning_420.cc.
References BLI_findlink(), bNode::custom1, bNode::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNode::height, bNode::inputs, bNode::label, bNodeSocket::link, LISTBASE_FOREACH, bNode::locx_legacy, bNode::locy_legacy, blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_find_socket(), NODE_HIDDEN, blender::bke::node_remove_link(), Material::nodetree, bNode::outputs, bNode::parent, SH_NODE_OUTPUT_MATERIAL, SHD_OUTPUT_ALL, SHD_OUTPUT_CYCLES, SHD_OUTPUT_EEVEE, SOCK_HIDDEN, SOCK_IN, SOCK_OUT, STRNCPY(), Material::use_nodes, version_eevee_output_node_get(), and versioning_eevee_material_shadow_none().
Referenced by do_versions_after_linking_420(), and versioning_eevee_material_shadow_none().
|
static |
EEVEE no longer uses the Material::blend_shadow property. Instead, it uses Object::visibility_flag for disabling shadow casting
Definition at line 71 of file versioning_420.cc.
References BKE_object_material_get(), BKE_object_material_len_p(), Material::blend_shadow, i, IndexRange::IndexRange(), MA_BS_NONE, OB_HIDE_SHADOW, SET_FLAG_FROM_TEST, versioning_eevee_shadow_settings(), and Object::visibility_flag.
Referenced by do_versions_after_linking_420(), and versioning_eevee_shadow_settings().
|
static |
Definition at line 631 of file versioning_420.cc.
References CMP_NODE_HUECORRECT, hue_correct_set_wrapping(), LISTBASE_FOREACH_MUTABLE, bNodeTree::nodes, NTREE_COMPOSIT, bNodeTree::type, and versioning_node_hue_correct_set_wrappng().
Referenced by blo_do_versions_420(), and versioning_node_hue_correct_set_wrappng().
|
static |
Definition at line 710 of file versioning_420.cc.
References ELEM, IMB_TC_RECORD_RUN, and versioning_update_timecode().
Referenced by blo_do_versions_420(), strip_proxies_timecode_update(), and versioning_update_timecode().