22 #define DNA_DEPRECATED_ALLOW
117 #define U (*((const UserDef *)&U))
124 const char *name_src,
125 const char *name_dst)
131 if (idtest->lib ==
NULL) {
132 if (
STREQ(idtest->name + 2, name_src)) {
135 if (
STREQ(idtest->name + 2, name_dst)) {
154 if (
area->full &&
area->full != screen) {
184 if (workspace ==
NULL) {
242 bScreen *screen = screen_parent ? screen_parent : win->screen;
248 win->scene = screen->scene;
283 screen->scene =
NULL;
287 #ifdef USE_COLLECTION_COMPAT_28
289 COLLECTION_DEPRECATED_VISIBLE = (1 << 0),
290 COLLECTION_DEPRECATED_VIEWPORT = (1 << 0),
291 COLLECTION_DEPRECATED_SELECTABLE = (1 << 1),
292 COLLECTION_DEPRECATED_DISABLED = (1 << 2),
293 COLLECTION_DEPRECATED_RENDER = (1 << 3),
296 static void do_version_view_layer_visibility(
ViewLayer *view_layer)
301 if (lc->
flag & COLLECTION_DEPRECATED_DISABLED) {
302 lc->
flag &= ~COLLECTION_DEPRECATED_DISABLED;
305 if ((lc->
flag & COLLECTION_DEPRECATED_VISIBLE) == 0) {
306 lc->
flag |= COLLECTION_DEPRECATED_DISABLED;
309 lc->
flag |= COLLECTION_DEPRECATED_VIEWPORT | COLLECTION_DEPRECATED_RENDER;
313 static void do_version_layer_collection_pre(
ViewLayer *view_layer,
316 GSet *selectable_set)
320 if (lc->scene_collection) {
321 if (!(lc->
flag & COLLECTION_DEPRECATED_DISABLED)) {
324 if (lc->
flag & COLLECTION_DEPRECATED_SELECTABLE) {
329 do_version_layer_collection_pre(
334 static void do_version_layer_collection_post(
ViewLayer *view_layer,
337 GSet *selectable_set,
338 GHash *collection_map)
355 do_version_layer_collection_post(
356 view_layer, &lc->
layer_collections, enabled_set, selectable_set, collection_map);
360 static void do_version_scene_collection_convert(
363 if (collection_map) {
370 ncollection->
id.
lib =
id->lib;
371 do_version_scene_collection_convert(bmain,
id, nsc, ncollection, collection_map);
387 static void do_version_group_collection_to_collection(
Main *bmain,
Collection *group)
390 if (group->collection) {
391 do_version_scene_collection_convert(bmain, &group->
id, group->collection, group,
NULL);
394 group->collection =
NULL;
395 group->view_layer =
NULL;
399 static void do_version_scene_collection_to_collection(
Main *bmain,
Scene *
scene)
414 if (
scene->collection) {
415 do_version_scene_collection_convert(
428 do_version_layer_collection_pre(
433 do_version_layer_collection_post(
434 view_layer, &view_layer->
layer_collections, enabled_set, selectable_set, collection_map);
462 for (
int layer = 0; layer < 20; layer++) {
464 if (base->lay & (1 << layer)) {
466 if (collections[layer] ==
NULL) {
470 name,
sizeof(collection_master->
id.
name),
DATA_(
"Collection %d"), layer + 1);
477 collections[layer] = collection;
479 if (!(
scene->lay & (1 << layer))) {
489 if (base->flag &
SELECT) {
490 base->object->flag |=
SELECT;
493 base->object->flag &= ~
SELECT;
499 bool have_override =
false;
500 const bool need_default_renderlayer =
scene->
r.layers.first ==
NULL;
524 for (
int layer = 0; layer < 20; layer++) {
530 if (
srl->lay_exclude & (1 << layer)) {
532 have_override =
true;
539 if (
srl->lay_zmask & (1 << layer)) {
540 have_override =
true;
544 if ((
srl->lay & (1 << layer)) == 0) {
545 have_override =
true;
568 if (have_override || need_default_renderlayer) {
589 base->lay = base->object->lay;
606 collection_child = collection_child->next) {
607 if (collection_child->collection->id.lib ==
NULL) {
608 collection_child->collection->id.lib = collection->
id.
lib;
628 gpl->tintcolor[3] = 0.0f;
632 if ((gps->colorname[0] !=
'\0') && (
STREQ(gps->colorname, palcolor->info))) {
651 for (region = regionbase->
first; region; region = region_next) {
652 region_next = region->
next;
662 if (region->regiontype == regiontype) {
672 if (region ==
NULL) {
673 BLI_assert(!
"Did not find expected region in versioning");
686 const short space_type,
687 const short region_flag)
692 if (sl->spacetype == space_type) {
701 region->flag = region_flag;
712 bone->scale_in_y = bone->scale_in_x;
713 bone->scale_out_y = bone->scale_out_x;
722 if (bone->flag & BONE_NO_SCALE) {
724 bone->flag &= ~BONE_NO_SCALE;
733 char *old_path = *p_old_path;
735 if (old_path ==
NULL) {
782 void *
UNUSED(wrapper_data))
815 data->flag &= ~ROTLIKE_OFFSET;
824 if (seq->strip->transform ==
NULL) {
828 if (seq->strip->crop ==
NULL) {
832 if (seq->seqbase.first !=
NULL) {
842 bool need_update =
false;
847 prevlink = link->
prev;
850 bNode *fromnode = link->fromnode;
852 bNode *tonode = link->tonode;
864 if (blend_method == 1 ) {
888 else if (blend_method == 2 ) {
898 transp_node->
locx = 0.33f * fromnode->
locx + 0.66f * tonode->
locx;
899 transp_node->
locy = 0.33f * fromnode->
locy + 0.66f * tonode->
locy;
902 shtorgb_node->
locx = 0.66f * fromnode->
locx + 0.33f * tonode->
locx;
903 shtorgb_node->
locy = 0.66f * fromnode->
locy + 0.33f * tonode->
locy;
912 transp_node->
locx = 0.5f * (fromnode->
locx + tonode->
locx);
913 transp_node->
locy = 0.5f * (fromnode->
locy + tonode->
locy);
944 #define CUMA_EXTEND_EXTRAPOLATE_OLD 1
945 for (
int curve_map_index = 0; curve_map_index < 4; curve_map_index++) {
952 #undef CUMA_EXTEND_EXTRAPOLATE_OLD
1031 if (light->curfalloff) {
1040 if (brush->gpencil_settings) {
1041 if (brush->gpencil_settings->curve_sensitivity) {
1042 callback(brush->gpencil_settings->curve_sensitivity);
1044 if (brush->gpencil_settings->curve_strength) {
1045 callback(brush->gpencil_settings->curve_strength);
1047 if (brush->gpencil_settings->curve_jitter) {
1048 callback(brush->gpencil_settings->curve_jitter);
1054 if (part->clumpcurve) {
1057 if (part->roughcurve) {
1060 if (part->twistcurve) {
1217 bool use_collection_compat_28 =
true;
1220 use_collection_compat_28 =
false;
1224 collection = collection->
id.
next) {
1235 cob_next = cob->next;
1238 if (!(ob->lay & collection->layer)) {
1242 for (; coll_idx < 20; coll_idx++) {
1243 if (ob->lay & (1 << coll_idx)) {
1244 collection_hidden = &hidden_collection_array[coll_idx];
1248 if (collection_hidden ==
NULL) {
1252 collection_hidden = &hidden_collection_array[0];
1255 if (*collection_hidden ==
NULL) {
1274 collection = collection->
id.
next) {
1288 ViewLayer *layer = screen->scene->view_layers.first;
1309 tselem->
nr = tselem->
used = 0;
1324 if ((sima) && (sima->
gpd)) {
1332 if ((clip) && (clip->
gpd)) {
1367 if (psys->part->draw_size == 0.0f) {
1368 psys->part->draw_size = 0.1f;
1376 if (object->particlesystem.first) {
1379 if (psys->part->draw & PART_DRAW_EMITTER) {
1385 else if (object->transflag &
OB_DUPLI) {
1395 part->draw &= ~PART_DRAW_EMITTER;
1412 if (
ELEM(
area->butspacetype, SPACE_TIME, SPACE_LOGIC)) {
1424 if (
ELEM(
area->butspacetype, SPACE_TIME, SPACE_LOGIC)) {
1436 #ifdef USE_COLLECTION_COMPAT_28
1439 do_version_group_collection_to_collection(bmain, group);
1443 do_version_scene_collection_to_collection(bmain,
scene);
1451 if (!cu->key || cu->key->elemsize !=
sizeof(
float[4])) {
1455 cu->key->elemstr[0] = 3;
1456 cu->key->elemsize =
sizeof(
float[3]);
1461 int old_count = block->totelem;
1462 void *old_data = block->data;
1464 if (!old_data || old_count <= 0) {
1468 block->totelem = new_count;
1469 block->data =
MEM_callocN(
sizeof(
float[3]) * new_count, __func__);
1471 float *oldptr = old_data;
1472 float(*newptr)[3] = block->data;
1478 for (
int a = 0;
a < nu->pntsu;
a++, bezt++) {
1479 if ((old_count -= 3) < 0) {
1480 memcpy(newptr, bezt->
vec,
sizeof(
float[3][3]));
1481 newptr[3][0] = bezt->
tilt;
1484 memcpy(newptr, oldptr,
sizeof(
float[3][4]));
1487 newptr[3][1] = bezt->
radius;
1496 for (
int a = 0;
a < nu->pntsu * nu->pntsv;
a++, bp++) {
1497 if (--old_count < 0) {
1499 newptr[1][0] = bp->
tilt;
1502 memcpy(newptr, oldptr,
sizeof(
float[4]));
1505 newptr[1][1] = bp->
radius;
1524 if (ob->pose && arm && arm->
id.
lib == ob->
id.
lib) {
1525 bool rebuild =
false;
1529 if (pchan->bone && (pchan->bboneflag & PCHAN_BBONE_CUSTOM_HANDLES)) {
1533 pchan->bone->bbone_prev ==
NULL && pchan->bone->bbone_next ==
NULL) {
1534 pchan->bone->bbone_prev_type = (pchan->bboneflag & PCHAN_BBONE_CUSTOM_START_REL) ?
1537 pchan->bone->bbone_next_type = (pchan->bboneflag & PCHAN_BBONE_CUSTOM_END_REL) ?
1541 if (pchan->bbone_prev) {
1542 pchan->bone->bbone_prev = pchan->bbone_prev->bone;
1544 if (pchan->bbone_next) {
1545 pchan->bone->bbone_next = pchan->bbone_next->bone;
1550 pchan->bboneflag = 0;
1557 if (ob2->pose && ob2->data == arm) {
1568 if (brush->gpencil_settings !=
NULL) {
1569 brush->gpencil_tool = brush->gpencil_settings->brush_type;
1592 const int SCE_EEVEE_DOF_ENABLED = (1 << 7);
1606 camera->dof.focus_object = camera->dof_ob;
1607 camera->dof.focus_distance = camera->dof_distance;
1608 camera->dof.aperture_fstop = camera->gpu_dof.fstop;
1609 camera->dof.aperture_rotation = camera->gpu_dof.rotation;
1610 camera->dof.aperture_ratio = camera->gpu_dof.ratio;
1611 camera->dof.aperture_blades = camera->gpu_dof.num_blades;
1612 camera->dof_ob =
NULL;
1623 if (ma->blend_method == 1 ) {
1624 if (ma->use_nodes) {
1629 else if (ma->blend_method == 2 ) {
1630 if (ma->use_nodes) {
1644 if (
STREQ(gpl->info,
"RulerData3D")) {
1656 if (me->totface && !me->totpoly) {
1722 if (brush !=
NULL) {
1764 brush->tip_roundness = 1.0f;
1766 brush->density = 1.0f;
1767 brush->tip_scale_x = 1.0f;
1773 if (brush->sculpt_tool ==
SCULPT_TOOL_POSE && brush->disconnected_distance_max == 0.0f) {
1775 brush->disconnected_distance_max = 0.1f;
1789 if (seq->seqbase.first !=
NULL) {
1806 bool use_collection_compat_28 =
true;
1809 use_collection_compat_28 =
false;
1819 la->bleedexp = 2.5f;
1825 ca->gpu_dof.ratio = 1.0f;
1833 if (me->mloopuv !=
NULL) {
1845 la->cascade_max_dist = 1000.0f;
1846 la->cascade_count = 4;
1847 la->cascade_exponent = 0.8f;
1848 la->cascade_fade = 0.1f;
1854 la->contact_dist = 0.2f;
1855 la->contact_bias = 0.03f;
1856 la->contact_spread = 0.2f;
1857 la->contact_thickness = 0.2f;
1863 probe->vis_bias = 1.0f;
1864 probe->vis_blur = 0.2f;
1868 typedef enum eNTreeDoVersionErrors {
1869 NTREE_DOVERSION_NO_ERROR = 0,
1870 NTREE_DOVERSION_NEED_OUTPUT = (1 << 0),
1871 NTREE_DOVERSION_TRANSPARENCY_EMISSION = (1 << 1),
1872 } eNTreeDoVersionErrors;
1879 eNTreeDoVersionErrors
error = NTREE_DOVERSION_NO_ERROR;
1884 if (
node->type == 194 &&
1885 STREQ(
node->idname,
"ShaderNodeOutputMetallic")) {
1887 error |= NTREE_DOVERSION_NEED_OUTPUT;
1891 STREQ(
node->idname,
"ShaderNodeOutputSpecular")) {
1893 error |= NTREE_DOVERSION_NEED_OUTPUT;
1896 else if (
node->type == 196 &&
1897 STREQ(
node->idname,
"ShaderNodeOutputEeveeMaterial")) {
1902 else if (
node->type == 194 &&
1903 STREQ(
node->idname,
"ShaderNodeEeveeMetallic")) {
1907 error |= NTREE_DOVERSION_TRANSPARENCY_EMISSION;
1914 if (
error & NTREE_DOVERSION_NEED_OUTPUT) {
1917 "You need to connect Principled and Eevee Specular shader nodes to new material "
1922 if (
error & NTREE_DOVERSION_TRANSPARENCY_EMISSION) {
1925 "You need to combine transparency and emission shaders to the converted Principled "
1929 #ifdef USE_COLLECTION_COMPAT_28
1930 if (use_collection_compat_28 &&
1964 fd->
filesdna,
"GP_Sculpt_Settings",
"CurveMapping",
"cur_falloff")) {
1991 #ifdef USE_COLLECTION_COMPAT_28
1996 do_version_view_layer_visibility(view_layer);
2001 if (group->view_layer !=
NULL) {
2002 do_version_view_layer_visibility(group->view_layer);
2034 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
2054 probe->intensity = 1.0f;
2060 con = ob->constraints.first;
2062 con_next = con->
next;
2063 if (con->
type == 17) {
2125 int win_width = 0, win_height = 0;
2127 win_width =
MAX2(win_width, vert->vec.x);
2128 win_height =
MAX2(win_height, vert->vec.y);
2132 area_next =
area->next;
2135 if ((
area->v2->vec.y == win_height) && (
area->v1->vec.x == 0) &&
2136 (
area->v4->vec.x == win_width)) {
2156 if (la->mode & (1 << 13)) {
2158 la->mode &= ~(1 << 13);
2172 for (
ARegion *region = regionbase->
first, *region_next; region; region = region_next) {
2173 region_next = region->next;
2190 la->spec_fac = 1.0f;
2292 #define EEVEE_GET_BOOL(_props, _name, _flag) \
2294 IDProperty *_idprop = IDP_GetPropertyFromGroup(_props, #_name); \
2295 if (_idprop != NULL) { \
2296 const int _value = IDP_Int(_idprop); \
2298 scene->eevee.flag |= _flag; \
2301 scene->eevee.flag &= ~_flag; \
2307 #define EEVEE_GET_INT(_props, _name) \
2309 IDProperty *_idprop = IDP_GetPropertyFromGroup(_props, #_name); \
2310 if (_idprop != NULL) { \
2311 scene->eevee._name = IDP_Int(_idprop); \
2316 #define EEVEE_GET_FLOAT(_props, _name) \
2318 IDProperty *_idprop = IDP_GetPropertyFromGroup(_props, #_name); \
2319 if (_idprop != NULL) { \
2320 scene->eevee._name = IDP_Float(_idprop); \
2325 #define EEVEE_GET_FLOAT_ARRAY(_props, _name, _length) \
2327 IDProperty *_idprop = IDP_GetPropertyFromGroup(_props, #_name); \
2328 if (_idprop != NULL) { \
2329 const float *_values = IDP_Array(_idprop); \
2330 for (int _i = 0; _i < _length; _i++) { \
2331 scene->eevee._name[_i] = _values[_i]; \
2336 const int SCE_EEVEE_DOF_ENABLED = (1 << 7);
2406 #undef EEVEE_GET_FLOAT_ARRAY
2407 #undef EEVEE_GET_FLOAT
2408 #undef EEVEE_GET_INT
2409 #undef EEVEE_GET_BOOL
2488 if (mat->use_nodes) {
2490 mat->roughness = mat->gloss_mir;
2493 mat->roughness = 0.25f;
2497 mat->roughness = 1.0f - mat->gloss_mir;
2499 mat->metallic = mat->ray_mirror;
2529 if (default_matcap) {
2585 for (
int i = 0; i < 8; i++) {
2628 if (sce->ed !=
NULL && sce->ed->seqbase.first !=
NULL) {
2634 fd->
filesdna,
"View3DOverlay",
"float",
"texture_paint_mode_opacity")) {
2640 V3D_SHOW_MODE_SHADE_OVERRIDE = (1 << 15),
2643 float alpha = (v3d->
flag2 & V3D_SHOW_MODE_SHADE_OVERRIDE) ? 0.0f : 1.0f;
2674 fd->
filesdna,
"RigidBodyWorld",
"RigidBodyWorld_Shared",
"*shared")) {
2690 rbw->pointcache =
NULL;
2713 sb->pointcache =
NULL;
2766 gpl->line_change = gpl->thickness;
2767 if ((gpl->thickness < 1) || (gpl->thickness > 10)) {
2885 if (brush->gpencil_settings !=
NULL) {
2943 if (smd->
shrinkOpts & MOD_SHRINKWRAP_KEEP_ABOVE_SURFACE) {
2945 smd->
shrinkOpts &= ~MOD_SHRINKWRAP_KEEP_ABOVE_SURFACE;
2955 ob->pd->pdef_cfrict = 5.0f;
3011 enum { V3D_OCCLUDE_WIRE = (1 << 14) };
3013 if (v3d->
flag2 & V3D_OCCLUDE_WIRE) {
3015 v3d->
flag2 &= ~V3D_OCCLUDE_WIRE;
3037 if (!region_header) {
3044 "header 2.83.1 versioning");
3063 for (region_header = regionbase->
first; region_header;
3064 region_header = region_header->
next) {
3098 if (mat->gp_style) {
3140 la->att_dist = la->clipend;
3147 #define PAINT_BLEND_MIX 0
3148 #define PAINT_BLEND_ADD 1
3149 #define PAINT_BLEND_SUB 2
3150 #define PAINT_BLEND_MUL 3
3151 #define PAINT_BLEND_BLUR 4
3152 #define PAINT_BLEND_LIGHTEN 5
3153 #define PAINT_BLEND_DARKEN 6
3154 #define PAINT_BLEND_AVERAGE 7
3155 #define PAINT_BLEND_SMEAR 8
3156 #define PAINT_BLEND_COLORDODGE 9
3157 #define PAINT_BLEND_DIFFERENCE 10
3158 #define PAINT_BLEND_SCREEN 11
3159 #define PAINT_BLEND_HARDLIGHT 12
3160 #define PAINT_BLEND_OVERLAY 13
3161 #define PAINT_BLEND_SOFTLIGHT 14
3162 #define PAINT_BLEND_EXCLUSION 15
3163 #define PAINT_BLEND_LUMINOSITY 16
3164 #define PAINT_BLEND_SATURATION 17
3165 #define PAINT_BLEND_HUE 18
3166 #define PAINT_BLEND_ALPHA_SUB 19
3167 #define PAINT_BLEND_ALPHA_ADD 20
3171 const char tool_init = brush->vertexpaint_tool;
3172 bool is_blend =
false;
3175 char tool = tool_init;
3176 switch (tool_init) {
3194 brush->vertexpaint_tool = tool;
3197 if (is_blend ==
false) {
3202 switch (tool_init) {
3255 brush->blend =
blend;
3259 brush->weightpaint_tool = brush->vertexpaint_tool;
3262 #undef PAINT_BLEND_MIX
3263 #undef PAINT_BLEND_ADD
3264 #undef PAINT_BLEND_SUB
3265 #undef PAINT_BLEND_MUL
3266 #undef PAINT_BLEND_BLUR
3267 #undef PAINT_BLEND_LIGHTEN
3268 #undef PAINT_BLEND_DARKEN
3269 #undef PAINT_BLEND_AVERAGE
3270 #undef PAINT_BLEND_SMEAR
3271 #undef PAINT_BLEND_COLORDODGE
3272 #undef PAINT_BLEND_DIFFERENCE
3273 #undef PAINT_BLEND_SCREEN
3274 #undef PAINT_BLEND_HARDLIGHT
3275 #undef PAINT_BLEND_OVERLAY
3276 #undef PAINT_BLEND_SOFTLIGHT
3277 #undef PAINT_BLEND_EXCLUSION
3278 #undef PAINT_BLEND_LUMINOSITY
3279 #undef PAINT_BLEND_SATURATION
3280 #undef PAINT_BLEND_HUE
3281 #undef PAINT_BLEND_ALPHA_SUB
3282 #undef PAINT_BLEND_ALPHA_ADD
3294 if (!navigation_region) {
3296 ListBase *regionbase = (slink ==
area->spacedata.first) ? &
area->regionbase :
3300 "userpref navigation-region do_versions");
3364 SWAP(
float, dir[2], dir[1]);
3373 ca->drawsize *= 2.0f;
3378 fd->
filesdna,
"GP_Sculpt_Settings",
"CurveMapping",
"cur_primitive")) {
3405 switch (sl->spacetype) {
3498 ob->flag &= ~(OB_FLAG_UNUSED_11 | OB_FLAG_UNUSED_12);
3500 ob->shapeflag &= ~OB_SHAPE_FLAG_UNUSED_1;
3509 mat->blend_flag &= ~(1 << 2);
3523 switch (sl->spacetype) {
3525 enum { V3D_BACKFACE_CULLING = (1 << 10) };
3527 if (v3d->
flag2 & V3D_BACKFACE_CULLING) {
3528 v3d->
flag2 &= ~V3D_BACKFACE_CULLING;
3558 if (ca->gpu_dof.ratio < 0.01f) {
3559 ca->gpu_dof.ratio = 0.01f;
3569 if (!execute_region) {
3655 enum { PARCURVE = 1, PARKEY = 2, PAR_DEPRECATED = 16 };
3656 if (
ELEM(ob->partype, PARCURVE, PARKEY, PAR_DEPRECATED)) {
3662 enum { OB_WAVE = 21, OB_LIFE = 23, OB_SECTOR = 24 };
3663 if (
ELEM(ob->type, OB_WAVE, OB_LIFE, OB_SECTOR)) {
3706 workspace = workspace->id.next) {
3739 if (
STREQ(
node->idname,
"ShaderNodeOutputLamp")) {
3754 if (!mat->use_nodes || !mat->nodetree || mat->blend_method ==
MA_BM_SOLID) {
3775 bool is_first_subdiv =
true;
3779 if (is_first_subdiv) {
3785 is_first_subdiv =
false;
3789 if (is_first_subdiv) {
3795 is_first_subdiv =
false;
3859 if (brush->gpencil_settings !=
NULL) {
3873 gps->hardeness = 1.0f;
3915 if (region !=
NULL) {
3932 if ((
data->flag & CONSTRAINT_SPLINEIK_SCALE_LIMITED) == 0) {
3943 fd->
filesdna,
"View3DOverlay",
"float",
"sculpt_mode_mask_opacity")) {
3972 pchan->scale_in_y = pchan->scale_in_x;
3973 pchan->scale_out_y = pchan->scale_out_x;
3989 if (sce->ed !=
NULL) {
4025 if (region !=
NULL) {
4056 light->sun_angle = 2.0f *
atanf(light->area_size);
4064 const int IMA_IGNORE_ALPHA = (1 << 12);
4065 if (image->flag & IMA_IGNORE_ALPHA) {
4067 image->flag &= ~IMA_IGNORE_ALPHA;
4091 if (
STREQ(view_settings->
look,
"Filmic - Base Contrast")) {
4121 case FFM_PRESET_ULTRAFAST:
4122 case FFM_PRESET_SUPERFAST:
4125 case FFM_PRESET_VERYFAST:
4126 case FFM_PRESET_FASTER:
4127 case FFM_PRESET_FAST:
4128 case FFM_PRESET_MEDIUM:
4131 case FFM_PRESET_SLOW:
4132 case FFM_PRESET_SLOWER:
4133 case FFM_PRESET_VERYSLOW:
4200 if (br->ob_mode &
OB_MODE_SCULPT && br->normal_radius_factor == 0.0f) {
4201 br->normal_radius_factor = 0.5f;
4227 if (studio_light !=
NULL) {
4255 if (region_toolprops &&
4308 if (br->ob_mode &
OB_MODE_SCULPT && br->elastic_deform_volume_preservation == 0.0f) {
4309 br->elastic_deform_volume_preservation = 0.5f;
4322 fd->
filesdna,
"LayerCollection",
"short",
"local_collections_bits")) {
4340 if (sl != sl_other && sl_other->spacetype ==
SPACE_VIEW3D) {
4369 "versioning file tools region");
4379 if (br->ob_mode &
OB_MODE_SCULPT && br->area_radius_factor == 0.0f) {
4380 br->area_radius_factor = 0.5f;
4421 br->dash_ratio = 1.0f;
4422 br->dash_samples = 20;
4429 br->pose_smooth_iterations = 4;
4475 switch (sl->spacetype) {
4508 char *src = view_settings->
look + strlen(
"Filmic - ");
4509 memmove(view_settings->
look, src, strlen(src) + 1);
4512 char *src = view_settings->
look + strlen(
"Standard - ");
4513 memmove(view_settings->
look, src, strlen(src) + 1);
4561 br->add_col[3] = 0.9f;
4562 br->sub_col[3] = 0.9f;
4567 if (br->pose_ik_segments == 0) {
4568 br->pose_ik_segments = 1;
4583 br->tip_roundness = 0.18f;
4590 if (light->type ==
LA_SUN) {
4593 light->bias *= 0.002f;
4638 fd->
filesdna,
"View3DOverlay",
"float",
"gpencil_vertex_paint_opacity")) {
4658 if (brush->gpencil_settings !=
NULL) {
4659 brush->gpencil_vertex_tool = brush->gpencil_settings->brush_type;
4660 brush->gpencil_sculpt_tool = brush->gpencil_settings->brush_type;
4661 brush->gpencil_weight_tool = brush->gpencil_settings->brush_type;
4668 if (gp_style ==
NULL) {
4688 gp_style->
fill_rgba[3] *= gp_style->texture_opacity;
4754 if ((mmd->
offset[0] != 0.0f) || (mmd->
offset[1] != 0.0f) ||
4755 (mmd->
offset[2] != 0.0f)) {
4758 if ((mmd->
shift[0] != 0.0f) || (mmd->
shift[1] != 0.0f) || (mmd->
shift[2] != 0.0f)) {
4768 float factor = mmd->
factor / 25.0f;
4827 fd->
filesdna,
"ThickGpencilModifierData",
"float",
"thickness_fac")) {
4839 const short simple = (1 << 0);
4841 if (mmd->
flag & simple) {
4842 mmd->
flag &= ~simple;
4863 gpd->zdepth_offset = 0.150f;
4868 gpl->vertex_paint_opacity = 1.0f;
4873 gps->fill_opacity_fac = 1.0f;
4881 for (i = 0, pt = gps->points; i < gps->totpoints; i++, pt++) {
4893 fd->
filesdna,
"View3DOverlay",
"float",
"sculpt_mode_face_sets_opacity")) {
4917 fd->
filesdna,
"Brush",
"int",
"automasking_boundary_edges_propagation_steps")) {
4919 br->automasking_boundary_edges_propagation_steps = 1;
4937 if (me->totpoly > 0) {
4940 me->face_sets_color_default =
abs(face_sets[0]);
4962 wm->xr.session_settings.shading = v3d_default->
shading;
4965 wm->xr.session_settings.clip_start = v3d_default->
clip_start;
4966 wm->xr.session_settings.clip_end = v3d_default->
clip_end;
4989 for (
SpaceLink *sl =
area->spacedata.first; sl; sl = sl->next) {
5032 INVALID_RBC_TYPE_SLIDER = 2,
5033 INVALID_RBC_TYPE_6DOF_SPRING = 4,
5034 INVALID_RBC_TYPE_MOTOR = 7,
5036 switch (rbc->
type) {
5037 case INVALID_RBC_TYPE_SLIDER:
5040 case INVALID_RBC_TYPE_6DOF_SPRING:
5043 case INVALID_RBC_TYPE_MOTOR:
5076 if (br->cloth_mass == 0.0f) {
5077 br->cloth_mass = 1.0f;
5084 if (brush->gpencil_settings) {
5085 brush->rgb[0] = 0.498f;
5086 brush->rgb[1] = 1.0f;
5087 brush->rgb[2] = 0.498f;
5107 ob->pd->f_wind_factor = 1.0f;
5112 part->pd->f_wind_factor = 1.0f;
5115 part->pd2->f_wind_factor = 1.0f;
typedef float(TangentPoint)[2]
void BKE_fcurves_id_cb(struct ID *id, ID_FCurve_Edit_Callback func, void *user_data)
void BKE_animdata_main_cb(struct Main *bmain, ID_AnimData_Edit_Callback func, void *user_data)
struct Collection * BKE_collection_add(struct Main *bmain, struct Collection *parent, const char *name)
bool BKE_collection_object_add(struct Main *bmain, struct Collection *collection, struct Object *ob)
struct Collection * BKE_collection_master_add(void)
bool BKE_collection_object_remove(struct Main *bmain, struct Collection *collection, struct Object *object, const bool free_us)
void BKE_constraint_free_data(struct bConstraint *con)
struct CurveProfile * BKE_curveprofile_add(eCurveProfilePresets preset)
CustomData interface, see also DNA_customdata_types.h.
void CustomData_free_layers(struct CustomData *data, int type, int totelem)
void * CustomData_get_layer(const struct CustomData *data, int type)
void CustomData_update_typemap(struct CustomData *data)
struct FCurve * BKE_fcurve_copy(const struct FCurve *fcu)
#define DRIVER_TARGETS_LOOPER_BEGIN(dvar)
#define DRIVER_TARGETS_LOOPER_END
void BKE_freestyle_config_free(struct FreestyleConfig *config, const bool do_id_user)
void BKE_freestyle_config_init(struct FreestyleConfig *config)
void BKE_gpencil_stroke_geometry_update(struct bGPdata *gpd, struct bGPDstroke *gps)
void IDP_FreeProperty(struct IDProperty *prop)
struct IDProperty * IDP_GetPropertyFromGroup(const struct IDProperty *prop, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
int BKE_keyblock_curve_element_count(struct ListBase *nurb)
struct ViewLayer * BKE_view_layer_add(struct Scene *scene, const char *name, struct ViewLayer *view_layer_source, const int type)
struct ViewLayer * BKE_view_layer_default_view(const struct Scene *scene)
struct Base * BKE_view_layer_base_find(struct ViewLayer *view_layer, struct Object *ob)
struct LayerCollection * BKE_layer_collection_first_from_scene_collection(struct ViewLayer *view_layer, const struct Collection *collection)
void BKE_layer_collection_sync(const struct Scene *scene, struct ViewLayer *view_layer)
void id_us_min(struct ID *id)
void BKE_main_id_repair_duplicate_names_listbase(struct ListBase *lb)
void id_fake_user_set(struct ID *id)
void BLI_libblock_ensure_unique_name(struct Main *bmain, const char *name) ATTR_NONNULL()
#define FOREACH_MAIN_ID_END
#define MAIN_VERSION_ATLEAST(main, ver, subver)
#define FOREACH_MAIN_ID_BEGIN(_bmain, _id)
struct ListBase * which_libbase(struct Main *bmain, short type)
void BKE_mesh_tessface_clear(struct Mesh *mesh)
void BKE_mesh_do_versions_convert_mfaces_to_mpolys(struct Mesh *mesh)
void BKE_mesh_calc_edges_loose(struct Mesh *mesh)
void BKE_mesh_calc_normals(struct Mesh *me)
void BKE_mesh_update_customdata_pointers(struct Mesh *me, const bool do_ensure_tess_cd)
struct bNodeTree * ntreeFromID(struct ID *id)
#define SH_NODE_BSDF_PRINCIPLED
void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link)
void ntreeUpdateTree(struct Main *main, struct bNodeTree *ntree)
#define SH_NODE_SHADERTORGB
#define FOREACH_NODETREE_END
struct bNodeLink * nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock)
struct bNodeSocket * nodeFindSocket(const struct bNode *node, eNodeSocketInOut in_out, const char *identifier)
#define SH_NODE_CURVE_RGB
#define SH_NODE_EEVEE_SPECULAR
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
#define TEX_NODE_CURVE_TIME
struct bNode * nodeAddStaticNode(const struct bContext *C, struct bNodeTree *ntree, int type)
#define CMP_NODE_CURVE_VEC
void BKE_paint_brush_set(struct Paint *paint, struct Brush *br)
bool BKE_paint_ensure_from_paintmode(struct Scene *sce, ePaintMode mode)
@ PAINT_MODE_VERTEX_GPENCIL
@ PAINT_MODE_WEIGHT_GPENCIL
@ PAINT_MODE_SCULPT_GPENCIL
void BKE_paint_toolslots_init_from_main(struct Main *bmain)
struct PointCache * BKE_ptcache_add(struct ListBase *ptcaches)
void BKE_report(ReportList *reports, ReportType type, const char *message)
API for Blender-side Rigid Body stuff.
void BKE_rigidbody_constraints_collection_validate(struct Scene *scene, struct RigidBodyWorld *rbw)
void BKE_rigidbody_objects_collection_validate(struct Scene *scene, struct RigidBodyWorld *rbw)
struct ARegion * BKE_spacedata_find_region_type(const struct SpaceLink *slink, const struct ScrArea *area, int region_type) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_screen_area_free(struct ScrArea *area)
struct ARegion * BKE_area_find_region_type(const struct ScrArea *area, int type)
void BKE_screen_remove_double_scredges(struct bScreen *screen)
void BKE_screen_view3d_shading_init(struct View3DShading *shading)
void BKE_screen_remove_unused_scrverts(struct bScreen *screen)
void BKE_screen_remove_unused_scredges(struct bScreen *screen)
void BKE_area_region_free(struct SpaceType *st, struct ARegion *region)
struct SpaceType * BKE_spacetype_from_id(int spaceid)
@ STUDIOLIGHT_TYPE_MATCAP
struct StudioLight * BKE_studiolight_find(const char *name, int flag)
struct StudioLight * BKE_studiolight_find_default(int flag)
int BKE_unit_base_of_type_get(int system, int type)
void BKE_workspace_active_layout_set(struct WorkSpaceInstanceHook *hook, const int winid, struct WorkSpace *workspace, struct WorkSpaceLayout *layout) SETTER_ATTRS
Activate a layout.
struct WorkSpaceLayout * BKE_workspace_layout_add(struct Main *bmain, struct WorkSpace *workspace, struct bScreen *screen, const char *name) ATTR_NONNULL()
void BKE_workspace_tool_remove(struct WorkSpace *workspace, struct bToolRef *tref) ATTR_NONNULL(1
struct WorkSpaceInstanceHook * BKE_workspace_instance_hook_create(const struct Main *bmain, const int winid)
struct WorkSpace * BKE_workspace_add(struct Main *bmain, const char *name)
struct bScreen * BKE_workspace_active_screen_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
void BKE_workspace_active_set(struct WorkSpaceInstanceHook *hook, struct WorkSpace *workspace) SETTER_ATTRS
struct WorkSpaceLayout * BKE_workspace_layout_find(const struct WorkSpace *workspace, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
unsigned int BLI_ghashutil_ptrhash(const void *key)
GHash * BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
GSet * BLI_gset_new(GSetHashFP hashfp, GSetCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void BLI_gset_insert(GSet *gs, void *key)
bool BLI_ghashutil_ptrcmp(const void *a, const void *b)
bool BLI_gset_haskey(GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT
void BLI_ghash_insert(GHash *gh, void *key, void *val)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
void BLI_gset_free(GSet *gs, GSetKeyFreeFP keyfreefp)
void * BLI_ghash_lookup(GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_insertlinkafter(struct ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
int BLI_listbase_count_at_most(const struct ListBase *listbase, const int count_max) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void void BLI_INLINE bool BLI_listbase_is_single(const struct ListBase *lb)
void * BLI_findstring(const struct ListBase *listbase, const char *id, const int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_insertlinkbefore(struct ListBase *listbase, void *vnextlink, void *vnewlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int min_ii(int a, int b)
MINLINE void srgb_to_linearrgb_v3_v3(float linear[3], const float srgb[3])
MINLINE void srgb_to_linearrgb_v4(float linear[4], const float srgb[4])
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void mul_v3_fl(float r[3], float f)
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE bool is_zero_v3(const float a[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void copy_v3_fl(float r[3], float f)
MINLINE void copy_v2_fl(float r[2], float f)
void * BLI_mempool_calloc(BLI_mempool *pool) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
BLI_mempool * BLI_mempool_create(unsigned int esize, unsigned int totelem, unsigned int pchunk, unsigned int flag) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
bool BLI_str_startswith(const char *__restrict str, const char *__restrict start) ATTR_NONNULL()
#define STRNCPY(dst, src)
char * BLI_strdupn(const char *str, const size_t len) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
char * BLI_strdupcat(const char *__restrict str1, const char *__restrict str2) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
bool BLI_str_endswith(const char *__restrict str, const char *__restrict end) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
#define ARRAY_SET_ITEMS(...)
#define SET_FLAG_FROM_TEST(value, test, flag)
external readfile function prototypes.
@ ADS_FLAG_SUMMARY_COLLAPSED
@ SACTION_SHOW_INTERPOLATION
@ BONE_INHERIT_SCALE_NONE_LEGACY
@ SCULPT_TOOL_CLAY_STRIPS
@ BRUSH_USE_CONNECTED_ONLY
@ CLOTH_COLLSETTINGS_FLAG_ENABLED
@ CLOTH_COLLSETTINGS_FLAG_SELF
@ CLOTH_SIMSETTINGS_FLAG_GOAL
@ CLOTH_SIMSETTINGS_FLAG_SCALING
@ CLOTH_SIMSETTINGS_FLAG_SEW
Object groups, one object can be in many groups at once.
@ COLLECTION_RESTRICT_RENDER
@ COLLECTION_RESTRICT_VIEWPORT
@ COLLECTION_RESTRICT_SELECT
@ CUMA_EXTEND_EXTRAPOLATE
@ CONSTRAINT_TYPE_ROTLIKE
@ CONSTRAINT_TYPE_SPLINEIK
@ CONSTRAINT_TYPE_SIZELIKE
@ CONSTRAINT_TYPE_SAMEVOL
@ CONSTRAINT_TYPE_TRANSFORM_CACHE
@ CONSTRAINT_SPLINEIK_YS_FIT_CURVE
#define DNA_struct_default_get(struct_name)
blenloader genfile private function prototypes
bool DNA_struct_find(const struct SDNA *sdna, const char *stype)
bool DNA_struct_elem_find(const struct SDNA *sdna, const char *stype, const char *vartype, const char *name)
@ eGpencilModifierType_Array
@ eGpencilModifierType_Noise
@ eGpencilModifierType_Color
@ eGpencilModifierType_Multiply
@ eGpencilModifierType_Subdiv
@ eGpencilModifierType_Opacity
@ eGpencilModifierType_Hook
@ eGpencilModifierType_Smooth
@ eGpencilModifierType_Tint
@ eGpencilModifierType_Thick
#define GP_DEFAULT_PIX_FACTOR
#define GP_DEFAULT_GRID_LINES
@ LAYER_COLLECTION_EXCLUDE
@ LAYER_COLLECTION_INDIRECT_ONLY
@ LAYER_COLLECTION_HOLDOUT
#define LS_MODIFIER_DISTANCE_FROM_CAMERA
#define LS_MODIFIER_TANGENT
#define LS_MODIFIER_CREASE_ANGLE
#define LS_MODIFIER_DISTANCE_FROM_OBJECT
#define LS_MODIFIER_NOISE
#define LS_MODIFIER_ALONG_STROKE
#define LS_MODIFIER_CURVATURE_3D
#define LS_MODIFIER_MATERIAL
@ GP_MATERIAL_STROKE_PATTERN
@ GP_MATERIAL_STROKE_TEX_MIX
@ GP_MATERIAL_STROKE_SHOW
@ GP_MATERIAL_FILL_STYLE_GRADIENT
@ GP_MATERIAL_FILL_STYLE_TEXTURE
@ GP_MATERIAL_FILL_STYLE_CHECKER
@ GP_MATERIAL_FILL_STYLE_SOLID
@ ME_REMESH_REPROJECT_VERTEX_COLORS
@ eMultiresModifierFlag_PlainUv_DEPRECATED
@ eMultiresModifierFlag_UseCrease
@ MOD_SHRINKWRAP_ABOVE_SURFACE
@ eModifierType_ParticleSystem
@ eModifierType_Shrinkwrap
@ eModifierType_DataTransfer
@ eModifierType_SurfaceDeform
@ eModifierType_CorrectiveSmooth
@ eModifierType_WeightVGEdit
@ eModifierType_Triangulate
@ eSubsurfModifierFlag_SubsurfUv_DEPRECATED
@ eSubsurfModifierFlag_UseCrease
@ SUBSURF_UV_SMOOTH_PRESERVE_CORNERS
#define SHD_GLOSSY_MULTI_GGX
Object is a sort of wrapper for general info.
@ OB_TRANSFORM_ADJUST_ROOT_PARENT_FOR_VIEW_LOCK
@ OB_EMPTY_IMAGE_HIDE_ORTHOGRAPHIC
@ OB_EMPTY_IMAGE_HIDE_BACK
@ OB_EMPTY_IMAGE_HIDE_PERSPECTIVE
Types and defines for representing Rigid Body entities.
#define R_SCEMODE_UNUSED_19
#define SCE_SNAP_MODE_NODE_Y
@ UNIFIED_PAINT_FLAG_UNUSED_0
@ UNIFIED_PAINT_FLAG_UNUSED_1
@ SCE_DISPLAY_AA_SAMPLES_8
#define R_SCEMODE_UNUSED_11
#define SCE_SNAP_MODE_FACE
#define SCE_SNAP_MODE_NODE_X
#define R_SCEMODE_UNUSED_17
#define R_SCEMODE_UNUSED_8
#define R_SCEMODE_UNUSED_13
@ R_COLOR_MANAGEMENT_UNUSED_1
#define SCE_SNAP_MODE_VOLUME
#define R_SCEMODE_UNUSED_16
@ SCE_EEVEE_SHADOW_HIGH_BITDEPTH
@ SCE_EEVEE_VOLUMETRIC_SHADOWS
@ SCE_EEVEE_MOTION_BLUR_ENABLED
@ SCE_EEVEE_SSR_REFRACTION
@ SCE_EEVEE_BLOOM_ENABLED
@ SCE_EEVEE_SSR_HALF_RESOLUTION
@ SCE_EEVEE_TAA_REPROJECTION
@ SCE_EEVEE_GTAO_BENT_NORMALS
@ SCE_EEVEE_VOLUMETRIC_LIGHTS
@ SCE_SNAP_TRANSFORM_MODE_TRANSLATE
#define USER_UNIT_ADAPTIVE
#define SCE_SNAP_MODE_VERTEX
#define SCE_SNAP_MODE_GRID
#define SCE_SNAP_MODE_EDGE
#define SCE_SNAP_MODE_INCREMENT
@ RGN_FLAG_HIDDEN_BY_USER
@ SEQ_CACHE_STORE_FINAL_OUT
@ SEQ_CACHE_VIEW_FINAL_OUT
#define SEQ_SPEED_UNUSED_1
@ seqModifierType_HueCorrect
@ eShaderFxColorizeMode_GrayScale
@ eShaderFxColorizeMode_Sepia
@ SO_FILTER_OB_STATE_SELECTABLE
@ FILE_PARAMS_FLAG_UNUSED_6
@ FILE_PARAMS_FLAG_UNUSED_1
@ V3D_OFSDRAW_SHOW_GRIDFLOOR
@ V3D_OFSDRAW_SHOW_ANNOTATION
@ V3D_SHADING_TEXTURE_COLOR
@ V3D_SHADING_MATERIAL_COLOR
@ V3D_SHADING_SINGLE_COLOR
@ V3D_GIZMO_SHOW_ARMATURE_BBONE
@ V3D_GIZMO_SHOW_ARMATURE_ROLL
#define V3D_FLAG_UNUSED_1
@ V3D_AROUND_CENTER_MEDIAN
#define V3D_FLAG_UNUSED_10
@ V3D_OVERLAY_EDIT_FREESTYLE_FACE
@ V3D_OVERLAY_EDIT_CREASES
@ V3D_OVERLAY_EDIT_FREESTYLE_EDGE
@ V3D_OVERLAY_EDIT_OCCLUDE_WIRE
@ V3D_OVERLAY_EDIT_BWEIGHTS
@ V3D_GIZMO_SHOW_LIGHT_LOOK_AT
@ V3D_GIZMO_SHOW_LIGHT_SIZE
#define V3D_SHOW_ORTHO_GRID
#define V3D_FLAG2_UNUSED_13
#define V3D_FLAG2_UNUSED_3
#define V3D_FLAG2_UNUSED_6
@ V3D_GIZMO_SHOW_EMPTY_FORCE_FIELD
@ V3D_GIZMO_SHOW_EMPTY_IMAGE
#define V3D_FLAG2_UNUSED_14
@ V3D_GIZMO_SHOW_CAMERA_DOF_DIST
@ V3D_GIZMO_SHOW_CAMERA_LENS
#define V3D_GP_SHOW_EDIT_LINES
#define V3D_FLAG2_UNUSED_15
#define V3D_LOCAL_COLLECTIONS
#define V3D_FLAG2_UNUSED_12
#define V3D_FLAG_UNUSED_12
@ V3D_SHADING_SCENE_WORLD_RENDER
@ V3D_SHADING_SPECULAR_HIGHLIGHT
@ V3D_SHADING_WORLD_ORIENTATION
@ V3D_SHADING_OBJECT_OUTLINE
@ V3D_SHADING_SCENE_LIGHTS_RENDER
@ V3D_SHADING_XRAY_WIREFRAME
@ V3D_SHADING_BACKFACE_CULLING
#define WM_OUTLINER_SYNC_SELECT_FROM_ALL
@ XR_SESSION_USE_POSITION_TRACKING
Read Guarded memory(de)allocation.
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer SH_NODE_ADD_SHADER
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White CMP_NODE_CURVE_RGB
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction SH_NODE_BSDF_TRANSPARENT
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID Combine Luminance Directional Alpha Distance Hue Movie Ellipse Bokeh View Corner Anti Mix TEX_NODE_CURVE_RGB
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID Combine Luminance Directional Alpha Distance CMP_NODE_HUECORRECT
Group RGB to Bright SH_NODE_CURVE_VEC
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map CMP_NODE_TIME
Group RGB to Bright Vector Camera Vector Combine SH_NODE_OUTPUT_MATERIAL
#define SEQ_ALL_BEGIN(ed, _seq)
static ShaderNode * add_node(Scene *scene, BL::RenderEngine &b_engine, BL::BlendData &b_data, BL::Depsgraph &b_depsgraph, BL::Scene &b_scene, ShaderGraph *graph, BL::ShaderNodeTree &b_ntree, BL::ShaderNode &b_node)
vector< ShaderInput * > inputs
FreestyleLineStyle linestyle
DEGForeachIDComponentCallback callback
static CCL_NAMESPACE_BEGIN const double alpha
bNodeSocketValueRGBA * color_socket
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void error(const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
const char * RE_engine_id_BLENDER_WORKBENCH
const char * RE_engine_id_BLENDER_EEVEE
const SequenceModifierTypeInfo * SEQ_modifier_type_info_get(int type)
struct ImageFormatData im_format
struct CurveProfile * custom_profile
struct BrushGpencilSettings * gpencil_settings
struct CameraDOFSettings dof
struct ClothSimSettings * sim_parms
struct ClothCollSettings * coll_parms
float max_internal_tension
float max_internal_compression
float internal_spring_max_diversion
float internal_compression
struct CurveMapping * curve_intensity
struct CurveMapping * curve_mapping
struct CurveMapping curve_mapping
struct ReportList * reports
struct FluidDomainSettings * domain
ListBase thickness_modifiers
struct CurveMapping * custom_ipo
struct CurveMapping * cur_primitive
struct CurveMapping * cur_falloff
struct CurveMapping * curfalloff
struct CurveMapping * curfalloff
struct CurveMapping curve_mapping
struct LayerCollection * next
ListBase layer_collections
unsigned short local_collections_bits
struct Collection * collection
char is_locked_for_linking
struct MaterialGPencilStyle * gp_style
struct ModifierData * next
struct CurveMapping * curve_intensity
struct CurveMapping * curve_intensity
struct CurveMapping * cavity_curve
struct ParticleSystem * psys
struct ClothModifierData * clmd
struct CurveMapping mblur_shutter_curve
struct ImageFormatData im_format
struct FFMpegCodecData ffcodecdata
struct PointCache * pointcache
struct RigidBodyWorld_Shared * shared
ListBase scene_collections
struct SceneCollection * next
float matcap_ssao_distance
float matcap_ssao_attenuation
float volumetric_light_clamp
float motion_blur_shutter
float gi_irradiance_smoothing
float sss_jitter_threshold
float volumetric_sample_distribution
int gi_visibility_resolution
float gi_irradiance_draw_size
float gi_cubemap_draw_size
int volumetric_shadow_samples
int gi_cubemap_resolution
struct Collection * master_collection
struct RigidBodyWorld * rigidbody_world
IDProperty * layer_properties
struct SceneDisplay display
struct SceneGpencil grease_pencil_settings
struct ToolSettings * toolsettings
ColorManagedViewSettings view_settings
TransformOrientationSlot orientation_slots[4]
struct CurveMapping * curve_intensity
struct PointCache * pointcache
struct SoftBody_Shared * shared
FileSelectParams * params
struct BLI_mempool * treestore
struct SpaceLink *(* create)(const struct ScrArea *area, const struct Scene *scene)
struct CurveMapping * curve_thickness
struct CurveMapping * curve_intensity
float rotation_quaternion[4]
float sculpt_mode_mask_opacity
float gpencil_grid_opacity
float sculpt_mode_face_sets_opacity
float gpencil_paper_opacity
float texture_paint_mode_opacity
float wireframe_threshold
float vertex_paint_mode_opacity
float gpencil_vertex_paint_opacity
float weight_paint_mode_opacity
float curvature_ridge_factor
float background_color[3]
float cavity_ridge_factor
float cavity_valley_factor
float curvature_valley_factor
float studiolight_intensity
struct FreestyleConfig freestyle_config
struct IDProperty * id_properties
ListBase layer_collections
float pass_alpha_threshold
struct Material * mat_override
struct CurveMapping * curfalloff
struct CurveMapping * cmap_curve
struct bConstraint * next
static int blend(const Tex *tex, const float texvec[3], TexResult *texres)
__forceinline const avxi abs(const avxi &a)
__forceinline const avxi srl(const avxi &a, const int32_t b)
void SEQ_sequence_base_unique_name_recursive(ListBase *seqbasep, Sequence *seq)
static ARegion * do_versions_find_region(ListBase *regionbase, int regiontype)
static void do_version_collection_propagate_lib_to_children(Collection *collection)
static void do_version_fcurve_hide_viewport_fix(struct ID *UNUSED(id), struct FCurve *fcu, void *UNUSED(user_data))
#define PAINT_BLEND_DIFFERENCE
#define PAINT_BLEND_EXCLUSION
static void do_versions_material_convert_legacy_blend_mode(bNodeTree *ntree, char blend_method)
#define PAINT_BLEND_COLORDODGE
static ARegion * do_versions_add_region(int regiontype, const char *name)
static void do_version_layers_to_collections(Main *bmain, Scene *scene)
static void do_versions_area_ensure_tool_region(Main *bmain, const short space_type, const short region_flag)
#define PAINT_BLEND_SATURATION
#define EEVEE_GET_FLOAT(_props, _name)
static void do_version_curvemapping_walker(Main *bmain, void(*callback)(CurveMapping *cumap))
static void do_versions_remove_region(ListBase *regionbase, ARegion *region)
static void do_version_bbone_scale_animdata_cb(ID *UNUSED(id), AnimData *adt, void *UNUSED(wrapper_data))
#define PAINT_BLEND_LUMINOSITY
static void do_versions_remove_regions_by_type(ListBase *regionbase, int regiontype)
static bool replace_bbone_scale_rnapath(char **p_old_path)
static bScreen * screen_parent_find(const bScreen *screen)
#define PAINT_BLEND_HARDLIGHT
#define PAINT_BLEND_AVERAGE
#define EEVEE_GET_BOOL(_props, _name, _flag)
static void do_version_bbone_scale_fcurve_fix(ListBase *curves, FCurve *fcu)
#define EEVEE_GET_INT(_props, _name)
#define PAINT_BLEND_ALPHA_ADD
static void do_version_curvemapping_flag_extend_extrapolate(CurveMapping *cumap)
static void do_version_constraints_copy_rotation_mix_mode(ListBase *lb)
static void do_version_workspaces_after_lib_link(Main *bmain)
After lib-link versioning for new workspace design.
#define PAINT_BLEND_OVERLAY
#define PAINT_BLEND_ALPHA_SUB
#define CUMA_EXTEND_EXTRAPOLATE_OLD
#define PAINT_BLEND_SOFTLIGHT
#define PAINT_BLEND_SMEAR
#define PAINT_BLEND_SCREEN
void do_versions_after_linking_280(Main *bmain, ReportList *UNUSED(reports))
static void do_version_workspaces_create_from_screens(Main *bmain)
#define PAINT_BLEND_LIGHTEN
void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
static ID * rename_id_for_versioning(Main *bmain, const short id_type, const char *name_src, const char *name_dst)
static void do_version_area_change_space_to_space_action(ScrArea *area, const Scene *scene)
static void do_versions_seq_set_cache_defaults(Editing *ed)
static ARegion * do_versions_find_region_or_null(ListBase *regionbase, int regiontype)
#define EEVEE_GET_FLOAT_ARRAY(_props, _name, _length)
static void do_version_constraints_maintain_volume_mode_uniform(ListBase *lb)
static void do_versions_seq_alloc_transform_and_crop(ListBase *seqbase)
#define PAINT_BLEND_DARKEN
static void do_versions_seq_unique_name_all_strips(Scene *sce, ListBase *seqbasep)
static void do_versions_local_collection_bits_set(LayerCollection *layer_collection)
static void do_version_bones_inherit_scale(ListBase *lb)
static void do_version_constraints_copy_scale_power(ListBase *lb)
static void do_versions_fix_annotations(bGPdata *gpd)
static void do_version_bones_split_bbone_scale(ListBase *lb)