Updated PAPR passthrough behavior
This commit is contained in:
parent
6f70192742
commit
8efefb0264
@ -3330,9 +3330,9 @@ void Simulation::RecalcFreeParticles(bool do_life_dec)
|
|||||||
photons[y][x] = PMAP(i, t);
|
photons[y][x] = PMAP(i, t);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Particles are sometimes allowed to go inside INVS and FILT
|
// Particles are sometimes allowed to go inside INVS, FILT, and PAPR
|
||||||
// To make particles collide correctly when inside these elements, these elements must not overwrite an existing pmap entry from particles inside them
|
// To make particles collide correctly when inside these elements, these elements must not overwrite an existing pmap entry from particles inside them
|
||||||
if (!pmap[y][x] || (t!=PT_INVIS && t!= PT_FILT))
|
if (!pmap[y][x] || (t!=PT_INVIS && t!= PT_FILT && t != PT_PAPR))
|
||||||
pmap[y][x] = PMAP(i, t);
|
pmap[y][x] = PMAP(i, t);
|
||||||
// (there are a few exceptions, including energy particles - currently no limit on stacking those)
|
// (there are a few exceptions, including energy particles - currently no limit on stacking those)
|
||||||
if (t!=PT_THDR && t!=PT_EMBR && t!=PT_FIGH && t!=PT_PLSM)
|
if (t!=PT_THDR && t!=PT_EMBR && t!=PT_FIGH && t!=PT_PLSM)
|
||||||
|
@ -187,7 +187,7 @@ void SimulationData::init_can_move()
|
|||||||
can_move[movingType][PT_SAWD] = 0;
|
can_move[movingType][PT_SAWD] = 0;
|
||||||
|
|
||||||
// Let most non-solids pass through PAPR
|
// Let most non-solids pass through PAPR
|
||||||
if (elements[movingType].Properties & (TYPE_GAS | TYPE_PART | TYPE_LIQUID))
|
if (elements[movingType].Properties & (TYPE_GAS | TYPE_PART | TYPE_LIQUID) && (movingType != PT_FIRE && movingType != PT_SMKE))
|
||||||
can_move[movingType][PT_PAPR] = 2;
|
can_move[movingType][PT_PAPR] = 2;
|
||||||
}
|
}
|
||||||
//a list of lots of things PHOT can move through
|
//a list of lots of things PHOT can move through
|
||||||
|
Reference in New Issue
Block a user