Ammended offsetting code to make it less likely to generate intermediate negative coordinates (which Marlin can't handle).