Now behaves as normal, i.e. only occasionally goes through walls.
Walls which completely block all particles are in the pmap with type
0xFF. ptypes[] doesn't go up to 0xFF, so ptypes[0xFF].state will not
necessarily result in an answer that gives correct behaviour for walls.