As reported by itms, UnitMotion's ComputeTargetPosition sometimes overflows. The reason is that Dot() can easily overflow with map-sized vectors, which I hadn't noticed.
Add a new function to CFixedVector that checks if the vectors are codirected (for unitMotion, this goes from >= to >, but that is unlikely to matter).