9#define DNA_DEPRECATED_ALLOW
20#define DNA_GENFILE_VERSIONING_MACROS
50#undef DNA_GENFILE_VERSIONING_MACROS
80#define U (*((const UserDef *)&U))
89 switch (sl->spacetype) {
112 (size_flags & psize) != 0;
119 const int image_size,
120 const int scene_size)
127 const uint32_t use_transform_flag = (1 << 16);
128 const uint32_t use_crop_flag = (1 << 17);
135 for (
int i = 0; i < fcu->
totvert; i++, bezt++) {
137 bezt->
vec[0][1] = (image_size - scene_size) / 2 + bezt->
vec[0][1];
138 bezt->
vec[1][1] = (image_size - scene_size) / 2 + bezt->
vec[1][1];
139 bezt->
vec[2][1] = (image_size - scene_size) / 2 + bezt->
vec[2][1];
169 const uint32_t use_transform_flag = (1 << 16);
170 const uint32_t use_crop_flag = (1 << 17);
173 if (s_elem !=
nullptr) {
190 if ((
strip->
flag & use_crop_flag) == 0) {
194 if ((
strip->
flag & use_transform_flag) == 0) {
199 float image_aspect = float(image_size_x) / float(image_size_y);
200 if (project_aspect > image_aspect) {
201 t->
scale_x = project_aspect / image_aspect;
204 t->
scale_y = image_aspect / project_aspect;
212 old_image_center_x += c->
right * s_x - c->
left * s_x;
213 old_image_center_y += c->
top * s_y - c->
bottom * s_y;
216 int cropped_image_size_x = image_size_x - c->
right - c->
left;
217 int cropped_image_size_y = image_size_y - c->
top - c->
bottom;
219 t->
scale_x *= float(image_size_x) / float(cropped_image_size_x);
220 t->
scale_y *= float(image_size_y) / float(cropped_image_size_y);
223 if ((
strip->
flag & use_transform_flag) != 0) {
225 old_image_center_x = image_size_x / 2 - c->
left + t->
xofs;
226 old_image_center_y = image_size_y / 2 - c->
bottom + t->
yofs;
233 if ((
strip->
flag & use_crop_flag) != 0) {
244 char name_esc[(
sizeof(
strip->
name) - 2) * 2], *path;
247 path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].transform.offset_x", name_esc);
250 path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].transform.offset_y", name_esc);
275 const float scale_to_fit_factor)
284 for (
int i = 0; i < fcu->
totvert; i++, bezt++) {
286 bezt->
vec[0][1] *= scale_to_fit_factor;
287 bezt->
vec[1][1] *= scale_to_fit_factor;
288 bezt->
vec[2][1] *= scale_to_fit_factor;
298 if (s_elem ==
nullptr) {
313 const float scale_to_fit_factor = std::min(
float(
scene->
r.
xsch) /
float(image_size_x),
315 t->
scale_x *= scale_to_fit_factor;
316 t->
scale_y *= scale_to_fit_factor;
317 c->
top /= scale_to_fit_factor;
318 c->
bottom /= scale_to_fit_factor;
319 c->
left /= scale_to_fit_factor;
320 c->
right /= scale_to_fit_factor;
322 char name_esc[(
sizeof(
strip->
name) - 2) * 2], *path;
324 path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].transform.scale_x", name_esc);
327 path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].transform.scale_y", name_esc);
330 path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].crop.min_x", name_esc);
333 path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].crop.max_x", name_esc);
336 path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].crop.min_y", name_esc);
339 path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].crop.max_x", name_esc);
369 if (ms->disp_range[0] == ms->disp_range[1]) {
395 const char *old_name,
396 const char *new_name)
400 if (link->tonode->type_legacy == node_type) {
404 if (
STREQ(link->tosock->name, old_name)) {
412 if (
node->type_legacy == node_type) {
433 if (gpmd->materialname[0] !=
'\0') {
436 gpmd->materialname[0] =
'\0';
442 if (gpmd->materialname[0] !=
'\0') {
445 gpmd->materialname[0] =
'\0';
451 if (gpmd->materialname[0] !=
'\0') {
454 gpmd->materialname[0] =
'\0';
460 if (gpmd->materialname[0] !=
'\0') {
463 gpmd->materialname[0] =
'\0';
469 if (gpmd->materialname[0] !=
'\0') {
472 gpmd->materialname[0] =
'\0';
478 if (gpmd->materialname[0] !=
'\0') {
481 gpmd->materialname[0] =
'\0';
487 if (gpmd->materialname[0] !=
'\0') {
490 gpmd->materialname[0] =
'\0';
496 if (gpmd->materialname[0] !=
'\0') {
499 gpmd->materialname[0] =
'\0';
505 if (gpmd->materialname[0] !=
'\0') {
508 gpmd->materialname[0] =
'\0';
514 if (gpmd->materialname[0] !=
'\0') {
517 gpmd->materialname[0] =
'\0';
523 if (gpmd->materialname[0] !=
'\0') {
526 gpmd->materialname[0] =
'\0';
532 if (gpmd->materialname[0] !=
'\0') {
535 gpmd->materialname[0] =
'\0';
541 if (gpmd->materialname[0] !=
'\0') {
544 gpmd->materialname[0] =
'\0';
550 if (gpmd->materialname[0] !=
'\0') {
553 gpmd->materialname[0] =
'\0';
565 if (
scene !=
nullptr) {
587 "WARNING: Cycle detected in collection '%s', fixed as best as possible.\n"
588 "You may have to reconstruct your View Layers...\n",
589 collection->id.name);
646 if (br->ob_mode &
OB_MODE_SCULPT && br->wet_paint_radius_factor == 0.0f) {
647 br->wet_paint_radius_factor = 1.0f;
676 if (text->id.us == 0) {
698 panel->
flag &= ~PNL_UNUSED_1;
713 for (
int i = 0; i < pdata->
totlayer; i++) {
715 if (layer->
type == CD_LOCATION) {
719 else if (layer->
type == CD_RADIUS) {
729 for (
int i = 0; i < pdata->
totlayer; i++) {
754 const float v1[2] = {bezt->
vec[1][0], bezt->vec[1][1]};
755 const float v2[2] = {bezt->vec[2][0], bezt->vec[2][1]};
756 const float v3[2] = {nextbezt->
vec[0][0], nextbezt->
vec[0][1]};
757 const float v4[2] = {nextbezt->
vec[1][0], nextbezt->
vec[1][1]};
760 if (v1[0] ==
v2[0] && v3[0] == v4[0]) {
765 float delta1[2], delta2[2];
769 const float len1 =
fabsf(delta1[0]);
770 const float len2 =
fabsf(delta2[0]);
774 const float time_delta = v4[0] - v1[0];
775 const float total_len = len1 + len2;
776 if (total_len <= time_delta) {
780 const float factor = time_delta / total_len;
794 link->tosock =
static_cast<bNodeSocket *
>(link->tonode->inputs.first);
801 socket->
limit = 4095;
815 const MPoly *polys =
static_cast<const MPoly *
>(
818 if (polys[i].totloop == 2) {
824 reinterpret_cast<float(*)[3]
>(me->vert_positions_for_write().data()),
826 me->edges_for_write().data(),
829 &me->fdata_legacy,
CD_MFACE, me->totface_legacy),
831 me->corner_verts().data(),
832 me->corner_edges_for_write().data(),
834 me->face_offsets().data(),
836 me->deform_verts_for_write().data(),
850 for (
int i = 0; i <
ARRAY_SIZE(id_codes); i++) {
856 if (!DNA_struct_member_exists(fd->
filesdna,
"SpaceImage",
"float",
"uv_opacity")) {
870 if (!DNA_struct_member_exists(fd->
filesdna,
"BrushGpencilSettings",
"float",
"random_hue")) {
872 if ((brush->gpencil_settings) && (brush->gpencil_settings->curve_rand_pressure ==
nullptr))
875 1, 0.0f, 0.0f, 1.0f, 1.0f);
877 1, 0.0f, 0.0f, 1.0f, 1.0f);
880 1, 0.0f, 0.0f, 1.0f, 1.0f);
882 1, 0.0f, 0.0f, 1.0f, 1.0f);
884 1, 0.0f, 0.0f, 1.0f, 1.0f);
902 if (!DNA_struct_member_exists(fd->
filesdna,
"NodeTexSky",
"float",
"sun_size")) {
908 tex->sun_disc =
true;
911 tex->sun_rotation = 0.0f;
912 tex->altitude = 0.0f;
913 tex->air_density = 1.0f;
914 tex->dust_density = 1.0f;
915 tex->ozone_density = 1.0f;
931 bool use_optix =
false;
932 bool use_denoising =
false;
936 use_denoising = use_denoising ||
938 use_optix = use_optix ||
945 use_denoising = use_denoising ||
947 use_optix = use_optix ||
973 if (!use_denoising) {
992 if (!DNA_struct_member_exists(fd->
filesdna,
"ModifierData",
"short",
"ui_expand_flag")) {
995 if (md->mode & eModifierMode_Expanded_DEPRECATED) {
999 md->ui_expand_flag = 0;
1006 if (!DNA_struct_member_exists(fd->
filesdna,
"SceneEEVEE",
"float",
"motion_blur_depth_scale"))
1014 if (!DNA_struct_member_exists(fd->
filesdna,
"SceneEEVEE",
"int",
"motion_blur_steps")) {
1021 if (!DNA_struct_member_exists(fd->
filesdna,
"bConstraint",
"short",
"ui_expand_flag")) {
1024 if (con->flag & CONSTRAINT_EXPAND_DEPRECATED) {
1028 con->ui_expand_flag = 0;
1035 if (!DNA_struct_member_exists(fd->
filesdna,
"GpencilModifierData",
"short",
"ui_expand_flag"))
1039 if (md->mode & eGpencilModifierMode_Expanded_DEPRECATED) {
1043 md->ui_expand_flag = 0;
1050 if (!DNA_struct_member_exists(fd->
filesdna,
"ShaderFxData",
"short",
"ui_expand_flag")) {
1053 if (fx->mode & eShaderFxMode_Expanded_DEPRECATED) {
1057 fx->ui_expand_flag = 0;
1064 if (!DNA_struct_member_exists(fd->
filesdna,
"BevelModifierData",
"short",
"profile_type")) {
1069 bool use_custom_profile = bmd->
flags & MOD_BEVEL_CUSTOM_PROFILE_DEPRECATED;
1092 if (!DNA_struct_member_exists(fd->
filesdna,
"NodeTexSky",
"float",
"sun_intensity")) {
1098 tex->sun_intensity = 1.0f;
1099 tex->altitude *= 0.001f;
1108 if (!DNA_struct_member_exists(fd->
filesdna,
"BevelModifierData",
"char",
"affect_type")) {
1113 const bool use_vertex_bevel = bmd->
flags & MOD_BEVEL_VERT_DEPRECATED;
1122 if (!DNA_struct_member_exists(
1123 fd->
filesdna,
"MeshSeqCacheModifierData",
"float",
"velocity_scale"))
1135 if (!DNA_struct_member_exists(fd->
filesdna,
"CacheFile",
"char",
"velocity_unit")) {
1137 STRNCPY(cache_file->velocity_name,
".velocities");
1142 if (!DNA_struct_member_exists(fd->
filesdna,
"OceanModifierData",
"int",
"viewport_resolution"))
1170 if (rbw ==
nullptr) {
1239 if (fcu->totvert < 2 || fcu->bezt ==
nullptr) {
1258 if (!DNA_struct_member_exists(fd->
filesdna,
"Curve",
"char",
"bevel_mode")) {
1274 if (fmd->
domain !=
nullptr) {
1281 const float grid_lines[4] = {1.0, 0.0, 0.0, 1.0};
1291 if (!DNA_struct_member_exists(fd->
filesdna,
"View3DOverlay",
"float",
"fade_alpha")) {
1306 if (!DNA_struct_member_exists(fd->
filesdna,
"Mesh",
"char",
"symmetry")) {
1334 if (!DNA_struct_member_exists(fd->
filesdna,
"WorkSpaceDataRelation",
"int",
"parentid")) {
1341 if (relation->parent !=
nullptr) {
1345 if (win !=
nullptr) {
1346 relation->parentid = win->
winid;
1350 if (relation->parentid == 0) {
1353 "Found a valid parent for workspace data relation, but no valid parent id.");
1356 if (relation->parentid == 0) {
1364 if (!DNA_struct_exists(fd->
filesdna,
"SpaceImageOverlay")) {
1391 switch (sl->spacetype) {
1394 sima->
flag &= ~SI_FLAG_UNUSED_20;
1402 if (!DNA_struct_member_exists(
1403 fd->
filesdna,
"FluidModifierData",
"float",
"fractions_distance"))
1420 const int LEGACY_REFINE_RADIAL_DISTORTION_K1 = (1 << 2);
1425 int new_refine_camera_intrinsics = 0;
1449 if (!DNA_struct_member_exists(fd->
filesdna,
"View3DOverlay",
"float",
"wireframe_opacity")) {
1495 if (!DNA_struct_member_exists(fd->
filesdna,
"ViewLayer",
"short",
"cryptomatte_levels")) {
1498 view_layer->cryptomatte_levels = 6;
1525 view_layer->eevee.render_passes &= ~EEVEE_RENDER_PASS_UNUSED_8;
1533 const char *volume_scatter =
"VolumeScatterCol";
1544 if (!DNA_struct_exists(fd->
filesdna,
"CryptomatteEntry")) {
1550 char *matte_id = storage->
matte_id;
1551 if (matte_id ==
nullptr || strlen(storage->
matte_id) == 0) {
1578 if (
STREQ(
node->idname,
"GeometryNodeRandomAttribute")) {
1579 STRNCPY(
node->idname,
"GeometryLegacyNodeAttributeRandomize");
1605 if (!DNA_struct_member_exists(fd->
filesdna,
"FluidModifierData",
"float",
"viscosity_value")) {
1610 if (fmd->
domain !=
nullptr) {
1620 if (!DNA_struct_exists(fd->
filesdna,
"NodeSetAlpha")) {
1631 node->storage = storage;
1639 if (ed ==
nullptr) {
1675 if (!DNA_struct_member_exists(fd->
filesdna,
"bGPdata",
"int",
"curve_edit_resolution")) {
1682 if (!DNA_struct_member_exists(fd->
filesdna,
"bGPdata",
"float",
"curve_edit_threshold")) {
1710 if (!DNA_struct_member_exists(fd->
filesdna,
"bGPDlayer",
"float",
"location[0]")) {
1723 if ((brush->gpencil_settings) && (brush->gpencil_settings->fill_factor == 0.0f)) {
1724 brush->gpencil_settings->fill_factor = 1.0f;
1736 tex->altitude *= 1000.0f;
1768 if (!DNA_struct_member_exists(fd->
filesdna,
"SceneEEVEE",
"float",
"bokeh_overblur")) {
1776 if (!DNA_struct_member_exists(fd->
filesdna,
"FModifier",
"short",
"ui_expand_flag")) {
1781 fcm->flag & FMODIFIER_FLAG_EXPANDED,
1803 if (
STREQ(
node->idname,
"GeometryNodeSubdivisionSurfaceSimple")) {
1806 if (
STREQ(
node->idname,
"GeometryNodeSubdivisionSurface")) {
1807 STRNCPY(
node->idname,
"GeometryNodeSubdivideSmooth");
1818 switch (sl->spacetype) {
1842 ListBase *regionbase = (sl == area->spacedata.first) ? &area->regionbase :
1846 if (new_footer !=
nullptr) {
1860 if (
STREQ(
node->idname,
"GeometryNodeSubdivideSmooth")) {
1861 STRNCPY(
node->idname,
"GeometryNodeSubdivisionSurface");
1869 if (!DNA_struct_member_exists(fd->
filesdna,
"Light",
"float",
"diff_fac")) {
1871 light->diff_fac = 1.0f;
1872 light->volume_fac = 1.0f;
1881 if (
STREQ(
node->idname,
"GeometryNodeMeshPlane")) {
1899#define CU_2D (1 << 3)
1904 if (nu->flag &
CU_2D) {
1919 if (!DNA_struct_member_exists(fd->
filesdna,
"bArmature",
"float",
"axes_position")) {
1922 arm->axes_position = 1.0;
1927 if (!DNA_struct_member_exists(fd->
filesdna,
"Light",
"float",
"area_spread")) {
1929 la->area_spread =
DEG2RADF(180.0f);
1939 STRNCPY(path->display_name, path->node_name);
void BKE_pose_rebuild(Main *bmain, Object *ob, bArmature *arm, bool do_id_user)
bool BKE_collection_cycles_fix(Main *bmain, Collection *collection)
void BKE_cryptomatte_matte_id_to_entries(struct NodeCryptomatte *node_storage, const char *matte_id)
ListBase * BKE_curve_nurbs_get(Curve *cu)
CustomData interface, see also DNA_customdata_types.h.
const void * CustomData_get_layer(const CustomData *data, eCustomDataType type)
void * CustomData_get_layer_for_write(CustomData *data, eCustomDataType type, int totelem)
FCurve * BKE_fcurve_find(ListBase *list, const char rna_path[], int array_index)
bool BKE_fcurve_is_empty(const FCurve *fcu)
void BKE_fcurve_free(FCurve *fcu)
struct bGPDframe * BKE_gpencil_frame_duplicate(const struct bGPDframe *gpf_src, bool dup_strokes)
void BKE_main_id_repair_duplicate_names_listbase(Main *bmain, ListBase *lb)
void id_fake_user_set(ID *id)
ListBase * which_libbase(Main *bmain, short type)
#define MAIN_VERSION_FILE_ATLEAST(main, ver, subver)
#define MAIN_VERSION_FILE_OLDER(main, ver, subver)
bool BKE_mesh_validate_arrays(Mesh *mesh, float(*vert_positions)[3], unsigned int verts_num, blender::int2 *edges, unsigned int edges_num, MFace *legacy_faces, unsigned int legacy_faces_num, const int *corner_verts, int *corner_edges, unsigned int corners_num, const int *face_offsets, unsigned int faces_num, MDeformVert *dverts, bool do_verbose, bool do_fixes, bool *r_change)
void BKE_mesh_legacy_convert_loops_to_corners(Mesh *mesh)
void BKE_mesh_legacy_convert_polys_to_offsets(Mesh *mesh)
void multires_do_versions_simple_to_catmull_clark(Object *object, MultiresModifierData *mmd)
#define FOREACH_NODETREE_END
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
#define GEO_NODE_OBJECT_INFO
#define SH_NODE_BSDF_PRINCIPLED
#define GEO_NODE_MESH_BOOLEAN
#define CMP_NODE_CRYPTOMATTE_LEGACY
#define GEO_NODE_MESH_PRIMITIVE_GRID
#define CMP_NODE_OUTPUT_FILE
#define CMP_NODE_SETALPHA
#define CMP_NODE_R_LAYERS
#define GEO_NODE_JOIN_GEOMETRY
#define BLI_assert_msg(a, msg)
#define LISTBASE_FOREACH(type, var, list)
void * BLI_findstring(const ListBase *listbase, const char *id, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_freelinkN(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
#define LISTBASE_FOREACH_BACKWARD(type, var, list)
void BLI_remlink(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_addhead(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_findptr(const struct ListBase *listbase, const void *ptr, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int min_ii(int a, int b)
MINLINE int max_ii(int a, int b)
bool invert_m4_m4(float inverse[4][4], const float mat[4][4])
void loc_eul_size_to_mat4(float R[4][4], const float loc[3], const float eul[3], const float size[3])
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void madd_v2_v2v2fl(float r[2], const float a[2], const float b[2], float f)
MINLINE void sub_v2_v2v2(float r[2], const float a[2], const float b[2])
MINLINE void copy_v3_fl(float r[3], float f)
MINLINE void zero_v3(float r[3])
char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
char * STRNCPY(char(&dst)[N], const char *src)
size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define STREQLEN(a, b, n)
#define SET_FLAG_FROM_TEST(value, test, flag)
external readfile function prototypes.
@ IDP_FLAG_OVERRIDABLE_LIBRARY
@ CACHEFILE_VELOCITY_UNIT_SECOND
Object groups, one object can be in many groups at once.
struct CustomDataLayer CustomDataLayer
@ FLUID_DOMAIN_TYPE_LIQUID
blenloader genfile private function prototypes
#define GP_DEFAULT_CURVE_EDIT_CORNER_ANGLE
#define GP_DEFAULT_CURVE_RESOLUTION
#define GP_DEFAULT_CURVE_ERROR
@ GP_DATA_CURVE_ADAPTIVE_RESOLUTION
@ eGpencilModifierType_Array
@ eGpencilModifierType_Noise
@ eGpencilModifierType_Mirror
@ eGpencilModifierType_Color
@ eGpencilModifierType_Multiply
@ eGpencilModifierType_Texture
@ eGpencilModifierType_Subdiv
@ eGpencilModifierType_Lattice
@ eGpencilModifierType_Opacity
@ eGpencilModifierType_Hook
@ eGpencilModifierType_Simplify
@ eGpencilModifierType_Smooth
@ eGpencilModifierType_Thick
@ eGpencilModifierType_Offset
@ VIEW_LAYER_CRYPTOMATTE_ACCURATE
@ eBooleanModifierSolver_Float
@ MOD_MESHSEQ_INTERPOLATE_VERTICES
@ eModifierType_WeightVGProximity
@ eModifierType_MeshSequenceCache
@ eModifierType_WeightVGEdit
@ MOD_BEVEL_PROFILE_CUSTOM
@ MOD_BEVEL_PROFILE_SUPERELLIPSE
@ MOD_BEVEL_AFFECT_VERTICES
@ eBooleanModifierFlag_Object
@ CMP_NODE_SETALPHA_MODE_REPLACE_ALPHA
@ GEO_NODE_TRANSFORM_SPACE_RELATIVE
Object is a sort of wrapper for general info.
Types and defines for representing Rigid Body entities.
#define RE_PASSNAME_VOLUME_LIGHT
@ UI_PANEL_DATA_EXPAND_ROOT
@ SEQ_CACHE_STORE_FINAL_OUT
@ SI_OVERLAY_SHOW_OVERLAYS
eSpaceSeq_Proxy_RenderSize
@ SEQ_RENDER_SIZE_PROXY_25
@ SEQ_RENDER_SIZE_PROXY_75
@ SEQ_RENDER_SIZE_PROXY_50
@ SEQ_RENDER_SIZE_PROXY_100
@ SEQ_TIMELINE_SHOW_STRIP_DURATION
@ SEQ_TIMELINE_SHOW_STRIP_SOURCE
@ SEQ_TIMELINE_SHOW_STRIP_NAME
@ SO_FILTER_OB_STATE_INVERSE
@ REFINE_RADIAL_DISTORTION
@ V3D_OVERLAY_FADE_INACTIVE
Read Guarded memory(de)allocation.
ATTR_WARN_UNUSED_RESULT const BMVert * v2
void * MEM_callocN(size_t len, const char *str)
void * MEM_dupallocN(const void *vmemh)
size_t(* MEM_allocN_len)(const void *vmemh)
void MEM_freeN(void *vmemh)
bNodeSocket * node_find_socket(bNode &node, eNodeSocketInOut in_out, StringRef identifier)
void node_remove_socket(bNodeTree &ntree, bNode &node, bNodeSocket &sock)
bNodeLink & node_add_link(bNodeTree &ntree, bNode &fromnode, bNodeSocket &fromsock, bNode &tonode, bNodeSocket &tosock)
int time_right_handle_frame_get(const Scene *scene, const Strip *strip)
SequencerToolSettings * tool_settings_init()
Editing * editing_get(const Scene *scene)
double rendersize_to_scale_factor(int render_size)
void active_seqbase_set(Editing *ed, ListBase *seqbase)
int time_left_handle_frame_get(const Scene *, const Strip *strip)
int rendersize_to_proxysize(int render_size)
MetaStack * meta_stack_active_get(const Editing *ed)
void time_left_handle_frame_set(const Scene *scene, Strip *strip, int timeline_frame)
void time_right_handle_frame_set(const Scene *scene, Strip *strip, int timeline_frame)
void * blo_read_get_new_globaldata_address(FileData *fd, const void *adr)
struct Material * material
struct Material * material
float gridlines_upper_bound
float gridlines_range_color[4]
char vector_scale_with_magnitude
struct FluidDomainSettings * domain
struct Material * material
struct Material * material
struct Material * material
int refine_camera_intrinsics
MovieTrackingSettings settings
struct Material * material
struct NodesModifierSettings settings
struct IDProperty * properties
struct Material * material
float sharpen_peak_jonswap
struct Material * material
struct Material * material
float motion_blur_depth_scale
int volumetric_shadow_samples
struct bNodeTree * nodetree
struct Collection * master_collection
struct RigidBodyWorld * rigidbody_world
struct ToolSettings * toolsettings
struct Material * material
struct Material * material
SpaceImageOverlay overlay
StripTransform * transform
struct Material * material
struct Material * material
struct Material * material
struct CurveMapping * cmap_curve
struct bNodeSocket * next
static void strip_convert_transform_crop_lb(const Scene *scene, const ListBase *lb, const eSpaceSeq_Proxy_RenderSize render_size)
static bool can_use_proxy(const Strip *strip, int psize)
static void strip_convert_transform_animation_2(const Scene *scene, const char *path, const float scale_to_fit_factor)
static void strip_convert_transform_animation(const Strip *strip, const Scene *scene, const char *path, const int image_size, const int scene_size)
static void version_node_socket_duplicate(bNodeTree *ntree, const int node_type, const char *old_name, const char *new_name)
static void strip_convert_transform_crop(const Scene *scene, Strip *strip, const eSpaceSeq_Proxy_RenderSize render_size)
static void version_node_join_geometry_for_multi_input_socket(bNodeTree *ntree)
static void strip_convert_transform_crop_2(const Scene *scene, Strip *strip, const eSpaceSeq_Proxy_RenderSize render_size)
static void do_versions_291_fcurve_handles_limit(FCurve *fcu)
void do_versions_after_linking_290(FileData *, Main *bmain)
static void panels_remove_x_closed_flag_recursive(Panel *panel)
static void strip_convert_transform_crop_lb_2(const Scene *scene, const ListBase *lb, const eSpaceSeq_Proxy_RenderSize render_size)
void blo_do_versions_290(FileData *fd, Library *, Main *bmain)
static void do_versions_point_attributes(CustomData *pdata)
static eSpaceSeq_Proxy_RenderSize get_sequencer_render_size(Main *bmain)
static void seq_update_meta_disp_range(Scene *scene)
static void do_versions_point_attribute_names(CustomData *pdata)
void version_cycles_property_int_set(IDProperty *idprop, const char *name, int value)
IDProperty * version_cycles_properties_from_ID(ID *id)
int version_cycles_property_int(IDProperty *idprop, const char *name, int default_value)
IDProperty * version_cycles_properties_from_render_layer(SceneRenderLayer *render_layer)
void version_node_socket_index_animdata(Main *bmain, const int node_tree_type, const int node_type, const int socket_index_orig, const int socket_index_offset, const int total_number_of_sockets)
void version_node_socket_name(bNodeTree *ntree, const int node_type, const char *old_name, const char *new_name)
bool version_cycles_property_boolean(IDProperty *idprop, const char *name, bool default_value)
IDProperty * version_cycles_properties_from_view_layer(ViewLayer *view_layer)
void version_cycles_property_boolean_set(IDProperty *idprop, const char *name, bool value)
ARegion * do_versions_add_region_if_not_found(ListBase *regionbase, int region_type, const char *, int link_after_region_type)