minor optimisation, fewer floats in coordinate calculations
bullet position/boundary calculation fixes