Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-03-07 14:52:00 +0300
committerJacques Lucke <jacques@blender.org>2020-03-07 14:52:00 +0300
commit672372583ea6db297bd121e03d1ef9e4c595c4fa (patch)
tree458754f1003199d681a155c1a973de2ab8562cb4
parent4c95dc5a1b2a04295e3157721fb46c65667cd40d (diff)
move curvemapping file handling to blenkernel
-rw-r--r--source/blender/blenkernel/BKE_colortools.h5
-rw-r--r--source/blender/blenkernel/intern/colortools.c27
-rw-r--r--source/blender/blenloader/intern/readfile.c95
-rw-r--r--source/blender/blenloader/intern/writefile.c106
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;
}
}