Merge branch 'master' into blender2.8
authorSergey Sharybin <sergey.vfx@gmail.com>
Thu, 15 Feb 2018 11:33:44 +0000 (12:33 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 15 Feb 2018 11:33:44 +0000 (12:33 +0100)
12 files changed:
1  2 
release/scripts/startup/bl_ui/properties_particle.py
release/scripts/startup/bl_ui/properties_texture.py
source/blender/blenkernel/BKE_particle.h
source/blender/blenkernel/intern/particle.c
source/blender/blenkernel/intern/particle_child.c
source/blender/blenkernel/intern/particle_system.c
source/blender/blenkernel/intern/smoke.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/space_view3d/drawobject.c
source/blender/makesdna/DNA_particle_types.h
source/blender/makesrna/intern/rna_particle.c

index bc4c32f58053b9ec67a404e018d76cf721889e29,48ecdb04348100855acfa3e8ffec52e189393c47..8cdd668b7e7e8602815206ce9ec62b266733edaf
@@@ -694,9 -813,11 +813,11 @@@ void do_child_modifiers(const ParticleC
                rough_end *= ptex->roughe;
        }
  
+       do_twist(modifier_ctx, state, t);
        if (part->flag & PART_CHILD_EFFECT)
                /* state is safe to cast, since only co and vel are used */
 -              guided = do_guides(sim->psys->part, sim->psys->effectors, (ParticleKey *)state, cpa->parent, t);
 +              guided = do_guides(sim->eval_ctx, sim->psys->part, sim->psys->effectors, (ParticleKey *)state, cpa->parent, t);
  
        if (guided == 0) {
                float orco_offset[3];
index 240eda4bf8e3a4da899ae09b1762126c1efe0a58,c3823627009cc98c06911d27c887e0f5c0b74bdc..75c217c4f0cb022ff1887e2f8535f09ad1c97cb2
@@@ -5978,9 -5044,10 +5978,11 @@@ static void draw_new_particle_system
                curvemapping_changed_all(psys->part->clumpcurve);
        if ((psys->part->child_flag & PART_CHILD_USE_ROUGH_CURVE) && psys->part->roughcurve)
                curvemapping_changed_all(psys->part->roughcurve);
+       if ((psys->part->child_flag & PART_CHILD_USE_TWIST_CURVE) && psys->part->twistcurve)
+               curvemapping_changed_all(psys->part->twistcurve);
  
  /* 2. */
 +      sim.eval_ctx = eval_ctx;
        sim.scene = scene;
        sim.ob = ob;
        sim.psys = psys;
index ea7905eb2adc7707425158370ec079b76b5f153e,9dbd1a18703fdc2d44c9535f075c7d98eacb95dd..a7be2e37c4b5f0880de9597287f416e18055b6c4
@@@ -260,9 -259,12 +260,14 @@@ typedef struct ParticleSettings 
  
        /* modified dm support */
        short use_modifier_stack;
 -      short pad5[3];
 +
 +      short pad5;
 +      int recalc;
+       float twist;
+       float pad6;
+       struct CurveMapping *twistcurve;
+       void *pad7;
  } ParticleSettings;
  
  typedef struct ParticleSystem {