diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-07-21 14:02:05 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-07-21 14:02:05 +0400 |
commit | f745564e4ee791e4faf804b09ce975b882f4f8d9 (patch) | |
tree | 90ebbe363ccd925cedc652c9bb018ce552b5a2ab /source/blender/blenloader/intern/writefile.c | |
parent | 8489b94e07f9e73bd3c9c3e4f6a91f1f0a259827 (diff) |
GSOC 2013 paint
Yep, at last it's here!
There are a few minor issues remaining but development can go on in
master after discussion at blender institute.
For full list of features see:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Painting
Thanks to Sergey and Campbell for the extensive review and to the
countless artists that have given their input and reported issues during
development.
Diffstat (limited to 'source/blender/blenloader/intern/writefile.c')
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index 759e17295bc..13fa6f65d0c 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -2924,6 +2924,38 @@ static void write_brushes(WriteData *wd, ListBase *idbase) if (brush->curve) write_curvemapping(wd, brush->curve); + if (brush->curve) + writestruct(wd, DATA, "ColorBand", 1, brush->gradient); + } + } +} + +static void write_palettes(WriteData *wd, ListBase *idbase) +{ + Palette *palette; + + for (palette = idbase->first; palette; palette = palette->id.next) { + if (palette->id.us > 0 || wd->current) { + PaletteColor *color; + writestruct(wd, ID_PAL, "Palette", 1, palette); + if (palette->id.properties) IDP_WriteProperty(palette->id.properties, wd); + + for (color = palette->colors.first; color; color= color->next) + writestruct(wd, DATA, "PaletteColor", 1, color); + } + } +} + +static void write_paintcurves(WriteData *wd, ListBase *idbase) +{ + PaintCurve *pc; + + for (pc = idbase->first; pc; pc = pc->id.next) { + if (pc->id.us > 0 || wd->current) { + writestruct(wd, ID_PC, "PaintCurve", 1, pc); + + writestruct(wd, DATA, "PaintCurvePoint", pc->tot_points, pc->points); + if (pc->id.properties) IDP_WriteProperty(pc->id.properties, wd); } } } @@ -3399,6 +3431,8 @@ static int write_file_handle(Main *mainvar, int handle, MemFile *compare, MemFil write_particlesettings(wd, &mainvar->particle); write_nodetrees(wd, &mainvar->nodetree); write_brushes (wd, &mainvar->brush); + write_palettes (wd, &mainvar->palettes); + write_paintcurves (wd, &mainvar->paintcurves); write_scripts (wd, &mainvar->script); write_gpencils (wd, &mainvar->gpencil); write_linestyles(wd, &mainvar->linestyle); |