diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 7 | ||||
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 6 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_bevel.c | 25 |
3 files changed, 23 insertions, 15 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index e90849fdf18..15dbef5fdc5 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -5765,13 +5765,6 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object msmcd->reader = NULL; msmcd->reader_object_path[0] = '\0'; } - else if (md->type == eModifierType_Bevel) { - BevelModifierData *bmd = (BevelModifierData *)md; - BLO_read_data_address(reader, &bmd->custom_profile); - if (bmd->custom_profile) { - BKE_curveprofile_blend_read(reader, bmd->custom_profile); - } - } if (mti->blendRead != NULL) { mti->blendRead(reader, md); diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index 898e43a2c44..83c587cc446 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -1743,12 +1743,6 @@ static void write_modifiers(BlendWriter *writer, ListBase *modbase) writestruct(wd, DATA, MFace, collmd->numfaces, collmd->mfaces); #endif } - else if (md->type == eModifierType_Bevel) { - BevelModifierData *bmd = (BevelModifierData *)md; - if (bmd->custom_profile) { - BKE_curveprofile_blend_write(writer, bmd->custom_profile); - } - } if (mti->blendWrite != NULL) { mti->blendWrite(writer, md); diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 5d2bda1d017..0a1eb8eba10 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -51,6 +51,8 @@ #include "MOD_ui_common.h" #include "MOD_util.h" +#include "BLO_read_write.h" + #include "BKE_curveprofile.h" #include "bmesh.h" #include "bmesh_tools.h" @@ -413,6 +415,25 @@ static void panelRegister(ARegionType *region_type) region_type, "shading", "Shading", NULL, shading_panel_draw, panel_type); } +static void blendWrite(BlendWriter *writer, const ModifierData *md) +{ + const BevelModifierData *bmd = (const BevelModifierData *)md; + + if (bmd->custom_profile) { + BKE_curveprofile_blend_write(writer, bmd->custom_profile); + } +} + +static void blendRead(BlendDataReader *reader, ModifierData *md) +{ + BevelModifierData *bmd = (BevelModifierData *)md; + + BLO_read_data_address(reader, &bmd->custom_profile); + if (bmd->custom_profile) { + BKE_curveprofile_blend_read(reader, bmd->custom_profile); + } +} + ModifierTypeInfo modifierType_Bevel = { /* name */ "Bevel", /* structName */ "BevelModifierData", @@ -441,6 +462,6 @@ ModifierTypeInfo modifierType_Bevel = { /* foreachTexLink */ NULL, /* freeRuntimeData */ NULL, /* uiPanel */ panelRegister, - /* blendWrite */ NULL, - /* blendRead */ NULL, + /* blendWrite */ blendWrite, + /* blendRead */ blendRead, }; |