Raycasting is fixed now. Also works for negative values. The long code in World.cpp is to ensure current position flips sign.