diff options
author | Jacques Lucke <jacques@blender.org> | 2020-03-07 14:52:00 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-03-07 14:52:00 +0300 |
commit | 672372583ea6db297bd121e03d1ef9e4c595c4fa (patch) | |
tree | 458754f1003199d681a155c1a973de2ab8562cb4 | |
parent | 4c95dc5a1b2a04295e3157721fb46c65667cd40d (diff) |
move curvemapping file handling to blenkernel
-rw-r--r-- | source/blender/blenkernel/BKE_colortools.h | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/colortools.c | 27 | ||||
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 95 | ||||
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 106 |
4 files changed, 122 insertions, 111 deletions
diff --git a/source/blender/blenkernel/BKE_colortools.h b/source/blender/blenkernel/BKE_colortools.h index 94b8d59b3db..5152612040e 100644 --- a/source/blender/blenkernel/BKE_colortools.h +++ b/source/blender/blenkernel/BKE_colortools.h @@ -37,6 +37,8 @@ struct Histogram; struct ImBuf; struct Scopes; struct rctf; +struct BloWriter; +struct BloReader; void BKE_curvemapping_set_defaults( struct CurveMapping *cumap, int tot, float minx, float miny, float maxx, float maxy); @@ -51,6 +53,9 @@ void BKE_curvemapping_set_black_white_ex(const float black[3], void BKE_curvemapping_set_black_white(struct CurveMapping *cumap, const float black[3], const float white[3]); +void BKE_curvemapping_write_file(struct BloWriter *writer, struct CurveMapping *cumap); +void BKE_curvemapping_curves_write_file(struct BloWriter *writer, struct CurveMapping *cumap); +void BKE_curvemapping_read_file(struct BloReader *reader, struct CurveMapping *cumap); enum { CURVEMAP_SLOPE_NEGATIVE = 0, diff --git a/source/blender/blenkernel/intern/colortools.c b/source/blender/blenkernel/intern/colortools.c index e2080f04d3a..2f9d46ba3a5 100644 --- a/source/blender/blenkernel/intern/colortools.c +++ b/source/blender/blenkernel/intern/colortools.c @@ -44,6 +44,9 @@ #include "IMB_colormanagement.h" #include "IMB_imbuf_types.h" +#include "BLO_writefile.h" +#include "BLO_readfile.h" + /* ********************************* color curve ********************* */ /* ***************** operations on full struct ************* */ @@ -178,6 +181,30 @@ void BKE_curvemapping_set_black_white(CurveMapping *cumap, cumap->changed_timestamp++; } +void BKE_curvemapping_write_file(BloWriter *writer, CurveMapping *cumap) +{ + BLO_write_struct(writer, CurveMapping, cumap); + BKE_curvemapping_curves_write_file(writer, cumap); +} + +void BKE_curvemapping_curves_write_file(BloWriter *writer, CurveMapping *cumap) +{ + for (int i = 0; i < CM_TOT; i++) { + BLO_write_struct_array(writer, CurveMapPoint, cumap->cm[i].curve, cumap->cm[i].totpoint); + } +} + +void BKE_curvemapping_read_file(struct BloReader *reader, struct CurveMapping *cumap) +{ + cumap->flag &= ~CUMA_PREMULLED; + + for (int i = 0; i < CM_TOT; i++) { + cumap->cm[i].curve = BLO_read_new_address(reader, cumap->cm[i].curve); + cumap->cm[i].table = NULL; + cumap->cm[i].premultable = NULL; + } +} + /* ***************** operations on single curve ************* */ /* ********** NOTE: requires BKE_curvemapping_changed() call after ******** */ diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 231e0d19cf1..45095322bc5 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2724,27 +2724,6 @@ static void direct_link_id(FileData *fd, ID *id) /** \} */ /* -------------------------------------------------------------------- */ -/** \name Read CurveMapping - * \{ */ - -/* cuma itself has been read! */ -static void direct_link_curvemapping(FileData *fd, CurveMapping *cumap) -{ - int a; - - /* flag seems to be able to hang? Maybe old files... not bad to clear anyway */ - cumap->flag &= ~CUMA_PREMULLED; - - for (a = 0; a < CM_TOT; a++) { - cumap->cm[a].curve = newdataadr(fd, cumap->cm[a].curve); - cumap->cm[a].table = NULL; - cumap->cm[a].premultable = NULL; - } -} - -/** \} */ - -/* -------------------------------------------------------------------- */ /** \name Read CurveProfile * \{ */ @@ -2797,7 +2776,7 @@ static void direct_link_brush(FileData *fd, Brush *brush) brush->gradient = newdataadr(fd, brush->gradient); if (brush->curve) { - direct_link_curvemapping(fd, brush->curve); + BKE_curvemapping_read_file(wrap_reader(fd), brush->curve); } else { BKE_brush_curve_preset(brush, CURVE_PRESET_SHARP); @@ -2813,15 +2792,15 @@ static void direct_link_brush(FileData *fd, Brush *brush) brush->gpencil_settings->curve_jitter = newdataadr(fd, brush->gpencil_settings->curve_jitter); if (brush->gpencil_settings->curve_sensitivity) { - direct_link_curvemapping(fd, brush->gpencil_settings->curve_sensitivity); + BKE_curvemapping_read_file(wrap_reader(fd), brush->gpencil_settings->curve_sensitivity); } if (brush->gpencil_settings->curve_strength) { - direct_link_curvemapping(fd, brush->gpencil_settings->curve_strength); + BKE_curvemapping_read_file(wrap_reader(fd), brush->gpencil_settings->curve_strength); } if (brush->gpencil_settings->curve_jitter) { - direct_link_curvemapping(fd, brush->gpencil_settings->curve_jitter); + BKE_curvemapping_read_file(wrap_reader(fd), brush->gpencil_settings->curve_jitter); } } @@ -3531,7 +3510,7 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree) case CMP_NODE_HUECORRECT: case TEX_NODE_CURVE_RGB: case TEX_NODE_CURVE_TIME: { - direct_link_curvemapping(fd, node->storage); + BKE_curvemapping_read_file(wrap_reader(fd), node->storage); break; } case SH_NODE_SCRIPT: { @@ -3920,7 +3899,7 @@ static void direct_link_light(FileData *fd, Light *la) la->curfalloff = newdataadr(fd, la->curfalloff); if (la->curfalloff) { - direct_link_curvemapping(fd, la->curfalloff); + BKE_curvemapping_read_file(wrap_reader(fd), la->curfalloff); } la->preview = direct_link_preview_image(fd, la->preview); @@ -4528,15 +4507,15 @@ static void direct_link_particlesettings(FileData *fd, ParticleSettings *part) part->clumpcurve = newdataadr(fd, part->clumpcurve); if (part->clumpcurve) { - direct_link_curvemapping(fd, part->clumpcurve); + BKE_curvemapping_read_file(wrap_reader(fd), part->clumpcurve); } part->roughcurve = newdataadr(fd, part->roughcurve); if (part->roughcurve) { - direct_link_curvemapping(fd, part->roughcurve); + BKE_curvemapping_read_file(wrap_reader(fd), part->roughcurve); } part->twistcurve = newdataadr(fd, part->twistcurve); if (part->twistcurve) { - direct_link_curvemapping(fd, part->twistcurve); + BKE_curvemapping_read_file(wrap_reader(fd), part->twistcurve); } part->effector_weights = newdataadr(fd, part->effector_weights); @@ -5587,7 +5566,7 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb, Object *ob) hmd->curfalloff = newdataadr(fd, hmd->curfalloff); if (hmd->curfalloff) { - direct_link_curvemapping(fd, hmd->curfalloff); + BKE_curvemapping_read_file(wrap_reader(fd), hmd->curfalloff); } } else if (md->type == eModifierType_ParticleSystem) { @@ -5645,7 +5624,7 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb, Object *ob) tmd->curfalloff = newdataadr(fd, tmd->curfalloff); if (tmd->curfalloff) { - direct_link_curvemapping(fd, tmd->curfalloff); + BKE_curvemapping_read_file(wrap_reader(fd), tmd->curfalloff); } } else if (md->type == eModifierType_WeightVGEdit) { @@ -5653,7 +5632,7 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb, Object *ob) wmd->cmap_curve = newdataadr(fd, wmd->cmap_curve); if (wmd->cmap_curve) { - direct_link_curvemapping(fd, wmd->cmap_curve); + BKE_curvemapping_read_file(wrap_reader(fd), wmd->cmap_curve); } } else if (md->type == eModifierType_LaplacianDeform) { @@ -5754,7 +5733,7 @@ static void direct_link_gpencil_modifiers(FileData *fd, ListBase *lb) hmd->curfalloff = newdataadr(fd, hmd->curfalloff); if (hmd->curfalloff) { - direct_link_curvemapping(fd, hmd->curfalloff); + BKE_curvemapping_read_file(wrap_reader(fd), hmd->curfalloff); } } else if (md->type == eGpencilModifierType_Thick) { @@ -5762,7 +5741,7 @@ static void direct_link_gpencil_modifiers(FileData *fd, ListBase *lb) gpmd->curve_thickness = newdataadr(fd, gpmd->curve_thickness); if (gpmd->curve_thickness) { - direct_link_curvemapping(fd, gpmd->curve_thickness); + BKE_curvemapping_read_file(wrap_reader(fd), gpmd->curve_thickness); /* initialize the curve. Maybe this could be moved to modififer logic */ BKE_curvemapping_initialize(gpmd->curve_thickness); } @@ -6001,7 +5980,7 @@ static void direct_link_view_settings(FileData *fd, ColorManagedViewSettings *vi view_settings->curve_mapping = newdataadr(fd, view_settings->curve_mapping); if (view_settings->curve_mapping) { - direct_link_curvemapping(fd, view_settings->curve_mapping); + BKE_curvemapping_read_file(wrap_reader(fd), view_settings->curve_mapping); } } @@ -6524,7 +6503,7 @@ static void direct_link_paint(FileData *fd, const Scene *scene, Paint *p) p->cavity_curve = newdataadr(fd, p->cavity_curve); if (p->cavity_curve) { - direct_link_curvemapping(fd, p->cavity_curve); + BKE_curvemapping_read_file(wrap_reader(fd), p->cavity_curve); } else { BKE_paint_cavity_curve_preset(p, CURVE_PRESET_LINE); @@ -6566,12 +6545,12 @@ static void direct_link_sequence_modifiers(FileData *fd, ListBase *lb) if (smd->type == seqModifierType_Curves) { CurvesModifierData *cmd = (CurvesModifierData *)smd; - direct_link_curvemapping(fd, &cmd->curve_mapping); + BKE_curvemapping_read_file(wrap_reader(fd), &cmd->curve_mapping); } else if (smd->type == seqModifierType_HueCorrect) { HueCorrectModifierData *hcmd = (HueCorrectModifierData *)smd; - direct_link_curvemapping(fd, &hcmd->curve_mapping); + BKE_curvemapping_read_file(wrap_reader(fd), &hcmd->curve_mapping); } } } @@ -6633,19 +6612,19 @@ static void direct_link_scene(FileData *fd, Scene *sce) sce->toolsettings->gp_interpolate.custom_ipo = newdataadr( fd, sce->toolsettings->gp_interpolate.custom_ipo); if (sce->toolsettings->gp_interpolate.custom_ipo) { - direct_link_curvemapping(fd, sce->toolsettings->gp_interpolate.custom_ipo); + BKE_curvemapping_read_file(wrap_reader(fd), sce->toolsettings->gp_interpolate.custom_ipo); } /* relink grease pencil multiframe falloff curve */ sce->toolsettings->gp_sculpt.cur_falloff = newdataadr( fd, sce->toolsettings->gp_sculpt.cur_falloff); if (sce->toolsettings->gp_sculpt.cur_falloff) { - direct_link_curvemapping(fd, sce->toolsettings->gp_sculpt.cur_falloff); + BKE_curvemapping_read_file(wrap_reader(fd), sce->toolsettings->gp_sculpt.cur_falloff); } /* relink grease pencil primitive curve */ sce->toolsettings->gp_sculpt.cur_primitive = newdataadr( fd, sce->toolsettings->gp_sculpt.cur_primitive); if (sce->toolsettings->gp_sculpt.cur_primitive) { - direct_link_curvemapping(fd, sce->toolsettings->gp_sculpt.cur_primitive); + BKE_curvemapping_read_file(wrap_reader(fd), sce->toolsettings->gp_sculpt.cur_primitive); } /* Relink toolsettings curve profile */ @@ -6850,7 +6829,7 @@ static void direct_link_scene(FileData *fd, Scene *sce) sce->preview = direct_link_preview_image(fd, sce->preview); - direct_link_curvemapping(fd, &sce->r.mblur_shutter_curve); + BKE_curvemapping_read_file(wrap_reader(fd), &sce->r.mblur_shutter_curve); #ifdef USE_COLLECTION_COMPAT_28 /* this runs before the very first doversion */ @@ -8649,51 +8628,51 @@ static void direct_link_linestyle_alpha_modifier(FileData *fd, LineStyleModifier case LS_MODIFIER_ALONG_STROKE: { LineStyleAlphaModifier_AlongStroke *m = (LineStyleAlphaModifier_AlongStroke *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_DISTANCE_FROM_CAMERA: { LineStyleAlphaModifier_DistanceFromCamera *m = (LineStyleAlphaModifier_DistanceFromCamera *) modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_DISTANCE_FROM_OBJECT: { LineStyleAlphaModifier_DistanceFromObject *m = (LineStyleAlphaModifier_DistanceFromObject *) modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_MATERIAL: { LineStyleAlphaModifier_Material *m = (LineStyleAlphaModifier_Material *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_TANGENT: { LineStyleAlphaModifier_Tangent *m = (LineStyleAlphaModifier_Tangent *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_NOISE: { LineStyleAlphaModifier_Noise *m = (LineStyleAlphaModifier_Noise *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_CREASE_ANGLE: { LineStyleAlphaModifier_CreaseAngle *m = (LineStyleAlphaModifier_CreaseAngle *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_CURVATURE_3D: { LineStyleAlphaModifier_Curvature_3D *m = (LineStyleAlphaModifier_Curvature_3D *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } } @@ -8706,47 +8685,47 @@ static void direct_link_linestyle_thickness_modifier(FileData *fd, LineStyleModi LineStyleThicknessModifier_AlongStroke *m = (LineStyleThicknessModifier_AlongStroke *) modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_DISTANCE_FROM_CAMERA: { LineStyleThicknessModifier_DistanceFromCamera *m = (LineStyleThicknessModifier_DistanceFromCamera *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_DISTANCE_FROM_OBJECT: { LineStyleThicknessModifier_DistanceFromObject *m = (LineStyleThicknessModifier_DistanceFromObject *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_MATERIAL: { LineStyleThicknessModifier_Material *m = (LineStyleThicknessModifier_Material *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_TANGENT: { LineStyleThicknessModifier_Tangent *m = (LineStyleThicknessModifier_Tangent *)modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_CREASE_ANGLE: { LineStyleThicknessModifier_CreaseAngle *m = (LineStyleThicknessModifier_CreaseAngle *) modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } case LS_MODIFIER_CURVATURE_3D: { LineStyleThicknessModifier_Curvature_3D *m = (LineStyleThicknessModifier_Curvature_3D *) modifier; m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BKE_curvemapping_read_file(wrap_reader(fd), m->curve); break; } } diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index bbdcf70212f..8ea7a139c0e 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -150,6 +150,7 @@ #include "BKE_blender_version.h" #include "BKE_bpath.h" #include "BKE_collection.h" +#include "BKE_colortools.h" #include "BKE_constraint.h" #include "BKE_curve.h" #include "BKE_fcurve.h" @@ -948,20 +949,6 @@ static void write_animdata(WriteData *wd, AnimData *adt) write_nladata(wd, &adt->nla_tracks); } -static void write_curvemapping_curves(WriteData *wd, CurveMapping *cumap) -{ - for (int a = 0; a < CM_TOT; a++) { - writestruct(wd, DATA, CurveMapPoint, cumap->cm[a].totpoint, cumap->cm[a].curve); - } -} - -static void write_curvemapping(WriteData *wd, CurveMapping *cumap) -{ - writestruct(wd, DATA, CurveMapping, 1, cumap); - - write_curvemapping_curves(wd, cumap); -} - static void write_CurveProfile(WriteData *wd, CurveProfile *profile) { writestruct(wd, DATA, CurveProfile, 1, profile); @@ -1058,7 +1045,7 @@ static void write_nodetree_nolib(WriteData *wd, bNodeTree *ntree) /* could be handlerized at some point, now only 1 exception still */ if ((ntree->type == NTREE_SHADER) && ELEM(node->type, SH_NODE_CURVE_VEC, SH_NODE_CURVE_RGB)) { - write_curvemapping(wd, node->storage); + BKE_curvemapping_write_file(wrap_writer(wd), node->storage); } else if (ntree->type == NTREE_SHADER && (node->type == SH_NODE_SCRIPT)) { NodeShaderScript *nss = (NodeShaderScript *)node->storage; @@ -1072,11 +1059,11 @@ static void write_nodetree_nolib(WriteData *wd, bNodeTree *ntree) CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) { - write_curvemapping(wd, node->storage); + BKE_curvemapping_write_file(wrap_writer(wd), node->storage); } else if ((ntree->type == NTREE_TEXTURE) && (node->type == TEX_NODE_CURVE_RGB || node->type == TEX_NODE_CURVE_TIME)) { - write_curvemapping(wd, node->storage); + BKE_curvemapping_write_file(wrap_writer(wd), node->storage); } else if ((ntree->type == NTREE_COMPOSIT) && (node->type == CMP_NODE_MOVIEDISTORTION)) { /* pass */ @@ -1403,13 +1390,13 @@ static void write_particlesettings(WriteData *wd, ParticleSettings *part) writestruct(wd, DATA, EffectorWeights, 1, part->effector_weights); if (part->clumpcurve) { - write_curvemapping(wd, part->clumpcurve); + BKE_curvemapping_write_file(wrap_writer(wd), part->clumpcurve); } if (part->roughcurve) { - write_curvemapping(wd, part->roughcurve); + BKE_curvemapping_write_file(wrap_writer(wd), part->roughcurve); } if (part->twistcurve) { - write_curvemapping(wd, part->twistcurve); + BKE_curvemapping_write_file(wrap_writer(wd), part->twistcurve); } for (ParticleDupliWeight *dw = part->instance_weights.first; dw; dw = dw->next) { @@ -1649,7 +1636,7 @@ static void write_modifiers(WriteData *wd, ListBase *modbase) HookModifierData *hmd = (HookModifierData *)md; if (hmd->curfalloff) { - write_curvemapping(wd, hmd->curfalloff); + BKE_curvemapping_write_file(wrap_writer(wd), hmd->curfalloff); } writedata(wd, DATA, sizeof(int) * hmd->totindex, hmd->indexar); @@ -1750,14 +1737,14 @@ static void write_modifiers(WriteData *wd, ListBase *modbase) else if (md->type == eModifierType_Warp) { WarpModifierData *tmd = (WarpModifierData *)md; if (tmd->curfalloff) { - write_curvemapping(wd, tmd->curfalloff); + BKE_curvemapping_write_file(wrap_writer(wd), tmd->curfalloff); } } else if (md->type == eModifierType_WeightVGEdit) { WeightVGEditModifierData *wmd = (WeightVGEditModifierData *)md; if (wmd->cmap_curve) { - write_curvemapping(wd, wmd->cmap_curve); + BKE_curvemapping_write_file(wrap_writer(wd), wmd->cmap_curve); } } else if (md->type == eModifierType_LaplacianDeform) { @@ -1832,14 +1819,14 @@ static void write_gpencil_modifiers(WriteData *wd, ListBase *modbase) ThickGpencilModifierData *gpmd = (ThickGpencilModifierData *)md; if (gpmd->curve_thickness) { - write_curvemapping(wd, gpmd->curve_thickness); + BKE_curvemapping_write_file(wrap_writer(wd), gpmd->curve_thickness); } } else if (md->type == eGpencilModifierType_Hook) { HookGpencilModifierData *gpmd = (HookGpencilModifierData *)md; if (gpmd->curfalloff) { - write_curvemapping(wd, gpmd->curfalloff); + BKE_curvemapping_write_file(wrap_writer(wd), gpmd->curfalloff); } } } @@ -2371,7 +2358,7 @@ static void write_light(WriteData *wd, Light *la) } if (la->curfalloff) { - write_curvemapping(wd, la->curfalloff); + BKE_curvemapping_write_file(wrap_writer(wd), la->curfalloff); } /* Node-tree is integral part of lights, no libdata. */ @@ -2422,12 +2409,12 @@ static void write_sequence_modifiers(WriteData *wd, ListBase *modbase) if (smd->type == seqModifierType_Curves) { CurvesModifierData *cmd = (CurvesModifierData *)smd; - write_curvemapping(wd, &cmd->curve_mapping); + BKE_curvemapping_write_file(wrap_writer(wd), &cmd->curve_mapping); } else if (smd->type == seqModifierType_HueCorrect) { HueCorrectModifierData *hcmd = (HueCorrectModifierData *)smd; - write_curvemapping(wd, &hcmd->curve_mapping); + BKE_curvemapping_write_file(wrap_writer(wd), &hcmd->curve_mapping); } } else { @@ -2439,7 +2426,7 @@ static void write_sequence_modifiers(WriteData *wd, ListBase *modbase) static void write_view_settings(WriteData *wd, ColorManagedViewSettings *view_settings) { if (view_settings->curve_mapping) { - write_curvemapping(wd, view_settings->curve_mapping); + BKE_curvemapping_write_file(wrap_writer(wd), view_settings->curve_mapping); } } @@ -2453,7 +2440,7 @@ static void write_view3dshading(WriteData *wd, View3DShading *shading) static void write_paint(WriteData *wd, Paint *p) { if (p->cavity_curve) { - write_curvemapping(wd, p->cavity_curve); + BKE_curvemapping_write_file(wrap_writer(wd), p->cavity_curve); } writestruct(wd, DATA, PaintToolSlot, p->tool_slots_len, p->tool_slots); } @@ -2553,15 +2540,15 @@ static void write_scene(WriteData *wd, Scene *sce) } /* write grease-pencil custom ipo curve to file */ if (tos->gp_interpolate.custom_ipo) { - write_curvemapping(wd, tos->gp_interpolate.custom_ipo); + BKE_curvemapping_write_file(wrap_writer(wd), tos->gp_interpolate.custom_ipo); } /* write grease-pencil multiframe falloff curve to file */ if (tos->gp_sculpt.cur_falloff) { - write_curvemapping(wd, tos->gp_sculpt.cur_falloff); + BKE_curvemapping_write_file(wrap_writer(wd), tos->gp_sculpt.cur_falloff); } /* write grease-pencil primitive curve to file */ if (tos->gp_sculpt.cur_primitive) { - write_curvemapping(wd, tos->gp_sculpt.cur_primitive); + BKE_curvemapping_write_file(wrap_writer(wd), tos->gp_sculpt.cur_primitive); } /* Write the curve profile to the file. */ if (tos->custom_bevel_profile_preset) { @@ -2708,7 +2695,7 @@ static void write_scene(WriteData *wd, Scene *sce) } write_previews(wd, sce->preview); - write_curvemapping_curves(wd, &sce->r.mblur_shutter_curve); + BKE_curvemapping_curves_write_file(wrap_writer(wd), &sce->r.mblur_shutter_curve); for (ViewLayer *view_layer = sce->view_layers.first; view_layer; view_layer = view_layer->next) { write_view_layer(wd, view_layer); @@ -3172,20 +3159,20 @@ static void write_brush(WriteData *wd, Brush *brush) write_iddata(wd, &brush->id); if (brush->curve) { - write_curvemapping(wd, brush->curve); + BKE_curvemapping_write_file(wrap_writer(wd), brush->curve); } if (brush->gpencil_settings) { writestruct(wd, DATA, BrushGpencilSettings, 1, brush->gpencil_settings); if (brush->gpencil_settings->curve_sensitivity) { - write_curvemapping(wd, brush->gpencil_settings->curve_sensitivity); + BKE_curvemapping_write_file(wrap_writer(wd), brush->gpencil_settings->curve_sensitivity); } if (brush->gpencil_settings->curve_strength) { - write_curvemapping(wd, brush->gpencil_settings->curve_strength); + BKE_curvemapping_write_file(wrap_writer(wd), brush->gpencil_settings->curve_strength); } if (brush->gpencil_settings->curve_jitter) { - write_curvemapping(wd, brush->gpencil_settings->curve_jitter); + BKE_curvemapping_write_file(wrap_writer(wd), brush->gpencil_settings->curve_jitter); } } if (brush->gradient) { @@ -3444,28 +3431,34 @@ static void write_linestyle_alpha_modifiers(WriteData *wd, ListBase *modifiers) for (m = modifiers->first; m; m = m->next) { switch (m->type) { case LS_MODIFIER_ALONG_STROKE: - write_curvemapping(wd, ((LineStyleAlphaModifier_AlongStroke *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleAlphaModifier_AlongStroke *)m)->curve); break; case LS_MODIFIER_DISTANCE_FROM_CAMERA: - write_curvemapping(wd, ((LineStyleAlphaModifier_DistanceFromCamera *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleAlphaModifier_DistanceFromCamera *)m)->curve); break; case LS_MODIFIER_DISTANCE_FROM_OBJECT: - write_curvemapping(wd, ((LineStyleAlphaModifier_DistanceFromObject *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleAlphaModifier_DistanceFromObject *)m)->curve); break; case LS_MODIFIER_MATERIAL: - write_curvemapping(wd, ((LineStyleAlphaModifier_Material *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleAlphaModifier_Material *)m)->curve); break; case LS_MODIFIER_TANGENT: - write_curvemapping(wd, ((LineStyleAlphaModifier_Tangent *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), ((LineStyleAlphaModifier_Tangent *)m)->curve); break; case LS_MODIFIER_NOISE: - write_curvemapping(wd, ((LineStyleAlphaModifier_Noise *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), ((LineStyleAlphaModifier_Noise *)m)->curve); break; case LS_MODIFIER_CREASE_ANGLE: - write_curvemapping(wd, ((LineStyleAlphaModifier_CreaseAngle *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleAlphaModifier_CreaseAngle *)m)->curve); break; case LS_MODIFIER_CURVATURE_3D: - write_curvemapping(wd, ((LineStyleAlphaModifier_Curvature_3D *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleAlphaModifier_Curvature_3D *)m)->curve); break; } } @@ -3513,25 +3506,32 @@ static void write_linestyle_thickness_modifiers(WriteData *wd, ListBase *modifie for (m = modifiers->first; m; m = m->next) { switch (m->type) { case LS_MODIFIER_ALONG_STROKE: - write_curvemapping(wd, ((LineStyleThicknessModifier_AlongStroke *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleThicknessModifier_AlongStroke *)m)->curve); break; case LS_MODIFIER_DISTANCE_FROM_CAMERA: - write_curvemapping(wd, ((LineStyleThicknessModifier_DistanceFromCamera *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleThicknessModifier_DistanceFromCamera *)m)->curve); break; case LS_MODIFIER_DISTANCE_FROM_OBJECT: - write_curvemapping(wd, ((LineStyleThicknessModifier_DistanceFromObject *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleThicknessModifier_DistanceFromObject *)m)->curve); break; case LS_MODIFIER_MATERIAL: - write_curvemapping(wd, ((LineStyleThicknessModifier_Material *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleThicknessModifier_Material *)m)->curve); break; case LS_MODIFIER_TANGENT: - write_curvemapping(wd, ((LineStyleThicknessModifier_Tangent *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleThicknessModifier_Tangent *)m)->curve); break; case LS_MODIFIER_CREASE_ANGLE: - write_curvemapping(wd, ((LineStyleThicknessModifier_CreaseAngle *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleThicknessModifier_CreaseAngle *)m)->curve); break; case LS_MODIFIER_CURVATURE_3D: - write_curvemapping(wd, ((LineStyleThicknessModifier_Curvature_3D *)m)->curve); + BKE_curvemapping_write_file(wrap_writer(wd), + ((LineStyleThicknessModifier_Curvature_3D *)m)->curve); break; } } |