Who hit who


Each shape has two bitmasks. One category and one collide. Each bit bit in category represents type of object. For example bit 1 can be set for players, bit 2 for enemies and bit 3 set for the ground. A player shape would then have bit 1 set. In the players collide fields all the types that the player shape can collide with is set. So 2 and 3 to collide with enemies and the ground.

Object A and B collides if (( & B.col) || ( & A.col)) returns true.

Broadphase Callback

Callback that is called early in the collision pipeline. It avoids generating collision pairs at all.

Narrow phase Callback