diff --git a/source/blender/nodes/texture/CMakeLists.txt b/source/blender/nodes/texture/CMakeLists.txt index 2d704ac2228..3c3135bd909 100644 --- a/source/blender/nodes/texture/CMakeLists.txt +++ b/source/blender/nodes/texture/CMakeLists.txt @@ -22,35 +22,35 @@ set(INC set(SRC - nodes/node_texture_at.c - nodes/node_texture_bricks.c - nodes/node_texture_checker.c - nodes/node_texture_combine_color.c - nodes/node_texture_common.c - nodes/node_texture_compose.c - nodes/node_texture_coord.c - nodes/node_texture_curves.c - nodes/node_texture_decompose.c - nodes/node_texture_distance.c - nodes/node_texture_hueSatVal.c - nodes/node_texture_image.c - nodes/node_texture_invert.c - nodes/node_texture_math.c - nodes/node_texture_mixRgb.c - nodes/node_texture_output.c - nodes/node_texture_proc.c - nodes/node_texture_rotate.c - nodes/node_texture_scale.c - nodes/node_texture_separate_color.c - nodes/node_texture_texture.c - nodes/node_texture_translate.c - nodes/node_texture_valToNor.c - nodes/node_texture_valToRgb.c - nodes/node_texture_viewer.c - node_texture_tree.c - node_texture_util.c + nodes/node_texture_at.cc + nodes/node_texture_bricks.cc + nodes/node_texture_checker.cc + nodes/node_texture_combine_color.cc + nodes/node_texture_common.cc + nodes/node_texture_compose.cc + nodes/node_texture_coord.cc + nodes/node_texture_curves.cc + nodes/node_texture_decompose.cc + nodes/node_texture_distance.cc + nodes/node_texture_hueSatVal.cc + nodes/node_texture_image.cc + nodes/node_texture_invert.cc + nodes/node_texture_math.cc + nodes/node_texture_mixRgb.cc + nodes/node_texture_output.cc + nodes/node_texture_proc.cc + nodes/node_texture_rotate.cc + nodes/node_texture_scale.cc + nodes/node_texture_separate_color.cc + nodes/node_texture_texture.cc + nodes/node_texture_translate.cc + nodes/node_texture_valToNor.cc + nodes/node_texture_valToRgb.cc + nodes/node_texture_viewer.cc + node_texture_tree.cc + node_texture_util.cc - node_texture_util.h + node_texture_util.hh ) set(LIB diff --git a/source/blender/nodes/texture/node_texture_tree.c b/source/blender/nodes/texture/node_texture_tree.cc similarity index 93% rename from source/blender/nodes/texture/node_texture_tree.c rename to source/blender/nodes/texture/node_texture_tree.cc index 99146f1a25c..f35d98891db 100644 --- a/source/blender/nodes/texture/node_texture_tree.c +++ b/source/blender/nodes/texture/node_texture_tree.cc @@ -26,7 +26,7 @@ #include "NOD_texture.h" #include "node_common.h" #include "node_exec.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include "node_util.h" #include "DEG_depsgraph.h" @@ -106,7 +106,7 @@ static void localize(bNodeTree *localtree, bNodeTree *UNUSED(ntree)) bNode *node, *node_next; /* replace muted nodes and reroute nodes by internal links */ - for (node = localtree->nodes.first; node; node = node_next) { + for (node = static_cast(localtree->nodes.first); node; node = node_next) { node_next = node->next; if (node->flag & NODE_MUTED || node->type == NODE_REROUTE) { @@ -137,8 +137,7 @@ bNodeTreeType *ntreeType_Texture; void register_node_tree_type_tex(void) { - bNodeTreeType *tt = ntreeType_Texture = MEM_callocN(sizeof(bNodeTreeType), - "texture node tree type"); + bNodeTreeType *tt = ntreeType_Texture = MEM_cnew("texture node tree type"); tt->type = NTREE_TEXTURE; strcpy(tt->idname, "TextureNodeTree"); @@ -173,7 +172,7 @@ bNodeThreadStack *ntreeGetThreadStack(bNodeTreeExec *exec, int thread) } if (!nts) { - nts = MEM_callocN(sizeof(bNodeThreadStack), "bNodeThreadStack"); + nts = MEM_cnew("bNodeThreadStack"); nts->stack = (bNodeStack *)MEM_dupallocN(exec->stack); nts->used = true; BLI_addtail(lb, nts); @@ -226,9 +225,9 @@ bNodeTreeExec *ntreeTexBeginExecTree_internal(bNodeExecContext *context, exec = ntree_exec_begin(context, ntree, parent_key); /* allocate the thread stack listbase array */ - exec->threadstack = MEM_callocN(BLENDER_MAX_THREADS * sizeof(ListBase), "thread stack array"); + exec->threadstack = MEM_cnew_array(BLENDER_MAX_THREADS, "thread stack array"); - for (node = exec->nodetree->nodes.first; node; node = node->next) { + for (node = static_cast(exec->nodetree->nodes.first); node; node = node->next) { node->need_exec = 1; } @@ -267,7 +266,8 @@ static void tex_free_delegates(bNodeTreeExec *exec) int th, a; for (th = 0; th < BLENDER_MAX_THREADS; th++) { - for (nts = exec->threadstack[th].first; nts; nts = nts->next) { + for (nts = static_cast(exec->threadstack[th].first); nts; + nts = nts->next) { for (ns = nts->stack, a = 0; a < exec->stacksize; a++, ns++) { if (ns->data && !ns->is_copy) { MEM_freeN(ns->data); @@ -286,7 +286,8 @@ void ntreeTexEndExecTree_internal(bNodeTreeExec *exec) tex_free_delegates(exec); for (a = 0; a < BLENDER_MAX_THREADS; a++) { - for (nts = exec->threadstack[a].first; nts; nts = nts->next) { + for (nts = static_cast(exec->threadstack[a].first); nts; + nts = nts->next) { if (nts->stack) { MEM_freeN(nts->stack); } diff --git a/source/blender/nodes/texture/node_texture_util.c b/source/blender/nodes/texture/node_texture_util.cc similarity index 92% rename from source/blender/nodes/texture/node_texture_util.c rename to source/blender/nodes/texture/node_texture_util.cc index 248114f242a..e61a3018964 100644 --- a/source/blender/nodes/texture/node_texture_util.c +++ b/source/blender/nodes/texture/node_texture_util.cc @@ -21,7 +21,7 @@ * over other previous ones. */ -#include "node_texture_util.h" +#include "node_texture_util.hh" bool tex_node_poll_default(bNodeType *UNUSED(ntype), bNodeTree *ntree, @@ -51,7 +51,7 @@ static void tex_call_delegate(TexDelegate *dg, float *out, TexParams *params, sh static void tex_input(float *out, int num, bNodeStack *in, TexParams *params, short thread) { - TexDelegate *dg = in->data; + TexDelegate *dg = static_cast(in->data); if (dg) { tex_call_delegate(dg, in->vec, params, thread); @@ -118,10 +118,11 @@ void tex_output(bNode *node, if (!out->data) { /* Freed in tex_end_exec (node.cc) */ - dg = out->data = MEM_mallocN(sizeof(TexDelegate), "tex delegate"); + dg = MEM_new("tex delegate"); + out->data = dg; } else { - dg = out->data; + dg = static_cast(out->data); } dg->cdata = cdata; @@ -135,7 +136,7 @@ void tex_output(bNode *node, void ntreeTexCheckCyclics(struct bNodeTree *ntree) { bNode *node; - for (node = ntree->nodes.first; node; node = node->next) { + for (node = static_cast(ntree->nodes.first); node; node = node->next) { if (node->type == TEX_NODE_TEXTURE && node->id) { /* custom2 stops the node from rendering */ diff --git a/source/blender/nodes/texture/node_texture_util.h b/source/blender/nodes/texture/node_texture_util.hh similarity index 100% rename from source/blender/nodes/texture/node_texture_util.h rename to source/blender/nodes/texture/node_texture_util.hh diff --git a/source/blender/nodes/texture/nodes/node_texture_at.c b/source/blender/nodes/texture/nodes/node_texture_at.cc similarity index 91% rename from source/blender/nodes/texture/nodes/node_texture_at.c rename to source/blender/nodes/texture/nodes/node_texture_at.cc index e2e635b7d92..65e6a2eb5d7 100644 --- a/source/blender/nodes/texture/nodes/node_texture_at.c +++ b/source/blender/nodes/texture/nodes/node_texture_at.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" static bNodeSocketTemplate inputs[] = { {SOCK_RGBA, N_("Texture"), 0.0f, 0.0f, 0.0f, 1.0f}, @@ -35,7 +35,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_at(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_bricks.c b/source/blender/nodes/texture/nodes/node_texture_bricks.cc similarity index 96% rename from source/blender/nodes/texture/nodes/node_texture_bricks.c rename to source/blender/nodes/texture/nodes/node_texture_bricks.cc index b68bf4fcb8d..abee596d229 100644 --- a/source/blender/nodes/texture/nodes/node_texture_bricks.c +++ b/source/blender/nodes/texture/nodes/node_texture_bricks.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include @@ -96,7 +96,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_bricks(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_checker.c b/source/blender/nodes/texture/nodes/node_texture_checker.cc similarity index 93% rename from source/blender/nodes/texture/nodes/node_texture_checker.c rename to source/blender/nodes/texture/nodes/node_texture_checker.cc index d66eb7e6953..c920ec77725 100644 --- a/source/blender/nodes/texture/nodes/node_texture_checker.c +++ b/source/blender/nodes/texture/nodes/node_texture_checker.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include static bNodeSocketTemplate inputs[] = { @@ -47,7 +47,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_checker(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_combine_color.c b/source/blender/nodes/texture/nodes/node_texture_combine_color.cc similarity index 94% rename from source/blender/nodes/texture/nodes/node_texture_combine_color.c rename to source/blender/nodes/texture/nodes/node_texture_combine_color.cc index e6a8080bb48..7b3510766c8 100644 --- a/source/blender/nodes/texture/nodes/node_texture_combine_color.c +++ b/source/blender/nodes/texture/nodes/node_texture_combine_color.cc @@ -7,7 +7,7 @@ #include "BLI_listbase.h" #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" static bNodeSocketTemplate inputs[] = { {SOCK_FLOAT, N_("Red"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR}, @@ -60,7 +60,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_combine_color(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_common.c b/source/blender/nodes/texture/nodes/node_texture_common.cc similarity index 86% rename from source/blender/nodes/texture/nodes/node_texture_common.c rename to source/blender/nodes/texture/nodes/node_texture_common.cc index 8ff4ad61387..6fbb17860a7 100644 --- a/source/blender/nodes/texture/nodes/node_texture_common.c +++ b/source/blender/nodes/texture/nodes/node_texture_common.cc @@ -14,7 +14,7 @@ #include "NOD_common.h" #include "node_common.h" #include "node_exec.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include "RNA_access.h" @@ -65,9 +65,10 @@ static void group_copy_inputs(bNode *gnode, bNodeStack **in, bNodeStack *gstack) bNodeStack *ns; int a; - for (node = ngroup->nodes.first; node; node = node->next) { + for (node = static_cast(ngroup->nodes.first); node; node = node->next) { if (node->type == NODE_GROUP_INPUT) { - for (sock = node->outputs.first, a = 0; sock; sock = sock->next, a++) { + for (sock = static_cast(node->outputs.first), a = 0; sock; + sock = sock->next, a++) { if (in[a]) { /* shouldn't need to check this T36694. */ ns = node_get_socket_stack(gstack, sock); if (ns) { @@ -89,9 +90,10 @@ static void group_copy_outputs(bNode *gnode, bNodeStack **out, bNodeStack *gstac bNodeStack *ns; int a; - for (node = ngroup->nodes.first; node; node = node->next) { + for (node = static_cast(ngroup->nodes.first); node; node = node->next) { if (node->type == NODE_GROUP_OUTPUT && (node->flag & NODE_DO_OUTPUT)) { - for (sock = node->inputs.first, a = 0; sock; sock = sock->next, a++) { + for (sock = static_cast(node->inputs.first), a = 0; sock; + sock = sock->next, a++) { if (out[a]) { /* shouldn't need to check this T36694. */ ns = node_get_socket_stack(gstack, sock); if (ns) { @@ -111,7 +113,7 @@ static void group_execute(void *data, struct bNodeStack **in, struct bNodeStack **out) { - bNodeTreeExec *exec = execdata->data; + bNodeTreeExec *exec = static_cast(execdata->data); bNodeThreadStack *nts; if (!exec) { @@ -123,7 +125,7 @@ static void group_execute(void *data, */ { bNode *inode; - for (inode = exec->nodetree->nodes.first; inode; inode = inode->next) { + for (inode = static_cast(exec->nodetree->nodes.first); inode; inode = inode->next) { inode->need_exec = 1; } } diff --git a/source/blender/nodes/texture/nodes/node_texture_compose.c b/source/blender/nodes/texture/nodes/node_texture_compose.cc similarity index 91% rename from source/blender/nodes/texture/nodes/node_texture_compose.c rename to source/blender/nodes/texture/nodes/node_texture_compose.cc index d41566be74c..b63e7536ea2 100644 --- a/source/blender/nodes/texture/nodes/node_texture_compose.c +++ b/source/blender/nodes/texture/nodes/node_texture_compose.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" static bNodeSocketTemplate inputs[] = { {SOCK_FLOAT, N_("Red"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED}, @@ -35,7 +35,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_compose(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_coord.c b/source/blender/nodes/texture/nodes/node_texture_coord.cc similarity index 88% rename from source/blender/nodes/texture/nodes/node_texture_coord.c rename to source/blender/nodes/texture/nodes/node_texture_coord.cc index 1babea310f4..ddf453e3506 100644 --- a/source/blender/nodes/texture/nodes/node_texture_coord.c +++ b/source/blender/nodes/texture/nodes/node_texture_coord.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" static bNodeSocketTemplate outputs[] = { {SOCK_VECTOR, N_("Coordinates")}, @@ -26,7 +26,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &vectorfn, data); + tex_output(node, execdata, in, out[0], &vectorfn, static_cast(data)); } void register_node_type_tex_coord(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_curves.c b/source/blender/nodes/texture/nodes/node_texture_curves.cc similarity index 86% rename from source/blender/nodes/texture/nodes/node_texture_curves.c rename to source/blender/nodes/texture/nodes/node_texture_curves.cc index bdee2adb1ba..8e73eb33303 100644 --- a/source/blender/nodes/texture/nodes/node_texture_curves.c +++ b/source/blender/nodes/texture/nodes/node_texture_curves.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" /* **************** CURVE Time ******************** */ @@ -23,8 +23,9 @@ static void time_colorfn( fac = (p->cfra - node->custom1) / (float)(node->custom2 - node->custom1); } - BKE_curvemapping_init(node->storage); - fac = BKE_curvemapping_evaluateF(node->storage, 0, fac); + CurveMapping *mapping = static_cast(node->storage); + BKE_curvemapping_init(mapping); + fac = BKE_curvemapping_evaluateF(mapping, 0, fac); out[0] = CLAMPIS(fac, 0.0f, 1.0f); } @@ -35,7 +36,7 @@ static void time_exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &time_colorfn, data); + tex_output(node, execdata, in, out[0], &time_colorfn, static_cast(data)); } static void time_init(bNodeTree *UNUSED(ntree), bNode *node) @@ -76,7 +77,7 @@ static void rgb_colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, float cin[4]; tex_input_rgba(cin, in[0], p, thread); - BKE_curvemapping_evaluateRGBF(node->storage, out, cin); + BKE_curvemapping_evaluateRGBF(static_cast(node->storage), out, cin); out[3] = cin[3]; } @@ -87,7 +88,7 @@ static void rgb_exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &rgb_colorfn, data); + tex_output(node, execdata, in, out[0], &rgb_colorfn, static_cast(data)); } static void rgb_init(bNodeTree *UNUSED(ntree), bNode *node) diff --git a/source/blender/nodes/texture/nodes/node_texture_decompose.c b/source/blender/nodes/texture/nodes/node_texture_decompose.cc similarity index 81% rename from source/blender/nodes/texture/nodes/node_texture_decompose.c rename to source/blender/nodes/texture/nodes/node_texture_decompose.cc index ae7e80a6aab..918649cad31 100644 --- a/source/blender/nodes/texture/nodes/node_texture_decompose.c +++ b/source/blender/nodes/texture/nodes/node_texture_decompose.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include static bNodeSocketTemplate inputs[] = { @@ -52,10 +52,11 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &valuefn_r, data); - tex_output(node, execdata, in, out[1], &valuefn_g, data); - tex_output(node, execdata, in, out[2], &valuefn_b, data); - tex_output(node, execdata, in, out[3], &valuefn_a, data); + TexCallData *tex_call_data = static_cast(data); + tex_output(node, execdata, in, out[0], &valuefn_r, tex_call_data); + tex_output(node, execdata, in, out[1], &valuefn_g, tex_call_data); + tex_output(node, execdata, in, out[2], &valuefn_b, tex_call_data); + tex_output(node, execdata, in, out[3], &valuefn_a, tex_call_data); } void register_node_type_tex_decompose(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_distance.c b/source/blender/nodes/texture/nodes/node_texture_distance.cc similarity index 91% rename from source/blender/nodes/texture/nodes/node_texture_distance.c rename to source/blender/nodes/texture/nodes/node_texture_distance.cc index 19918a9896e..f7f377defa7 100644 --- a/source/blender/nodes/texture/nodes/node_texture_distance.c +++ b/source/blender/nodes/texture/nodes/node_texture_distance.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include static bNodeSocketTemplate inputs[] = { @@ -37,7 +37,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &valuefn, data); + tex_output(node, execdata, in, out[0], &valuefn, static_cast(data)); } void register_node_type_tex_distance(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_hueSatVal.c b/source/blender/nodes/texture/nodes/node_texture_hueSatVal.cc similarity index 95% rename from source/blender/nodes/texture/nodes/node_texture_hueSatVal.c rename to source/blender/nodes/texture/nodes/node_texture_hueSatVal.cc index 454b58f4665..1500959d7b8 100644 --- a/source/blender/nodes/texture/nodes/node_texture_hueSatVal.c +++ b/source/blender/nodes/texture/nodes/node_texture_hueSatVal.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" static bNodeSocketTemplate inputs[] = { {SOCK_FLOAT, N_("Hue"), 0.0f, 0.0f, 0.0f, 0.0f, -0.5f, 0.5f, PROP_NONE}, @@ -84,7 +84,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_hue_sat(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_image.c b/source/blender/nodes/texture/nodes/node_texture_image.cc similarity index 92% rename from source/blender/nodes/texture/nodes/node_texture_image.c rename to source/blender/nodes/texture/nodes/node_texture_image.cc index 8b859421762..3780e3fb9a9 100644 --- a/source/blender/nodes/texture/nodes/node_texture_image.c +++ b/source/blender/nodes/texture/nodes/node_texture_image.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" static bNodeSocketTemplate outputs[] = { {SOCK_RGBA, N_("Image")}, @@ -77,12 +77,12 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } static void init(bNodeTree *UNUSED(ntree), bNode *node) { - ImageUser *iuser = MEM_callocN(sizeof(ImageUser), "node image user"); + ImageUser *iuser = MEM_cnew("node image user"); node->storage = iuser; iuser->sfra = 1; iuser->flag |= IMA_ANIM_ALWAYS; diff --git a/source/blender/nodes/texture/nodes/node_texture_invert.c b/source/blender/nodes/texture/nodes/node_texture_invert.cc similarity index 90% rename from source/blender/nodes/texture/nodes/node_texture_invert.c rename to source/blender/nodes/texture/nodes/node_texture_invert.cc index 526d47bef9c..c28b071be82 100644 --- a/source/blender/nodes/texture/nodes/node_texture_invert.c +++ b/source/blender/nodes/texture/nodes/node_texture_invert.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" /* **************** INVERT ******************** */ static bNodeSocketTemplate inputs[] = { @@ -40,7 +40,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_invert(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_math.c b/source/blender/nodes/texture/nodes/node_texture_math.cc similarity index 98% rename from source/blender/nodes/texture/nodes/node_texture_math.c rename to source/blender/nodes/texture/nodes/node_texture_math.cc index 505ba51b4d8..97fa9ac7793 100644 --- a/source/blender/nodes/texture/nodes/node_texture_math.c +++ b/source/blender/nodes/texture/nodes/node_texture_math.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" /* **************** SCALAR MATH ******************** */ static bNodeSocketTemplate inputs[] = { @@ -312,7 +312,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &valuefn, data); + tex_output(node, execdata, in, out[0], &valuefn, static_cast(data)); } void register_node_type_tex_math(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_mixRgb.c b/source/blender/nodes/texture/nodes/node_texture_mixRgb.cc similarity index 92% rename from source/blender/nodes/texture/nodes/node_texture_mixRgb.c rename to source/blender/nodes/texture/nodes/node_texture_mixRgb.cc index 15ca2280fe1..539dcc4ebb4 100644 --- a/source/blender/nodes/texture/nodes/node_texture_mixRgb.c +++ b/source/blender/nodes/texture/nodes/node_texture_mixRgb.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" /* **************** MIX RGB ******************** */ static bNodeSocketTemplate inputs[] = { @@ -46,7 +46,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_mix_rgb(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_output.c b/source/blender/nodes/texture/nodes/node_texture_output.cc similarity index 97% rename from source/blender/nodes/texture/nodes/node_texture_output.c rename to source/blender/nodes/texture/nodes/node_texture_output.cc index b640880ba9b..f44c29b95d3 100644 --- a/source/blender/nodes/texture/nodes/node_texture_output.c +++ b/source/blender/nodes/texture/nodes/node_texture_output.cc @@ -8,7 +8,7 @@ #include "BLI_string.h" #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" /* **************** COMPOSITE ******************** */ static bNodeSocketTemplate inputs[] = { @@ -116,7 +116,7 @@ check_index: static void init(bNodeTree *UNUSED(ntree), bNode *node) { - TexNodeOutput *tno = MEM_callocN(sizeof(TexNodeOutput), "TEX_output"); + TexNodeOutput *tno = MEM_cnew("TEX_output"); node->storage = tno; strcpy(tno->name, "Default"); diff --git a/source/blender/nodes/texture/nodes/node_texture_proc.c b/source/blender/nodes/texture/nodes/node_texture_proc.cc similarity index 96% rename from source/blender/nodes/texture/nodes/node_texture_proc.c rename to source/blender/nodes/texture/nodes/node_texture_proc.cc index f23c4f55820..303ddaf7bc0 100644 --- a/source/blender/nodes/texture/nodes/node_texture_proc.c +++ b/source/blender/nodes/texture/nodes/node_texture_proc.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include "RE_texture.h" @@ -55,7 +55,7 @@ typedef void (*MapFn)(Tex *tex, bNodeStack **in, TexParams *p, const short threa static void texfn( float *result, TexParams *p, bNode *node, bNodeStack **in, MapFn map_inputs, short thread) { - Tex tex = *((Tex *)(node->storage)); + Tex tex = blender::dna::shallow_copy(*((Tex *)(node->storage))); float col1[4], col2[4]; tex_input_rgba(col1, in[0], p, thread); tex_input_rgba(col2, in[1], p, thread); @@ -69,7 +69,7 @@ static int count_outputs(bNode *node) { bNodeSocket *sock; int num = 0; - for (sock = node->outputs.first; sock; sock = sock->next) { + for (sock = static_cast(node->outputs.first); sock; sock = sock->next) { num++; } return num; @@ -98,7 +98,7 @@ static int count_outputs(bNode *node) { \ int outs = count_outputs(node); \ if (outs >= 1) { \ - tex_output(node, execdata, in, out[0], &name##_colorfn, data); \ + tex_output(node, execdata, in, out[0], &name##_colorfn, static_cast(data)); \ } \ } @@ -234,7 +234,7 @@ ProcDef(stucci); static void init(bNodeTree *UNUSED(ntree), bNode *node) { - Tex *tex = MEM_callocN(sizeof(Tex), "Tex"); + Tex *tex = static_cast(MEM_callocN(sizeof(Tex), "Tex")); node->storage = tex; BKE_texture_default(tex); diff --git a/source/blender/nodes/texture/nodes/node_texture_rotate.c b/source/blender/nodes/texture/nodes/node_texture_rotate.cc similarity index 94% rename from source/blender/nodes/texture/nodes/node_texture_rotate.c rename to source/blender/nodes/texture/nodes/node_texture_rotate.cc index b31adefcbba..37d9d2235fc 100644 --- a/source/blender/nodes/texture/nodes/node_texture_rotate.c +++ b/source/blender/nodes/texture/nodes/node_texture_rotate.cc @@ -8,7 +8,7 @@ #include #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" static bNodeSocketTemplate inputs[] = { {SOCK_RGBA, N_("Color"), 0.0f, 0.0f, 0.0f, 1.0f}, @@ -72,7 +72,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_rotate(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_scale.c b/source/blender/nodes/texture/nodes/node_texture_scale.cc similarity index 92% rename from source/blender/nodes/texture/nodes/node_texture_scale.c rename to source/blender/nodes/texture/nodes/node_texture_scale.cc index 93a4db7677c..ee7f810bf52 100644 --- a/source/blender/nodes/texture/nodes/node_texture_scale.c +++ b/source/blender/nodes/texture/nodes/node_texture_scale.cc @@ -5,7 +5,7 @@ * \ingroup texnodes */ -#include "node_texture_util.h" +#include "node_texture_util.hh" #include static bNodeSocketTemplate inputs[] = { @@ -45,7 +45,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_scale(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_separate_color.c b/source/blender/nodes/texture/nodes/node_texture_separate_color.cc similarity index 86% rename from source/blender/nodes/texture/nodes/node_texture_separate_color.c rename to source/blender/nodes/texture/nodes/node_texture_separate_color.cc index 030f7d79043..74ba348b47c 100644 --- a/source/blender/nodes/texture/nodes/node_texture_separate_color.c +++ b/source/blender/nodes/texture/nodes/node_texture_separate_color.cc @@ -7,7 +7,7 @@ #include "BLI_listbase.h" #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include static bNodeSocketTemplate inputs[] = { @@ -83,10 +83,11 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &valuefn_r, data); - tex_output(node, execdata, in, out[1], &valuefn_g, data); - tex_output(node, execdata, in, out[2], &valuefn_b, data); - tex_output(node, execdata, in, out[3], &valuefn_a, data); + TexCallData *tex_call_data = static_cast(data); + tex_output(node, execdata, in, out[0], &valuefn_r, tex_call_data); + tex_output(node, execdata, in, out[1], &valuefn_g, tex_call_data); + tex_output(node, execdata, in, out[2], &valuefn_b, tex_call_data); + tex_output(node, execdata, in, out[3], &valuefn_a, tex_call_data); } void register_node_type_tex_separate_color(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_texture.c b/source/blender/nodes/texture/nodes/node_texture_texture.cc similarity index 94% rename from source/blender/nodes/texture/nodes/node_texture_texture.c rename to source/blender/nodes/texture/nodes/node_texture_texture.cc index 163a6516a58..e7173bbe8f0 100644 --- a/source/blender/nodes/texture/nodes/node_texture_texture.c +++ b/source/blender/nodes/texture/nodes/node_texture_texture.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include "RE_texture.h" @@ -69,7 +69,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_texture(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_translate.c b/source/blender/nodes/texture/nodes/node_texture_translate.cc similarity index 91% rename from source/blender/nodes/texture/nodes/node_texture_translate.c rename to source/blender/nodes/texture/nodes/node_texture_translate.cc index a8c12116097..d71df6ad0bf 100644 --- a/source/blender/nodes/texture/nodes/node_texture_translate.c +++ b/source/blender/nodes/texture/nodes/node_texture_translate.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include static bNodeSocketTemplate inputs[] = { @@ -41,7 +41,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &colorfn, data); + tex_output(node, execdata, in, out[0], &colorfn, static_cast(data)); } void register_node_type_tex_translate(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_valToNor.c b/source/blender/nodes/texture/nodes/node_texture_valToNor.cc similarity index 93% rename from source/blender/nodes/texture/nodes/node_texture_valToNor.c rename to source/blender/nodes/texture/nodes/node_texture_valToNor.cc index d0fc5229e06..b965669564c 100644 --- a/source/blender/nodes/texture/nodes/node_texture_valToNor.c +++ b/source/blender/nodes/texture/nodes/node_texture_valToNor.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" static bNodeSocketTemplate inputs[] = { {SOCK_FLOAT, N_("Val"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE}, @@ -57,7 +57,7 @@ static void exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &normalfn, data); + tex_output(node, execdata, in, out[0], &normalfn, static_cast(data)); } void register_node_type_tex_valtonor(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_valToRgb.c b/source/blender/nodes/texture/nodes/node_texture_valToRgb.cc similarity index 89% rename from source/blender/nodes/texture/nodes/node_texture_valToRgb.c rename to source/blender/nodes/texture/nodes/node_texture_valToRgb.cc index b2acef407e2..1e5340549cf 100644 --- a/source/blender/nodes/texture/nodes/node_texture_valToRgb.c +++ b/source/blender/nodes/texture/nodes/node_texture_valToRgb.cc @@ -7,7 +7,7 @@ #include "IMB_colormanagement.h" #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" /* **************** VALTORGB ******************** */ static bNodeSocketTemplate valtorgb_in[] = { @@ -24,7 +24,7 @@ static void valtorgb_colorfn(float *out, TexParams *p, bNode *node, bNodeStack * if (node->storage) { float fac = tex_input_value(in[0], p, thread); - BKE_colorband_evaluate(node->storage, fac, out); + BKE_colorband_evaluate(static_cast(node->storage), fac, out); } } @@ -35,7 +35,7 @@ static void valtorgb_exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &valtorgb_colorfn, data); + tex_output(node, execdata, in, out[0], &valtorgb_colorfn, static_cast(data)); } static void valtorgb_init(bNodeTree *UNUSED(ntree), bNode *node) @@ -82,7 +82,7 @@ static void rgbtobw_exec(void *data, bNodeStack **in, bNodeStack **out) { - tex_output(node, execdata, in, out[0], &rgbtobw_valuefn, data); + tex_output(node, execdata, in, out[0], &rgbtobw_valuefn, static_cast(data)); } void register_node_type_tex_rgbtobw(void) diff --git a/source/blender/nodes/texture/nodes/node_texture_viewer.c b/source/blender/nodes/texture/nodes/node_texture_viewer.cc similarity index 97% rename from source/blender/nodes/texture/nodes/node_texture_viewer.c rename to source/blender/nodes/texture/nodes/node_texture_viewer.cc index 1f31d62ed38..21b530e1a94 100644 --- a/source/blender/nodes/texture/nodes/node_texture_viewer.c +++ b/source/blender/nodes/texture/nodes/node_texture_viewer.cc @@ -6,7 +6,7 @@ */ #include "NOD_texture.h" -#include "node_texture_util.h" +#include "node_texture_util.hh" #include static bNodeSocketTemplate inputs[] = {