[Bf-blender-cvs] [e4e8259d397] master: Refactor: use new api for writing movieclip, mask, probe, nodetree, brush, palette and paintcurve
Jacques Lucke
noreply at git.blender.org
Fri Jun 5 13:14:59 CEST 2020
Commit: e4e8259d397b602b00e705b6ac8258e6fb1739ff
Author: Jacques Lucke
Date: Fri Jun 5 13:14:39 2020 +0200
Branches: master
https://developer.blender.org/rBe4e8259d397b602b00e705b6ac8258e6fb1739ff
Refactor: use new api for writing movieclip, mask, probe, nodetree, brush, palette and paintcurve
===================================================================
M source/blender/blenloader/intern/writefile.c
===================================================================
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 26b6f807cad..4f64b0263e6 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -3312,22 +3312,22 @@ static void write_sound(BlendWriter *writer, bSound *sound, const void *id_addre
}
}
-static void write_probe(WriteData *wd, LightProbe *prb, const void *id_address)
+static void write_probe(BlendWriter *writer, LightProbe *prb, const void *id_address)
{
- if (prb->id.us > 0 || wd->use_memfile) {
+ if (prb->id.us > 0 || BLO_write_is_undo(writer)) {
/* write LibData */
- writestruct_at_address(wd, ID_LP, LightProbe, 1, id_address, prb);
- write_iddata(wd, &prb->id);
+ BLO_write_id_struct(writer, LightProbe, id_address, &prb->id);
+ write_iddata(writer->wd, &prb->id);
if (prb->adt) {
- write_animdata(wd, prb->adt);
+ write_animdata(writer->wd, prb->adt);
}
}
}
-static void write_nodetree(WriteData *wd, bNodeTree *ntree, const void *id_address)
+static void write_nodetree(BlendWriter *writer, bNodeTree *ntree, const void *id_address)
{
- if (ntree->id.us > 0 || wd->use_memfile) {
+ if (ntree->id.us > 0 || BLO_write_is_undo(writer)) {
/* Clean up, important in undo case to reduce false detection of changed datablocks. */
ntree->init = 0; /* to set callbacks and force setting types */
ntree->is_updating = false;
@@ -3336,82 +3336,82 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree, const void *id_addre
ntree->progress = NULL;
ntree->execdata = NULL;
- writestruct_at_address(wd, ID_NT, bNodeTree, 1, id_address, ntree);
+ BLO_write_id_struct(writer, bNodeTree, id_address, &ntree->id);
/* Note that trees directly used by other IDs (materials etc.) are not 'real' ID, they cannot
* be linked, etc., so we write actual id data here only, for 'real' ID trees. */
- write_iddata(wd, &ntree->id);
+ write_iddata(writer->wd, &ntree->id);
- write_nodetree_nolib(wd, ntree);
+ write_nodetree_nolib(writer->wd, ntree);
}
}
-static void write_brush(WriteData *wd, Brush *brush, const void *id_address)
+static void write_brush(BlendWriter *writer, Brush *brush, const void *id_address)
{
- if (brush->id.us > 0 || wd->use_memfile) {
- writestruct_at_address(wd, ID_BR, Brush, 1, id_address, brush);
- write_iddata(wd, &brush->id);
+ if (brush->id.us > 0 || BLO_write_is_undo(writer)) {
+ BLO_write_id_struct(writer, Brush, id_address, &brush->id);
+ write_iddata(writer->wd, &brush->id);
if (brush->curve) {
- write_curvemapping(wd, brush->curve);
+ write_curvemapping(writer->wd, brush->curve);
}
if (brush->gpencil_settings) {
- writestruct(wd, DATA, BrushGpencilSettings, 1, brush->gpencil_settings);
+ BLO_write_struct(writer, BrushGpencilSettings, brush->gpencil_settings);
if (brush->gpencil_settings->curve_sensitivity) {
- write_curvemapping(wd, brush->gpencil_settings->curve_sensitivity);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_sensitivity);
}
if (brush->gpencil_settings->curve_strength) {
- write_curvemapping(wd, brush->gpencil_settings->curve_strength);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_strength);
}
if (brush->gpencil_settings->curve_jitter) {
- write_curvemapping(wd, brush->gpencil_settings->curve_jitter);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_jitter);
}
if (brush->gpencil_settings->curve_rand_pressure) {
- write_curvemapping(wd, brush->gpencil_settings->curve_rand_pressure);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_rand_pressure);
}
if (brush->gpencil_settings->curve_rand_strength) {
- write_curvemapping(wd, brush->gpencil_settings->curve_rand_strength);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_rand_strength);
}
if (brush->gpencil_settings->curve_rand_uv) {
- write_curvemapping(wd, brush->gpencil_settings->curve_rand_uv);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_rand_uv);
}
if (brush->gpencil_settings->curve_rand_hue) {
- write_curvemapping(wd, brush->gpencil_settings->curve_rand_hue);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_rand_hue);
}
if (brush->gpencil_settings->curve_rand_saturation) {
- write_curvemapping(wd, brush->gpencil_settings->curve_rand_saturation);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_rand_saturation);
}
if (brush->gpencil_settings->curve_rand_value) {
- write_curvemapping(wd, brush->gpencil_settings->curve_rand_value);
+ write_curvemapping(writer->wd, brush->gpencil_settings->curve_rand_value);
}
}
if (brush->gradient) {
- writestruct(wd, DATA, ColorBand, 1, brush->gradient);
+ BLO_write_struct(writer, ColorBand, brush->gradient);
}
}
}
-static void write_palette(WriteData *wd, Palette *palette, const void *id_address)
+static void write_palette(BlendWriter *writer, Palette *palette, const void *id_address)
{
- if (palette->id.us > 0 || wd->use_memfile) {
+ if (palette->id.us > 0 || BLO_write_is_undo(writer)) {
PaletteColor *color;
- writestruct_at_address(wd, ID_PAL, Palette, 1, id_address, palette);
- write_iddata(wd, &palette->id);
+ BLO_write_id_struct(writer, Palette, id_address, &palette->id);
+ write_iddata(writer->wd, &palette->id);
for (color = palette->colors.first; color; color = color->next) {
- writestruct(wd, DATA, PaletteColor, 1, color);
+ BLO_write_struct(writer, PaletteColor, color);
}
}
}
-static void write_paintcurve(WriteData *wd, PaintCurve *pc, const void *id_address)
+static void write_paintcurve(BlendWriter *writer, PaintCurve *pc, const void *id_address)
{
- if (pc->id.us > 0 || wd->use_memfile) {
- writestruct_at_address(wd, ID_PC, PaintCurve, 1, id_address, pc);
- write_iddata(wd, &pc->id);
+ if (pc->id.us > 0 || BLO_write_is_undo(writer)) {
+ BLO_write_id_struct(writer, PaintCurve, id_address, &pc->id);
+ write_iddata(writer->wd, &pc->id);
- writestruct(wd, DATA, PaintCurvePoint, pc->tot_points, pc->points);
+ BLO_write_struct_array(writer, PaintCurvePoint, pc->tot_points, pc->points);
}
}
@@ -3454,9 +3454,9 @@ static void write_movieReconstruction(WriteData *wd, MovieTrackingReconstruction
}
}
-static void write_movieclip(WriteData *wd, MovieClip *clip, const void *id_address)
+static void write_movieclip(BlendWriter *writer, MovieClip *clip, const void *id_address)
{
- if (clip->id.us > 0 || wd->use_memfile) {
+ if (clip->id.us > 0 || BLO_write_is_undo(writer)) {
/* Clean up, important in undo case to reduce false detection of changed datablocks. */
clip->anim = NULL;
clip->tracking_context = NULL;
@@ -3465,47 +3465,47 @@ static void write_movieclip(WriteData *wd, MovieClip *clip, const void *id_addre
MovieTracking *tracking = &clip->tracking;
MovieTrackingObject *object;
- writestruct_at_address(wd, ID_MC, MovieClip, 1, id_address, clip);
- write_iddata(wd, &clip->id);
+ BLO_write_id_struct(writer, MovieClip, id_address, &clip->id);
+ write_iddata(writer->wd, &clip->id);
if (clip->adt) {
- write_animdata(wd, clip->adt);
+ write_animdata(writer->wd, clip->adt);
}
- write_movieTracks(wd, &tracking->tracks);
- write_moviePlaneTracks(wd, &tracking->plane_tracks);
- write_movieReconstruction(wd, &tracking->reconstruction);
+ write_movieTracks(writer->wd, &tracking->tracks);
+ write_moviePlaneTracks(writer->wd, &tracking->plane_tracks);
+ write_movieReconstruction(writer->wd, &tracking->reconstruction);
object = tracking->objects.first;
while (object) {
- writestruct(wd, DATA, MovieTrackingObject, 1, object);
+ BLO_write_struct(writer, MovieTrackingObject, object);
- write_movieTracks(wd, &object->tracks);
- write_moviePlaneTracks(wd, &object->plane_tracks);
- write_movieReconstruction(wd, &object->reconstruction);
+ write_movieTracks(writer->wd, &object->tracks);
+ write_moviePlaneTracks(writer->wd, &object->plane_tracks);
+ write_movieReconstruction(writer->wd, &object->reconstruction);
object = object->next;
}
}
}
-static void write_mask(WriteData *wd, Mask *mask, const void *id_address)
+static void write_mask(BlendWriter *writer, Mask *mask, const void *id_address)
{
- if (mask->id.us > 0 || wd->use_memfile) {
+ if (mask->id.us > 0 || BLO_write_is_undo(writer)) {
MaskLayer *masklay;
- writestruct_at_address(wd, ID_MSK, Mask, 1, id_address, mask);
- write_iddata(wd, &mask->id);
+ BLO_write_id_struct(writer, Mask, id_address, &mask->id);
+ write_iddata(writer->wd, &mask->id);
if (mask->adt) {
- write_animdata(wd, mask->adt);
+ write_animdata(writer->wd, mask->adt);
}
for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
MaskSpline *spline;
MaskLayerShape *masklay_shape;
- writestruct(wd, DATA, MaskLayer, 1, masklay);
+ BLO_write_struct(writer, MaskLayer, masklay);
for (spline = masklay->splines.first; spline; spline = spline->next) {
int i;
@@ -3513,8 +3513,8 @@ static void write_mask(WriteData *wd, Mask *mask, const void *id_address)
void *points_deform = spline->points_deform;
spline->points_deform = NULL;
- writestruct(wd, DATA, MaskSpline, 1, spline);
- writestruct(wd, DATA, MaskSplinePoint, spline->tot_point, spline->points);
+ BLO_write_struct(writer, MaskSpline, spline);
+ BLO_write_struct_array(writer, MaskSplinePoint, spline->tot_point, spline->points);
spline->points_deform = points_deform;
@@ -3522,18 +3522,16 @@ static void write_mask(WriteData *wd, Mask *mask, const void *id_address)
MaskSplinePoint *point = &spline->points[i];
if (point->tot_uw) {
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list