diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-06-04 18:58:07 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-06-04 18:58:07 +0300 |
commit | 84becb870f8e0785bdfca0f381c7b06f415e4e6a (patch) | |
tree | ce3938c0947b73a8517b8c694058e11b75b790b3 /source/blender/blenkernel | |
parent | 2b4d2de2537ef1c7cfc66c261067d477f5f94edc (diff) | |
parent | 747534af0058ff7a719b99af68333753527ed747 (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_particle.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/particle_system.c | 24 |
2 files changed, 7 insertions, 18 deletions
diff --git a/source/blender/blenkernel/BKE_particle.h b/source/blender/blenkernel/BKE_particle.h index 4820f0173bf..d9a5cbab16e 100644 --- a/source/blender/blenkernel/BKE_particle.h +++ b/source/blender/blenkernel/BKE_particle.h @@ -312,6 +312,7 @@ bool psys_check_edited(struct ParticleSystem *psys); void psys_check_group_weights(struct ParticleSettings *part); int psys_uses_gravity(struct ParticleSimulationData *sim); +void BKE_particlesettings_fluid_default_settings(struct ParticleSettings *part); /* free */ void BKE_particlesettings_free(struct ParticleSettings *part); diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 88fc8c6a440..a2d9891ec2d 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -4150,7 +4150,7 @@ void psys_check_boid_data(ParticleSystem *psys) } } -static void fluid_default_settings(ParticleSettings *part) +void BKE_particlesettings_fluid_default_settings(ParticleSettings *part) { SPHFluidSettings *fluid = part->fluid; @@ -4182,24 +4182,12 @@ static void psys_prepare_physics(ParticleSimulationData *sim) sim->psys->flag &= ~PSYS_KEYED; } - if (part->phystype == PART_PHYS_BOIDS && part->boids == NULL) { - BoidState *state; - - part->boids = MEM_callocN(sizeof(BoidSettings), "Boid Settings"); - boid_default_settings(part->boids); - - state = boid_new_state(part->boids); - BLI_addtail(&state->rules, boid_new_rule(eBoidRuleType_Separate)); - BLI_addtail(&state->rules, boid_new_rule(eBoidRuleType_Flock)); - - ((BoidRule*)state->rules.first)->flag |= BOIDRULE_CURRENT; - - state->flag |= BOIDSTATE_CURRENT; - BLI_addtail(&part->boids->states, state); + /* RNA Update must ensure this is true. */ + if (part->phystype == PART_PHYS_BOIDS) { + BLI_assert(part->boids != NULL); } - else if (part->phystype == PART_PHYS_FLUID && part->fluid == NULL) { - part->fluid = MEM_callocN(sizeof(SPHFluidSettings), "SPH Fluid Settings"); - fluid_default_settings(part); + else if (part->phystype == PART_PHYS_FLUID) { + BLI_assert(part->fluid != NULL); } psys_check_boid_data(sim->psys); |