you missed the fact the hardpoints are on different sides, thus the direction x value switches -1.0 / 1.0....