12#define DNA_DEPRECATED_ALLOW
15#define DNA_GENFILE_VERSIONING_MACROS
44#undef DNA_GENFILE_VERSIONING_MACROS
89#define CLANG_FORMAT_NOP_WORKAROUND ((void)0)
92#define U (*((const UserDef *)&U))
117 ndbd->angle =
DEG2RADF(ndbd->angle);
138 ndg->angle_ofs =
DEG2RADF(ndg->angle_ofs * 255.0f);
157 R_OPENEXR_HALF = (1 << 0),
158 R_OPENEXR_ZBUF = (1 << 1),
159 R_PREVIEW_JPG = (1 << 2),
160 R_CINEON_LOG = (1 << 3),
161 R_TIFF_16BIT = (1 << 4),
163 R_JPEG2K_12BIT = (1 << 5),
165 R_JPEG2K_16BIT = (1 << 6),
166 R_JPEG2K_YCC = (1 << 7),
168 R_JPEG2K_CINE_PRESET = (1 << 8),
169 R_JPEG2K_CINE_48FPS = (1 << 9),
178 imf->
imtype = char(rd->imtype);
179 imf->
planes = char(rd->planes);
181 imf->
quality = char(rd->quality);
192 if (rd->subimtype & R_PREVIEW_JPG) {
197 if (rd->subimtype & R_TIFF_16BIT) {
202 if (rd->subimtype & R_JPEG2K_16BIT) {
205 else if (rd->subimtype & R_JPEG2K_12BIT) {
209 if (rd->subimtype & R_JPEG2K_YCC) {
212 if (rd->subimtype & R_JPEG2K_CINE_PRESET) {
215 if (rd->subimtype & R_JPEG2K_CINE_48FPS) {
221 if (rd->subimtype & R_CINEON_LOG) {
258 if (sock_iter != sock) {
260 if (sockdata->path ==
name) {
270 const char defname[],
274 if (
ELEM(
nullptr, sock, defname)) {
285 sizeof(sockdata->path));
294 if (sock_iter != sock) {
296 if (sockdata->layer ==
name) {
306 const char defname[],
310 if (
ELEM(
nullptr, sock, defname)) {
321 sizeof(sockdata->layer));
355 sockdata->use_node_format =
true;
356 sockdata->save_as_render =
true;
370 "node image multi file");
382 node->storage = nimf;
390 old_data->
name, basepath,
sizeof(basepath), filename,
sizeof(filename));
411 if (old_image->
link) {
429 if (old_image->
link) {
455 simf->use_node_format = simf->use_render_format;
473 std::swap(mloopcol->
r, mloopcol->
b);
533 if (node->storage ==
nullptr) {
535 node->storage =
data;
538 data->flag = node->custom1;
540 data->label_size = 20;
545 node->color[0] = node->color[1] = node->color[2] = 0.608f;
584 return "CompositorNodeGroup";
586 return "ShaderNodeGroup";
588 return "TextureNodeGroup";
598 return "NodeGroupInput";
600 return "NodeGroupOutput";
602 return "NodeReroute";
604 return "ShaderNodeOutput";
606 return "ShaderNodeMaterial";
608 return "ShaderNodeRGB";
610 return "ShaderNodeValue";
612 return "ShaderNodeMixRGB";
614 return "ShaderNodeValToRGB";
616 return "ShaderNodeRGBToBW";
618 return "ShaderNodeTexture";
620 return "ShaderNodeNormal";
622 return "ShaderNodeGamma";
624 return "ShaderNodeBrightContrast";
626 return "ShaderNodeGeometry";
628 return "ShaderNodeMapping";
630 return "ShaderNodeVectorCurve";
632 return "ShaderNodeRGBCurve";
634 return "ShaderNodeCameraData";
636 return "ShaderNodeMath";
638 return "ShaderNodeVectorMath";
640 return "ShaderNodeSqueeze";
642 return "ShaderNodeExtendedMaterial";
644 return "ShaderNodeInvert";
646 return "ShaderNodeSeparateRGB";
648 return "ShaderNodeCombineRGB";
650 return "ShaderNodeHueSaturation";
652 return "ShaderNodeOutputMaterial";
654 return "ShaderNodeOutputLamp";
656 return "ShaderNodeOutputWorld";
658 return "ShaderNodeFresnel";
660 return "ShaderNodeLayerWeight";
662 return "ShaderNodeMixShader";
664 return "ShaderNodeAddShader";
666 return "ShaderNodeAttribute";
668 return "ShaderNodeAmbientOcclusion";
670 return "ShaderNodeBackground";
672 return "ShaderNodeHoldout";
674 return "ShaderNodeBsdfAnisotropic";
676 return "ShaderNodeBsdfDiffuse";
678 return "ShaderNodeBsdfGlossy";
680 return "ShaderNodeBsdfGlass";
682 return "ShaderNodeBsdfRefraction";
684 return "ShaderNodeBsdfTranslucent";
686 return "ShaderNodeBsdfTransparent";
688 return "ShaderNodeBsdfRayPortal";
690 return "ShaderNodeBsdfVelvet";
692 return "ShaderNodeVolumeTransparent";
694 return "ShaderNodeVolumeIsotropic";
696 return "ShaderNodeEmission";
698 return "ShaderNodeNewGeometry";
700 return "ShaderNodeLightPath";
702 return "ShaderNodeLightFalloff";
704 return "ShaderNodeObjectInfo";
706 return "ShaderNodeParticleInfo";
708 return "ShaderNodeHairInfo";
710 return "ShaderNodeBump";
712 return "ShaderNodeNormalMap";
714 return "ShaderNodeTangent";
716 return "ShaderNodeScript";
718 return "ShaderNodeTexImage";
720 return "ShaderNodeTexEnvironment";
722 return "ShaderNodeTexSky";
724 return "ShaderNodeTexGradient";
726 return "ShaderNodeTexNoise";
728 return "ShaderNodeTexMagic";
730 return "ShaderNodeTexWave";
732 return "ShaderNodeTexMusgrave";
734 return "ShaderNodeTexVoronoi";
736 return "ShaderNodeTexChecker";
738 return "ShaderNodeTexBrick";
740 return "ShaderNodeTexCoord";
742 return "CompositorNodeViewer";
744 return "CompositorNodeRGB";
746 return "CompositorNodeValue";
748 return "CompositorNodeMixRGB";
750 return "CompositorNodeValToRGB";
752 return "CompositorNodeRGBToBW";
754 return "CompositorNodeNormal";
756 return "CompositorNodeCurveVec";
758 return "CompositorNodeCurveRGB";
760 return "CompositorNodeAlphaOver";
762 return "CompositorNodeBlur";
764 return "CompositorNodeFilter";
766 return "CompositorNodeMapValue";
768 return "CompositorNodeMapRange";
770 return "CompositorNodeTime";
772 return "CompositorNodeVecBlur";
774 return "CompositorNodeSepRGBA";
776 return "CompositorNodeSepHSVA";
778 return "CompositorNodeSetAlpha";
780 return "CompositorNodeHueSat";
782 return "CompositorNodeImage";
784 return "CompositorNodeRLayers";
786 return "CompositorNodeComposite";
788 return "CompositorNodeOutputFile";
790 return "CompositorNodeTexture";
792 return "CompositorNodeTranslate";
794 return "CompositorNodeZcombine";
796 return "CompositorNodeCombRGBA";
798 return "CompositorNodeDilateErode";
800 return "CompositorNodeInpaint";
802 return "CompositorNodeDespeckle";
804 return "CompositorNodeRotate";
806 return "CompositorNodeScale";
808 return "CompositorNodeSepYCCA";
810 return "CompositorNodeCombYCCA";
812 return "CompositorNodeSepYUVA";
814 return "CompositorNodeCombYUVA";
816 return "CompositorNodeDiffMatte";
818 return "CompositorNodeColorSpill";
820 return "CompositorNodeChromaMatte";
822 return "CompositorNodeChannelMatte";
824 return "CompositorNodeFlip";
826 return "CompositorNodeSplitViewer";
828 return "CompositorNodeMapUV";
830 return "CompositorNodeIDMask";
832 return "CompositorNodeDoubleEdgeMask";
834 return "CompositorNodeDefocus";
836 return "CompositorNodeDisplace";
838 return "CompositorNodeCombHSVA";
840 return "CompositorNodeMath";
842 return "CompositorNodeLumaMatte";
844 return "CompositorNodeBrightContrast";
846 return "CompositorNodeGamma";
848 return "CompositorNodeInvert";
850 return "CompositorNodeNormalize";
852 return "CompositorNodeCrop";
854 return "CompositorNodeDBlur";
856 return "CompositorNodeBilateralblur";
858 return "CompositorNodePremulKey";
860 return "CompositorNodeGlare";
862 return "CompositorNodeTonemap";
864 return "CompositorNodeLensdist";
866 return "CompositorNodeLevels";
868 return "CompositorNodeColorMatte";
870 return "CompositorNodeDistanceMatte";
872 return "CompositorNodeColorBalance";
874 return "CompositorNodeHueCorrect";
876 return "CompositorNodeMovieClip";
878 return "CompositorNodeTransform";
880 return "CompositorNodeStabilize";
882 return "CompositorNodeMovieDistortion";
884 return "CompositorNodeBoxMask";
886 return "CompositorNodeEllipseMask";
888 return "CompositorNodeBokehImage";
890 return "CompositorNodeBokehBlur";
892 return "CompositorNodeSwitch";
894 return "CompositorNodeColorCorrection";
896 return "CompositorNodeMask";
898 return "CompositorNodeKeyingScreen";
900 return "CompositorNodeKeying";
902 return "CompositorNodeTrackPos";
904 return "CompositorNodePixelate";
906 return "TextureNodeOutput";
908 return "TextureNodeChecker";
910 return "TextureNodeTexture";
912 return "TextureNodeBricks";
914 return "TextureNodeMath";
916 return "TextureNodeMixRGB";
918 return "TextureNodeRGBToBW";
920 return "TextureNodeValToRGB";
922 return "TextureNodeImage";
924 return "TextureNodeCurveRGB";
926 return "TextureNodeInvert";
928 return "TextureNodeHueSaturation";
930 return "TextureNodeCurveTime";
932 return "TextureNodeRotate";
934 return "TextureNodeViewer";
936 return "TextureNodeTranslate";
938 return "TextureNodeCoordinates";
940 return "TextureNodeDistance";
942 return "TextureNodeCompose";
944 return "TextureNodeDecompose";
946 return "TextureNodeValToNor";
948 return "TextureNodeScale";
950 return "TextureNodeAt";
952 return "TextureNodeTexVoronoi";
954 return "TextureNodeTexBlend";
956 return "TextureNodeTexMagic";
958 return "TextureNodeTexMarble";
960 return "TextureNodeTexClouds";
962 return "TextureNodeTexWood";
964 return "TextureNodeTexMusgrave";
966 return "TextureNodeTexNoise";
968 return "TextureNodeTexStucci";
970 return "TextureNodeTexDistNoise";
978 switch (sock->
type) {
1015 switch (ntree->
type) {
1080 sizeof(sock->identifier));
1089 sizeof(sock->identifier));
1099 sizeof(sock->identifier));
1108 sizeof(sock->identifier));
1121 for (
int c = 0; c < 3; c++) {
1122 n->slope[c] = (2.0f - n->lift[c]) * n->gain[c];
1123 n->offset[c] = (n->lift[c] - 1.0f) * n->gain[c];
1124 n->power[c] = (n->gamma[c] != 0.0f) ? 1.0f / n->gamma[c] : 1000000.0f;
1132 for (
int c = 0; c < 3; c++) {
1133 float d = n->slope[c] + n->offset[c];
1134 n->lift[c] = (d != 0.0f ? n->slope[c] + 2.0f * n->offset[c] / d : 0.0f);
1136 n->gamma[c] = (n->power[c] != 0.0f) ? 1.0f / n->power[c] : 1000000.0f;
1144 if (
data &&
data->color_balance_legacy) {
1159 data->color_balance_legacy =
nullptr;
1166 enum { SEQ_MAKE_PREMUL = (1 << 6) };
1167 if (strip->
flag & SEQ_MAKE_PREMUL) {
1189 const char *identifier,
1191 const void *default_value,
1195 socket->
runtime = MEM_new<blender::bke::bNodeSocketRuntime>(__func__);
1197 socket->
type = int(type);
1198 socket->
in_out = int(in_out);
1219 ListBase *ntree_socket_list =
nullptr;
1220 ListBase *node_socket_list =
nullptr;
1227 ntree_socket_list = &ntree->inputs_legacy;
1229 node_socket_list = &node->
outputs;
1234 ntree_socket_list = &ntree->outputs_legacy;
1236 node_socket_list = &node->
inputs;
1244 node->
runtime = MEM_new<blender::bke::bNodeRuntime>(__func__);
1253 ntree->
typeinfo->node_add_init(ntree, node);
1262 tree_socket->identifier,
1264 tree_socket->default_value,
1286 if (sce->r.ffcodecdata.audio_channels == 0) {
1287 sce->r.ffcodecdata.audio_channels = 2;
1290 if (sce->nodetree) {
1306 if (part->rotmode == 0) {
1316 ob->collision_boundtype = ob->boundtype;
1321 if (cam->sensor_x < 0.01f) {
1325 if (cam->sensor_y < 0.01f) {
1353 if (sce->nodetree) {
1359 if (mat->nodetree) {
1397 if (clip->aspx < 1.0f) {
1404 if (clip->proxy.build_size_flag == 0) {
1408 if (clip->proxy.quality == 0) {
1409 clip->proxy.quality = 90;
1412 if (clip->tracking.camera.pixel_aspect < 0.01f) {
1413 clip->tracking.camera.pixel_aspect = 1.0f;
1417 clip->tracking.tracks_legacy.first);
1449 for (
i = 0;
i < 3;
i++) {
1450 if ((ob->dsize[
i] == 0.0f) ||
1451 (ob->scale[
i] == 0.0f))
1454 ob->dscale[
i] = 1.0f;
1457 ob->dscale[
i] = (ob->scale[
i] + ob->dsize[
i]) / ob->scale[
i];
1477 brush->alpha = 1.0f;
1487 if (sce->nodetree) {
1493 if (mat->nodetree) {
1499 if (tex->nodetree) {
1511 if (world->nodetree) {
1536 while (tracking_object) {
1537 if (!tracking_object->
scale) {
1538 tracking_object->
scale = 1.0f;
1550 if (
data->invmat[3][3] == 0.0f) {
1566 ups->
size = ts->sculpt_paint_unified_size;
1568 ups->
alpha = ts->sculpt_paint_unified_alpha;
1569 ups->
flag = ts->sculpt_paint_settings;
1585 if (added && tl == text->curl) {
1645 if (sce->nodetree) {
1669 if (!ks->idname[0]) {
1693 if (fmd->
fss->viscosityMode == 3) {
1697 else if (fmd->
fss->viscosityMode == 4) {
1716 if (sce->nodetree) {
1738 brush->weight = 0.5;
1780 if (cu->bevfac2 == 0.0f) {
1791 if (sce->nodetree) {
1806 if (sce->nodetree) {
1812 if (mat->nodetree) {
1818 if (tex->nodetree) {
1830 if (world->nodetree) {
1879 if (
data->maxblur == 0.0f) {
1880 data->maxblur = 16.0f;
1897 if (sclip->
around == 0) {
1908 clip->start_frame = 1;
1916 clip->tracking.tracks_legacy.first);
1930 if (node->storage ==
nullptr) {
1933 node->storage =
data;
1949 if (
data->despill_balance == 0.0f) {
1950 data->despill_balance = 0.5f;
1973 if (node->storage ==
nullptr) {
1976 data->size_x = int(node->custom3);
1977 data->size_y = int(node->custom4);
1978 node->custom3 = 0.5f;
1979 node->storage =
data;
1998 bool colormanagement_disabled =
false;
2011 colormanagement_disabled =
true;
2019 else if (colormanagement_disabled) {
2055 if (ob->pose->avs.path_step == 0) {
2079 if (tracking_object->keyframe1 == 0 && tracking_object->keyframe2 == 0) {
2148 if (scene->toolsettings->uvcalc_margin == 0.0f) {
2149 scene->toolsettings->uvcalc_margin = 0.001f;
2160 if (scene->r.tilex == 0 || scene->r.tiley == 1) {
2161 scene->r.tilex = scene->r.tiley = 64;
2169 if (ob->col_group == 0) {
2170 ob->col_group = 0x01;
2171 ob->col_mask = 0xff;
2195 switch (sl->spacetype) {
2235 if (image->flag & IMA_DO_PREMUL) {
2248 if (image && (image->
flag & IMA_DO_PREMUL) == 0) {
2249 enum { IMA_IGNORE_ALPHA = (1 << 12) };
2250 image->
flag |= IMA_IGNORE_ALPHA;
2268 if (cu->extrude != 0.0f || cu->bevel_radius != 0.0f) {
2283 a = nu->pntsu * nu->pntsv;
2341 snode->
id =
nullptr;
2342 snode->
from =
nullptr;
2345 switch (snode->treetype) {
2371 if (
id == &ntree->id) {
2396 bNode *input_node =
nullptr, *output_node =
nullptr;
2397 int num_inputs = 0, num_outputs = 0;
2405 float input_locx = 1000000.0f, input_locy = 0.0f;
2406 float output_locx = -1000000.0f, output_locy = 0.0f;
2408 const float offsetx = 42 + 3 * 20 + 20;
2411 if (create_io_nodes) {
2412 if (ntree->inputs_legacy.first) {
2416 if (ntree->outputs_legacy.first) {
2425 for (link =
static_cast<bNodeLink *
>(ntree->links.first); link !=
nullptr; link = next_link)
2427 bool free_link =
false;
2428 next_link = link->
next;
2447 if (link->
tonode ==
nullptr) {
2449 link->
tonode = output_node;
2469 if (num_inputs > 0) {
2470 input_locy /= num_inputs;
2474 if (num_outputs > 0) {
2475 output_locy /= num_outputs;
2476 output_node->locx_legacy = output_locx;
2477 output_node->locy_legacy = output_locy;
2490 for (link =
static_cast<bNodeLink *
>(ntree->links.first); link !=
nullptr; link = next_link)
2492 next_link = link->
next;
2506 brush->spacing /= 2;
2512#define BRUSH_TEXTURE_OVERLAY (1 << 21)
2515 brush->overlay_flags = 0;
2520#undef BRUSH_TEXTURE_OVERLAY
2526 if (brush->stencil_dimension[0] == 0) {
2527 brush->stencil_dimension[0] = 256;
2528 brush->stencil_dimension[1] = 256;
2529 brush->stencil_pos[0] = 256;
2530 brush->stencil_pos[1] = 256;
2532 if (brush->mask_stencil_dimension[0] == 0) {
2533 brush->mask_stencil_dimension[0] = 256;
2534 brush->mask_stencil_dimension[1] = 256;
2535 brush->mask_stencil_pos[0] = 256;
2536 brush->mask_stencil_pos[1] = 256;
2555 if (sce->r.line_thickness_mode == 0) {
2557 sce->r.unit_line_thickness = 1.0f;
2560 if (srl->freestyleConfig.mode == 0) {
2563 if (
ELEM(srl->freestyleConfig.raycasting_algorithm,
2567 srl->freestyleConfig.raycasting_algorithm = 0;
2574 MeshStatVis *statvis = &sce->toolsettings->statvis;
2598 if (linestyle->thickness_position == 0) {
2600 linestyle->thickness_ratio = 0.5f;
2602 if (linestyle->chaining == 0) {
2605 if (linestyle->rounds == 0) {
2606 linestyle->rounds = 3;
2629 if (active_viewer_key.
value != 0) {
2633 if (active_viewer_key.
value != 0) {
2640 if (scene->nodetree) {
2641 scene->nodetree->active_viewer_key = active_viewer_key;
2652 if (fmd->
domain->
flags & FLUID_DOMAIN_USE_HIGH_SMOOTH) {
2666 brush->spacing = std::max(1, brush->spacing);
2671#define BRUSH_FIXED (1 << 6)
2675 if (brush->cursor_overlay_alpha < 2) {
2676 brush->cursor_overlay_alpha = 33;
2678 if (brush->texture_overlay_alpha < 2) {
2679 brush->texture_overlay_alpha = 33;
2681 if (brush->mask_overlay_alpha < 2) {
2682 brush->mask_overlay_alpha = 33;
2730 if (snode->
zoom < 0.02f) {
2754 if (region ==
nullptr) {
2776 if (node->custom1 == SHD_SUBSURFACE_COMPATIBLE) {
2777 node->custom1 = SHD_SUBSURFACE_CUBIC;
2793 if (node->custom1 == 0) {
2797 else if (node->custom1 == 1) {
2831 if (!DNA_struct_member_exists(fd->
filesdna,
"MovieTrackingTrack",
"float",
"weight")) {
2837 &tracking_object->tracks;
2839 track->weight = 1.0f;
2845 if (!DNA_struct_member_exists(fd->
filesdna,
"TriangulateModifierData",
"int",
"quad_method")) {
2850 if (tmd->
flag & MOD_TRIANGULATE_BEAUTY) {
2871 if (scene->toolsettings->snap_node_mode == 0) {
2872 scene->toolsettings->snap_node_mode = 8;
2886 la->spotsize =
DEG2RADF(la->spotsize);
2917 n->rotation =
DEG2RADF(n->rotation);
2921 n->rotation =
DEG2RADF(n->rotation);
2929 if (!DNA_struct_member_exists(
2930 fd->
filesdna,
"MovieTrackingPlaneTrack",
"float",
"image_opacity"))
2936 plane_track->image_opacity = 1.0f;
2944 Sculpt *sd = scene->toolsettings->sculpt;
2948 SCULPT_SYMM_X = (1 << 0),
2949 SCULPT_SYMM_Y = (1 << 1),
2950 SCULPT_SYMM_Z = (1 << 2),
2951 SCULPT_SYMMETRY_FEATHER = (1 << 6),
2953 int symmetry_flags = sd->
flags & 7;
2955 if (symmetry_flags & SCULPT_SYMM_X) {
2958 if (symmetry_flags & SCULPT_SYMM_Y) {
2961 if (symmetry_flags & SCULPT_SYMM_Z) {
2964 if (symmetry_flags & SCULPT_SYMMETRY_FEATHER) {
2999 if (space_link == area->spacedata.first) {
3000 lb = &area->regionbase;
3003 lb = &space_link->regionbase;
void animviz_settings_init(struct bAnimVizSettings *avs)
CustomData interface, see also DNA_customdata_types.h.
void CustomData_free_layers(CustomData *data, eCustomDataType type)
void CustomData_update_typemap(CustomData *data)
IDProperty * IDP_CopyProperty(const IDProperty *prop) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_image_alpha_mode_from_extension(Image *image)
#define MAIN_VERSION_FILE_ATLEAST(main, ver, subver)
#define MAIN_VERSION_FILE_OLDER(main, ver, subver)
void BKE_mesh_do_versions_cd_flag_init(Mesh *mesh)
#define NODE_GROUP_OUTPUT
#define FOREACH_NODETREE_END
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
#define SH_NODE_TEX_NOISE
#define SH_NODE_MIX_SHADER
#define CMP_NODE_PREMULKEY
#define SH_NODE_MIX_RGB_LEGACY
#define SH_NODE_TEX_GRADIENT
#define SH_NODE_COMBRGB_LEGACY
#define TEX_NODE_DISTANCE
#define CMP_NODE_MATH_DEPRECATED
#define CMP_NODE_SEPHSVA_LEGACY
#define CMP_NODE_VALUE_DEPRECATED
#define CMP_NODE_COLOR_SPILL
#define SH_NODE_TEX_MAGIC
#define SH_NODE_OUTPUT_WORLD
#define SH_NODE_BRIGHTCONTRAST
#define CMP_NODE_DESPECKLE
#define CMP_NODE_LUMA_MATTE
#define CMP_NODE_KEYINGSCREEN
#define CMP_NODE_MASK_ELLIPSE
#define CMP_NODE_DISPLACE
#define SH_NODE_TEX_IMAGE
#define CMP_NODE_COMBYCCA_LEGACY
#define CMP_NODE_SEPRGBA_LEGACY
#define CMP_NODE_BILATERALBLUR
#define CMP_NODE_TRANSLATE
#define CMP_NODE_MOVIEDISTORTION
#define SH_NODE_ADD_SHADER
#define CMP_NODE_MAP_RANGE_DEPRECATED
#define SH_NODE_LAYER_WEIGHT
#define SH_NODE_SUBSURFACE_SCATTERING
#define CMP_NODE_COLORBALANCE
#define TEX_NODE_DECOMPOSE_LEGACY
#define CMP_NODE_BOKEHIMAGE
#define SH_NODE_TEX_BRICK
#define SH_NODE_SEPRGB_LEGACY
#define CMP_NODE_COMBYUVA_LEGACY
#define SH_NODE_TEX_COORD
#define CMP_NODE_DIFF_MATTE
#define SH_NODE_VECTOR_MATH
#define SH_NODE_TEX_ENVIRONMENT
#define SH_NODE_NORMAL_MAP
#define SH_NODE_CURVE_VEC
#define CMP_NODE_ALPHAOVER
#define CMP_NODE_MAP_VALUE_DEPRECATED
#define TEX_NODE_TRANSLATE
#define CMP_NODE_HUECORRECT
#define CMP_NODE_SEPYUVA_LEGACY
#define TEX_NODE_VALTONOR
#define CMP_NODE_COMBHSVA_LEGACY
#define CMP_NODE_CHROMA_MATTE
#define SH_NODE_BSDF_TRANSPARENT
#define CMP_NODE_MOVIECLIP
#define CMP_NODE_TRANSFORM
#define CMP_NODE_DILATEERODE
#define SH_NODE_BSDF_DIFFUSE
#define SH_NODE_HAIR_INFO
#define SH_NODE_AMBIENT_OCCLUSION
#define CMP_NODE_BOKEHBLUR
#define TEX_NODE_COMPOSE_LEGACY
#define CMP_NODE_LENSDIST
#define CMP_NODE_NORMALIZE
#define CMP_NODE_ZCOMBINE
#define CMP_NODE_TRACKPOS
#define SH_NODE_OUTPUT_MATERIAL
#define CMP_NODE_MIX_RGB_DEPRECATED
#define CMP_NODE_OUTPUT_FILE
#define CMP_NODE_COLORCORRECTION
#define SH_NODE_BSDF_TRANSLUCENT
#define CMP_NODE_SETALPHA
#define SH_NODE_BACKGROUND
#define SH_NODE_BSDF_RAY_PORTAL
#define CMP_NODE_CURVE_RGB
#define CMP_NODE_DOUBLEEDGEMASK
#define CMP_NODE_GAMMA_DEPRECATED
#define SH_NODE_TEX_CHECKER
#define SH_NODE_TEX_VORONOI
#define CMP_NODE_VALTORGB_DEPRECATED
#define CMP_NODE_STABILIZE2D
#define SH_NODE_OBJECT_INFO
#define SH_NODE_TEX_MUSGRAVE_DEPRECATED
#define CMP_NODE_PIXELATE
#define SH_NODE_CURVE_RGB
#define CMP_NODE_COMBRGBA_LEGACY
#define CMP_NODE_COMPOSITE_DEPRECATED
#define CMP_NODE_MASK_BOX
#define CMP_NODE_SPLITVIEWER__DEPRECATED
#define CMP_NODE_TEXTURE_DEPRECATED
#define TEX_NODE_CURVE_TIME
#define SH_NODE_LIGHT_FALLOFF
#define SH_NODE_BSDF_GLASS
#define CMP_NODE_R_LAYERS
#define SH_NODE_NEW_GEOMETRY
#define CMP_NODE_SEPYCCA_LEGACY
#define SH_NODE_PARTICLE_INFO
#define CMP_NODE_COLOR_MATTE
#define CMP_NODE_DIST_MATTE
#define CMP_NODE_OUTPUT_MULTI_FILE__DEPRECATED
#define SH_NODE_BSDF_REFRACTION
#define CMP_NODE_VIEW_LEVELS
#define CMP_NODE_CURVE_VEC_DEPRECATED
#define SH_NODE_OUTPUT_LIGHT
#define TEX_NODE_VALTORGB
#define CMP_NODE_BRIGHTCONTRAST
#define TEX_NODE_CURVE_RGB
#define CMP_NODE_CHANNEL_MATTE
#define SH_NODE_ATTRIBUTE
#define SH_NODE_LIGHT_PATH
void BKE_ntree_update_tag_node_new(bNodeTree *ntree, bNode *node)
void BKE_ntree_update_tag_socket_type(bNodeTree *ntree, bNodeSocket *socket)
void BKE_ntree_update_tag_socket_new(bNodeTree *ntree, bNodeSocket *socket)
void BKE_scene_disable_color_management(Scene *scene)
ARegion * BKE_area_region_new()
ARegion * BKE_area_find_region_type(const ScrArea *area, int region_type)
int txt_extended_ascii_as_utf8(char **str)
void BKE_texture_mtex_default(struct MTex *mtex)
struct MovieTrackingObject * BKE_tracking_object_add(struct MovieTracking *tracking, const char *name)
#define BLI_assert_unreachable()
int BLI_findindex(const ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
BLI_INLINE void BLI_listbase_clear(ListBase *lb)
BLI_INLINE bool BLI_listbase_is_empty(const ListBase *lb)
void BLI_addtail(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_insertlinkafter(ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
MINLINE int max_iii(int a, int b, int c)
void unit_m4(float m[4][4])
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE bool is_zero_v2(const float v[2]) ATTR_WARN_UNUSED_RESULT
MINLINE void copy_v3_v3(float r[3], const float a[3])
void copy_vn_fl(float *array_tar, int size, float val)
MINLINE bool is_zero_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT
void BLI_path_split_dir_file(const char *filepath, char *dir, size_t dir_maxncpy, char *file, size_t file_maxncpy) ATTR_NONNULL(1
char * STRNCPY(char(&dst)[N], const char *src)
#define SNPRINTF_UTF8(dst, format,...)
size_t BLI_strlen_utf8(const char *strc) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
#define STRNCPY_UTF8(dst, src)
size_t void BLI_uniquename_cb(blender::FunctionRef< bool(blender::StringRefNull)> unique_check, const char *defname, char delim, char *name, size_t name_maxncpy) ATTR_NONNULL(2
void BLI_uniquename(const struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t name_maxncpy) ATTR_NONNULL(1
#define POINTER_AS_INT(i)
external readfile function prototypes.
#define ID_IS_LINKED(_id)
@ SCULPT_BRUSH_TYPE_ROTATE
#define DEFAULT_SENSOR_HEIGHT
#define DEFAULT_SENSOR_WIDTH
@ CONSTRAINT_TYPE_OBJECTSOLVER
@ CONSTRAINT_TYPE_SHRINKWRAP
@ FREESTYLE_CONTROL_EDITOR_MODE
@ FREESTYLE_ALGO_CULLED_ADAPTIVE_CUMULATIVE
@ FREESTYLE_ALGO_CULLED_ADAPTIVE_TRADITIONAL
blenloader genfile private function prototypes
@ MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS
@ MOD_TRIANGULATE_QUAD_FIXED
@ MOD_TRIANGULATE_QUAD_BEAUTY
@ eModifierType_EdgeSplit
@ eModifierType_DynamicPaint
@ eModifierType_Triangulate
@ MOD_BUILD_FLAG_RANDOMIZE
@ MOD_TRIANGULATE_NGON_BEAUTY
@ MOD_TRIANGULATE_NGON_EARCLIP
Object is a sort of wrapper for general info.
@ SCULPT_DYNTOPO_SUBDIVIDE
@ R_IMF_JP2_FLAG_CINE_PRESET
@ UVCALC_UNWRAP_METHOD_ANGLE
@ R_LINE_THICKNESS_ABSOLUTE
@ R_IMF_COLOR_MANAGEMENT_FOLLOW_SCENE
@ R_IMF_IMTYPE_MULTILAYER
@ eSeqModifierType_ColorBalance
@ SEQ_PREVIEW_SHOW_GPENCIL
@ TRACK_MOTION_MODEL_TRANSLATION
@ V3D_SHOW_RECONSTRUCTION
@ V3D_AROUND_CENTER_MEDIAN
Read Guarded memory(de)allocation.
@ IMB_TC_RECORD_RUN_NO_GAPS
BMesh const char void * data
void * MEM_callocN(size_t len, const char *str)
void * MEM_dupallocN(const void *vmemh)
void MEM_freeN(void *vmemh)
void node_remove_socket(bNodeTree &ntree, bNode &node, bNodeSocket &sock)
void node_unique_id(bNodeTree &ntree, bNode &node)
void node_remove_link(bNodeTree *ntree, bNodeLink &link)
bNodeSocket * node_add_static_socket(bNodeTree &ntree, bNode &node, eNodeSocketInOut in_out, int type, int subtype, StringRefNull identifier, StringRefNull name)
std::optional< StringRefNull > node_static_socket_type(int type, int subtype, std::optional< int > dimensions=std::nullopt)
void node_unique_name(bNodeTree &ntree, bNode &node)
void foreach_strip(ListBase *seqbase, ForEachFunc callback, void *user_data)
StripModifierData * modifier_new(Strip *strip, const char *name, int type)
void alpha_mode_from_file_extension(Strip *strip)
bNodeSocket * node_group_output_find_socket(bNode *node, const StringRef identifier)
bNodeSocket * node_group_input_find_socket(bNode *node, const StringRef identifier)
void * blo_do_versions_newlibadr(FileData *fd, ID *self_id, const bool is_linked_only, const void *adr)
void blo_do_versions_key_uidgen(Key *key)
struct ClothSimSettings * sim_parms
StripColorBalance color_balance
struct DynamicPaintCanvasSettings * canvas
float color_dry_threshold
struct DynamicPaintSurface * next
float flame_smoke_color[3]
struct FluidDomainSettings * domain
struct FluidFlowSettings * flow
struct FluidsimSettings * fss
float pattern_corners[4][2]
struct MovieTrackingObject * next
short default_motion_model
float default_minimum_correlation
short default_pattern_size
short default_search_size
float minimum_correlation
float search_max_legacy[2]
MovieTrackingMarker * markers
struct MovieTrackingTrack * next
float search_min_legacy[2]
MovieTrackingSettings settings
struct ImageFormatData im_format
struct ImageFormatData im_format
struct MovieClipScopes scopes
struct bNodeTree * edittree
struct bNodeTree * nodetree
bNodeSocketRuntimeHandle * runtime
bNodeInstanceKey parent_key
bNodeTreeTypeHandle * typeinfo
bNodeRuntimeHandle * runtime
static bool unique_path_unique_check(ListBase *lb, bNodeSocket *sock, const blender::StringRef name)
static bool strip_set_alpha_mode_cb(Strip *strip, void *)
static void ntreeCompositOutputFileUniquePath(ListBase *list, bNodeSocket *sock, const char defname[], char delim)
static bool strip_colorbalance_update_cb(Strip *strip, void *)
void blo_do_versions_260(FileData *fd, Library *, Main *bmain)
static void do_versions_nodetree_multi_file_output_path_2_63_1(bNodeTree *ntree)
static void do_versions_nodetree_file_output_layers_2_64_5(bNodeTree *ntree)
static void do_versions_nodetree_convert_angle(bNodeTree *ntree)
static bool unique_layer_unique_check(ListBase *lb, bNodeSocket *sock, const blender::StringRef name)
static bNode * version_add_group_in_out_node(bNodeTree *ntree, const int type)
static blender::StringRefNull node_socket_get_static_idname(bNodeSocket *sock)
static void do_versions_affine_tracker_track(MovieTrackingTrack *track)
static void color_balance_node_lgg_from_cdl(bNode *node)
#define CLANG_FORMAT_NOP_WORKAROUND
void do_versions_after_linking_260(Main *)
static void do_versions_image_settings_2_60(Scene *sce)
static void do_versions_nodetree_socket_use_flags_2_62(bNodeTree *ntree)
static const char * node_get_static_idname(int type, int treetype)
static void do_versions_mesh_mloopcol_swap_2_62_1(Mesh *mesh)
static void color_balance_node_cdl_from_lgg(bNode *node)
static void do_versions_nodetree_image_layer_2_64_5(bNodeTree *ntree)
static void do_versions_nodetree_image_default_alpha_output(bNodeTree *ntree)
static bool strip_set_wipe_angle_cb(Strip *strip, void *)
static void ntreeCompositOutputFileUniqueLayer(ListBase *list, bNodeSocket *sock, const char defname[], char delim)
static void do_versions_nodetree_frame_2_64_6(bNodeTree *ntree)
static void do_versions_nodetree_customnodes(bNodeTree *ntree, int)
static bNodeSocket * ntreeCompositOutputFileAddSocket(bNodeTree *ntree, bNode *node, const char *name, const ImageFormatData *im_format)
static bNodeSocket * version_make_socket_stub(const char *idname, eNodeSocketDatatype type, eNodeSocketInOut in_out, const char *identifier, const char *name, const void *default_value, const IDProperty *prop)
static void do_versions_nodetree_multi_file_output_format_2_62_1(Scene *sce, bNodeTree *ntree)
#define BRUSH_TEXTURE_OVERLAY