Let hoppers change direction, use range bits as offset
authorH.G.Muller <hgm@hgm-xboard.(none)>
Thu, 2 Oct 2014 21:29:08 +0000 (23:29 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Thu, 2 Oct 2014 21:29:08 +0000 (23:29 +0200)
commit3f3fc8b97c2ae601d6d437647561be4d954a4fb8
treefbd94adb5745f6ac707132a1f6452099c0f2789a
parent25b177d809f72250a6ec78df11fb84ccff1fe4ad
Let hoppers change direction, use range bits as offset

Hoppers were ignoring the step-vector toggle. This is now corrected,
with a re-write to get more compact code (toggling the rights bits only
in a single place). The range counter is no longer decremented for
hoppers, so these bits can now be used as flag for something else.
Currently they are used to subtract range*oldStep from the hop square,
so that with range=1 the hop-toggle takes place on the square before
the obstacle, allowing implementation of colliding bifurcators.
fairymax.c