diff options
author | Jacques Lucke <jacques@blender.org> | 2020-06-07 12:07:08 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-06-07 12:07:08 +0300 |
commit | 766b3037eb1be17a8bae062f632575c129566779 (patch) | |
tree | aa11b5b7a7e454869f411a501607605275ed88f4 /source/blender/blenloader | |
parent | ee4732ca2225b7e11a0b1229d6735d9b214b905b (diff) |
Refactor: use new api for direct linking curvemapping and its callers
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 155 |
1 files changed, 79 insertions, 76 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 00bd9c665d8..11a6c7ed0cf 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2965,7 +2965,7 @@ static void direct_link_id_common( * \{ */ /* cuma itself has been read! */ -static void direct_link_curvemapping(FileData *fd, CurveMapping *cumap) +static void direct_link_curvemapping(BlendDataReader *reader, CurveMapping *cumap) { int a; @@ -2973,7 +2973,7 @@ static void direct_link_curvemapping(FileData *fd, CurveMapping *cumap) cumap->flag &= ~CUMA_PREMULLED; for (a = 0; a < CM_TOT; a++) { - cumap->cm[a].curve = newdataadr(fd, cumap->cm[a].curve); + BLO_read_data_address(reader, &cumap->cm[a].curve); cumap->cm[a].table = NULL; cumap->cm[a].premultable = NULL; } @@ -3034,7 +3034,7 @@ static void direct_link_brush(BlendDataReader *reader, Brush *brush) BLO_read_data_address(reader, &brush->gradient); if (brush->curve) { - direct_link_curvemapping(reader->fd, brush->curve); + direct_link_curvemapping(reader, brush->curve); } else { BKE_brush_curve_preset(brush, CURVE_PRESET_SHARP); @@ -3055,39 +3055,39 @@ static void direct_link_brush(BlendDataReader *reader, Brush *brush) BLO_read_data_address(reader, &brush->gpencil_settings->curve_rand_value); if (brush->gpencil_settings->curve_sensitivity) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_sensitivity); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_sensitivity); } if (brush->gpencil_settings->curve_strength) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_strength); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_strength); } if (brush->gpencil_settings->curve_jitter) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_jitter); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_jitter); } if (brush->gpencil_settings->curve_rand_pressure) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_rand_pressure); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_rand_pressure); } if (brush->gpencil_settings->curve_rand_strength) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_rand_strength); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_rand_strength); } if (brush->gpencil_settings->curve_rand_uv) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_rand_uv); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_rand_uv); } if (brush->gpencil_settings->curve_rand_hue) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_rand_hue); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_rand_hue); } if (brush->gpencil_settings->curve_rand_saturation) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_rand_saturation); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_rand_saturation); } if (brush->gpencil_settings->curve_rand_value) { - direct_link_curvemapping(reader->fd, brush->gpencil_settings->curve_rand_value); + direct_link_curvemapping(reader, brush->gpencil_settings->curve_rand_value); } } @@ -3804,7 +3804,7 @@ static void direct_link_nodetree(BlendDataReader *reader, bNodeTree *ntree) case CMP_NODE_HUECORRECT: case TEX_NODE_CURVE_RGB: case TEX_NODE_CURVE_TIME: { - direct_link_curvemapping(reader->fd, node->storage); + direct_link_curvemapping(reader, node->storage); break; } case SH_NODE_SCRIPT: { @@ -4185,7 +4185,7 @@ static void direct_link_light(BlendDataReader *reader, Light *la) BLO_read_data_address(reader, &la->curfalloff); if (la->curfalloff) { - direct_link_curvemapping(reader->fd, la->curfalloff); + direct_link_curvemapping(reader, la->curfalloff); } la->preview = direct_link_preview_image(reader->fd, la->preview); @@ -4796,15 +4796,15 @@ static void direct_link_particlesettings(BlendDataReader *reader, ParticleSettin BLO_read_data_address(reader, &part->clumpcurve); if (part->clumpcurve) { - direct_link_curvemapping(reader->fd, part->clumpcurve); + direct_link_curvemapping(reader, part->clumpcurve); } BLO_read_data_address(reader, &part->roughcurve); if (part->roughcurve) { - direct_link_curvemapping(reader->fd, part->roughcurve); + direct_link_curvemapping(reader, part->roughcurve); } BLO_read_data_address(reader, &part->twistcurve); if (part->twistcurve) { - direct_link_curvemapping(reader->fd, part->twistcurve); + direct_link_curvemapping(reader, part->twistcurve); } BLO_read_data_address(reader, &part->effector_weights); @@ -5862,7 +5862,7 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object BLO_read_data_address(reader, &hmd->curfalloff); if (hmd->curfalloff) { - direct_link_curvemapping(reader->fd, hmd->curfalloff); + direct_link_curvemapping(reader, hmd->curfalloff); } } else if (md->type == eModifierType_ParticleSystem) { @@ -5902,7 +5902,7 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object BLO_read_data_address(reader, &tmd->curfalloff); if (tmd->curfalloff) { - direct_link_curvemapping(reader->fd, tmd->curfalloff); + direct_link_curvemapping(reader, tmd->curfalloff); } } else if (md->type == eModifierType_WeightVGEdit) { @@ -5910,7 +5910,7 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object BLO_read_data_address(reader, &wmd->cmap_curve); if (wmd->cmap_curve) { - direct_link_curvemapping(reader->fd, wmd->cmap_curve); + direct_link_curvemapping(reader, wmd->cmap_curve); } } else if (md->type == eModifierType_LaplacianDeform) { @@ -5995,7 +5995,7 @@ static void direct_link_gpencil_modifiers(BlendDataReader *reader, ListBase *lb) BLO_read_data_address(reader, &hmd->curfalloff); if (hmd->curfalloff) { - direct_link_curvemapping(reader->fd, hmd->curfalloff); + direct_link_curvemapping(reader, hmd->curfalloff); } } else if (md->type == eGpencilModifierType_Noise) { @@ -6003,7 +6003,7 @@ static void direct_link_gpencil_modifiers(BlendDataReader *reader, ListBase *lb) BLO_read_data_address(reader, &gpmd->curve_intensity); if (gpmd->curve_intensity) { - direct_link_curvemapping(reader->fd, gpmd->curve_intensity); + direct_link_curvemapping(reader, gpmd->curve_intensity); /* initialize the curve. Maybe this could be moved to modififer logic */ BKE_curvemapping_initialize(gpmd->curve_intensity); } @@ -6013,7 +6013,7 @@ static void direct_link_gpencil_modifiers(BlendDataReader *reader, ListBase *lb) BLO_read_data_address(reader, &gpmd->curve_thickness); if (gpmd->curve_thickness) { - direct_link_curvemapping(reader->fd, gpmd->curve_thickness); + direct_link_curvemapping(reader, gpmd->curve_thickness); BKE_curvemapping_initialize(gpmd->curve_thickness); } } @@ -6022,7 +6022,7 @@ static void direct_link_gpencil_modifiers(BlendDataReader *reader, ListBase *lb) BLO_read_data_address(reader, &gpmd->colorband); BLO_read_data_address(reader, &gpmd->curve_intensity); if (gpmd->curve_intensity) { - direct_link_curvemapping(reader->fd, gpmd->curve_intensity); + direct_link_curvemapping(reader, gpmd->curve_intensity); BKE_curvemapping_initialize(gpmd->curve_intensity); } } @@ -6030,7 +6030,7 @@ static void direct_link_gpencil_modifiers(BlendDataReader *reader, ListBase *lb) SmoothGpencilModifierData *gpmd = (SmoothGpencilModifierData *)md; BLO_read_data_address(reader, &gpmd->curve_intensity); if (gpmd->curve_intensity) { - direct_link_curvemapping(reader->fd, gpmd->curve_intensity); + direct_link_curvemapping(reader, gpmd->curve_intensity); BKE_curvemapping_initialize(gpmd->curve_intensity); } } @@ -6038,7 +6038,7 @@ static void direct_link_gpencil_modifiers(BlendDataReader *reader, ListBase *lb) ColorGpencilModifierData *gpmd = (ColorGpencilModifierData *)md; BLO_read_data_address(reader, &gpmd->curve_intensity); if (gpmd->curve_intensity) { - direct_link_curvemapping(reader->fd, gpmd->curve_intensity); + direct_link_curvemapping(reader, gpmd->curve_intensity); BKE_curvemapping_initialize(gpmd->curve_intensity); } } @@ -6046,7 +6046,7 @@ static void direct_link_gpencil_modifiers(BlendDataReader *reader, ListBase *lb) OpacityGpencilModifierData *gpmd = (OpacityGpencilModifierData *)md; BLO_read_data_address(reader, &gpmd->curve_intensity); if (gpmd->curve_intensity) { - direct_link_curvemapping(reader->fd, gpmd->curve_intensity); + direct_link_curvemapping(reader, gpmd->curve_intensity); BKE_curvemapping_initialize(gpmd->curve_intensity); } } @@ -6275,12 +6275,13 @@ static void direct_link_object(BlendDataReader *reader, Object *ob) ob->preview = direct_link_preview_image(reader->fd, ob->preview); } -static void direct_link_view_settings(FileData *fd, ColorManagedViewSettings *view_settings) +static void direct_link_view_settings(BlendDataReader *reader, + ColorManagedViewSettings *view_settings) { - view_settings->curve_mapping = newdataadr(fd, view_settings->curve_mapping); + BLO_read_data_address(reader, &view_settings->curve_mapping); if (view_settings->curve_mapping) { - direct_link_curvemapping(fd, view_settings->curve_mapping); + direct_link_curvemapping(reader, view_settings->curve_mapping); } } @@ -6811,7 +6812,7 @@ static void direct_link_paint(BlendDataReader *reader, const Scene *scene, Paint BLO_read_data_address(reader, &p->cavity_curve); if (p->cavity_curve) { - direct_link_curvemapping(reader->fd, p->cavity_curve); + direct_link_curvemapping(reader, p->cavity_curve); } else { BKE_paint_cavity_curve_preset(p, CURVE_PRESET_LINE); @@ -6839,26 +6840,26 @@ static void direct_link_paint_helper(BlendDataReader *reader, const Scene *scene } } -static void direct_link_sequence_modifiers(FileData *fd, ListBase *lb) +static void direct_link_sequence_modifiers(BlendDataReader *reader, ListBase *lb) { SequenceModifierData *smd; - link_list(fd, lb); + BLO_read_list(reader, lb); for (smd = lb->first; smd; smd = smd->next) { if (smd->mask_sequence) { - smd->mask_sequence = newdataadr(fd, smd->mask_sequence); + BLO_read_data_address(reader, &smd->mask_sequence); } if (smd->type == seqModifierType_Curves) { CurvesModifierData *cmd = (CurvesModifierData *)smd; - direct_link_curvemapping(fd, &cmd->curve_mapping); + direct_link_curvemapping(reader, &cmd->curve_mapping); } else if (smd->type == seqModifierType_HueCorrect) { HueCorrectModifierData *hcmd = (HueCorrectModifierData *)smd; - direct_link_curvemapping(fd, &hcmd->curve_mapping); + direct_link_curvemapping(reader, &hcmd->curve_mapping); } } } @@ -6921,17 +6922,17 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce) /* relink grease pencil interpolation curves */ BLO_read_data_address(reader, &sce->toolsettings->gp_interpolate.custom_ipo); if (sce->toolsettings->gp_interpolate.custom_ipo) { - direct_link_curvemapping(reader->fd, sce->toolsettings->gp_interpolate.custom_ipo); + direct_link_curvemapping(reader, sce->toolsettings->gp_interpolate.custom_ipo); } /* relink grease pencil multiframe falloff curve */ BLO_read_data_address(reader, &sce->toolsettings->gp_sculpt.cur_falloff); if (sce->toolsettings->gp_sculpt.cur_falloff) { - direct_link_curvemapping(reader->fd, sce->toolsettings->gp_sculpt.cur_falloff); + direct_link_curvemapping(reader, sce->toolsettings->gp_sculpt.cur_falloff); } /* relink grease pencil primitive curve */ BLO_read_data_address(reader, &sce->toolsettings->gp_sculpt.cur_primitive); if (sce->toolsettings->gp_sculpt.cur_primitive) { - direct_link_curvemapping(reader->fd, sce->toolsettings->gp_sculpt.cur_primitive); + direct_link_curvemapping(reader, sce->toolsettings->gp_sculpt.cur_primitive); } /* Relink toolsettings curve profile */ @@ -7013,7 +7014,7 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce) BLO_read_data_address(reader, &seq->strip->color_balance); } - direct_link_sequence_modifiers(reader->fd, &seq->modifiers); + direct_link_sequence_modifiers(reader, &seq->modifiers); } SEQ_END; @@ -7094,7 +7095,7 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce) BLO_read_list(reader, &(srl->freestyleConfig.linesets)); } - direct_link_view_settings(reader->fd, &sce->view_settings); + direct_link_view_settings(reader, &sce->view_settings); BLO_read_data_address(reader, &sce->rigidbody_world); rbw = sce->rigidbody_world; @@ -7140,7 +7141,7 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce) sce->preview = direct_link_preview_image(reader->fd, sce->preview); - direct_link_curvemapping(reader->fd, &sce->r.mblur_shutter_curve); + direct_link_curvemapping(reader, &sce->r.mblur_shutter_curve); #ifdef USE_COLLECTION_COMPAT_28 /* this runs before the very first doversion */ @@ -8954,110 +8955,112 @@ static void direct_link_linestyle_color_modifier(FileData *fd, LineStyleModifier } } -static void direct_link_linestyle_alpha_modifier(FileData *fd, LineStyleModifier *modifier) +static void direct_link_linestyle_alpha_modifier(BlendDataReader *reader, + LineStyleModifier *modifier) { switch (modifier->type) { case LS_MODIFIER_ALONG_STROKE: { LineStyleAlphaModifier_AlongStroke *m = (LineStyleAlphaModifier_AlongStroke *)modifier; - m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, m->curve); break; } } } -static void direct_link_linestyle_thickness_modifier(FileData *fd, LineStyleModifier *modifier) +static void direct_link_linestyle_thickness_modifier(BlendDataReader *reader, + LineStyleModifier *modifier) { switch (modifier->type) { case LS_MODIFIER_ALONG_STROKE: { LineStyleThicknessModifier_AlongStroke *m = (LineStyleThicknessModifier_AlongStroke *) modifier; - m->curve = newdataadr(fd, m->curve); - direct_link_curvemapping(fd, m->curve); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, 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); + BLO_read_data_address(reader, &m->curve); + direct_link_curvemapping(reader, m->curve); break; } } @@ -9081,11 +9084,11 @@ static void direct_link_linestyle(BlendDataReader *reader, FreestyleLineStyle *l } BLO_read_list(reader, &linestyle->alpha_modifiers); for (modifier = linestyle->alpha_modifiers.first; modifier; modifier = modifier->next) { - direct_link_linestyle_alpha_modifier(reader->fd, modifier); + direct_link_linestyle_alpha_modifier(reader, modifier); } BLO_read_list(reader, &linestyle->thickness_modifiers); for (modifier = linestyle->thickness_modifiers.first; modifier; modifier = modifier->next) { - direct_link_linestyle_thickness_modifier(reader->fd, modifier); + direct_link_linestyle_thickness_modifier(reader, modifier); } BLO_read_list(reader, &linestyle->geometry_modifiers); for (modifier = linestyle->geometry_modifiers.first; modifier; modifier = modifier->next) { |