If there are particles with b2_fixtureContactListenerParticle flag in the system, contact listener receives BeginContact callbacks for all particles - even for particles without this flag. This happens because NotifyBodyContactListenerPostContact method doesn't take b2_fixtureContactListenerParticle flag into account.
Even worse, for particles without b2_fixtureContactListenerParticle flag, BeginContact callback is being called multiple times per contact - filtering out old contacts doesn't work.
The same bug applies to b2_particleContactListenerParticle and NotifyContactListenerPostContact method.
If there are particles with
b2_fixtureContactListenerParticle
flag in the system, contact listener receivesBeginContact
callbacks for all particles - even for particles without this flag. This happens becauseNotifyBodyContactListenerPostContact
method doesn't takeb2_fixtureContactListenerParticle
flag into account.Even worse, for particles without
b2_fixtureContactListenerParticle
flag,BeginContact
callback is being called multiple times per contact - filtering out old contacts doesn't work.The same bug applies to
b2_particleContactListenerParticle
andNotifyContactListenerPostContact
method.