Tile Traversal bitfields should use defined flags throughout the code rather than comments saying what they do.
Looks like we have the enum CollisionFlag
, but it is not used everywhere.
Offending piece of code example:
boolean isBlocking = (
(traversal & 16) != 0 || // diagonal wall \
(traversal & 32) != 0 || // diagonal wall /
(traversal & 64) != 0 // water or black, etc.
This can look something like...
boolean isBlocking = traversal & Tile.DIAGONAL_WALL != 0 || traversal & Tile.WATER != 0;
Edited by Kenix Whisperwind