Grid the landscape, and shortcircuit checks on the collision array if there are no nearby checked in collisions to be collided with. This is a big win for fire's ammoshove in particular. Also add a +2 that seemed missing in the check, and update fire accordingly.
if(WIN32 AND NOT UNIX)
file(GLOB DLLs *.dll)
install(FILES
${DLLs}
DESTINATION bin)
endif(WIN32 AND NOT UNIX)