Pass EvaluationContext argument everywhere
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
This commit is contained in:
@@ -51,7 +51,6 @@
|
||||
#include "BKE_particle.h"
|
||||
#include "BKE_scene.h"
|
||||
|
||||
|
||||
#include "MEM_guardedalloc.h"
|
||||
|
||||
|
||||
@@ -786,8 +785,8 @@ static DerivedMesh *cutEdges(ExplodeModifierData *emd, DerivedMesh *dm)
|
||||
return splitdm;
|
||||
}
|
||||
static DerivedMesh *explodeMesh(ExplodeModifierData *emd,
|
||||
ParticleSystemModifierData *psmd, Scene *scene, Object *ob,
|
||||
DerivedMesh *to_explode)
|
||||
ParticleSystemModifierData *psmd, struct EvaluationContext *eval_ctx, Scene *scene,
|
||||
Object *ob, DerivedMesh *to_explode)
|
||||
{
|
||||
DerivedMesh *explode, *dm = to_explode;
|
||||
MFace *mf = NULL, *mface;
|
||||
@@ -812,6 +811,7 @@ static DerivedMesh *explodeMesh(ExplodeModifierData *emd,
|
||||
mface = dm->getTessFaceArray(dm);
|
||||
totpart = psmd->psys->totpart;
|
||||
|
||||
sim.eval_ctx = eval_ctx;
|
||||
sim.scene = scene;
|
||||
sim.ob = ob;
|
||||
sim.psys = psmd->psys;
|
||||
@@ -993,8 +993,8 @@ static ParticleSystemModifierData *findPrecedingParticlesystem(Object *ob, Modif
|
||||
}
|
||||
return psmd;
|
||||
}
|
||||
static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
|
||||
DerivedMesh *derivedData,
|
||||
static DerivedMesh *applyModifier(ModifierData *md, struct EvaluationContext *eval_ctx,
|
||||
Object *ob, DerivedMesh *derivedData,
|
||||
ModifierApplyFlag UNUSED(flag))
|
||||
{
|
||||
DerivedMesh *dm = derivedData;
|
||||
@@ -1028,7 +1028,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
|
||||
if (emd->flag & eExplodeFlag_EdgeCut) {
|
||||
int *facepa = emd->facepa;
|
||||
DerivedMesh *splitdm = cutEdges(emd, dm);
|
||||
DerivedMesh *explode = explodeMesh(emd, psmd, md->scene, ob, splitdm);
|
||||
DerivedMesh *explode = explodeMesh(emd, psmd, eval_ctx, md->scene, ob, splitdm);
|
||||
|
||||
MEM_freeN(emd->facepa);
|
||||
emd->facepa = facepa;
|
||||
@@ -1036,7 +1036,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
|
||||
return explode;
|
||||
}
|
||||
else
|
||||
return explodeMesh(emd, psmd, md->scene, ob, derivedData);
|
||||
return explodeMesh(emd, psmd, eval_ctx, md->scene, ob, derivedData);
|
||||
}
|
||||
return derivedData;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user