diff options
author | Jacques Lucke <jacques@blender.org> | 2020-06-23 18:25:44 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-06-23 18:25:44 +0300 |
commit | 1e0426da7c735b5d59f23b2b9303d9c1d72ca7f8 (patch) | |
tree | f255d36f9a1a8ed4e5be3463976b273a3d19a7e3 /source/blender/modifiers/intern/MOD_particlesystem.c | |
parent | 9ef5cc44a6c33445960f118ad2415345e174d7b7 (diff) |
Refactor: move more modifier specific code out of readfile.c
Diffstat (limited to 'source/blender/modifiers/intern/MOD_particlesystem.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_particlesystem.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 8c25c3eb4ba..ea0c63da1b0 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -46,6 +46,8 @@ #include "DEG_depsgraph_query.h" +#include "BLO_read_write.h" + #include "MOD_ui_common.h" #include "MOD_util.h" @@ -295,6 +297,18 @@ static void panelRegister(ARegionType *region_type) modifier_panel_register(region_type, eModifierType_ParticleSystem, panel_draw); } +static void blendRead(BlendDataReader *reader, ModifierData *md) +{ + ParticleSystemModifierData *psmd = (ParticleSystemModifierData *)md; + + psmd->mesh_final = NULL; + psmd->mesh_original = NULL; + /* This is written as part of ob->particlesystem. */ + BLO_read_data_address(reader, &psmd->psys); + psmd->flag &= ~eParticleSystemFlag_psys_updated; + psmd->flag |= eParticleSystemFlag_file_loaded; +} + ModifierTypeInfo modifierType_ParticleSystem = { /* name */ "ParticleSystem", /* structName */ "ParticleSystemModifierData", @@ -330,5 +344,5 @@ ModifierTypeInfo modifierType_ParticleSystem = { /* freeRuntimeData */ NULL, /* panelRegister */ panelRegister, /* blendWrite */ NULL, - /* blendRead */ NULL, + /* blendRead */ blendRead, }; |