Implement engine-defined pieces
authorH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 17 Sep 2014 11:41:58 +0000 (13:41 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Sun, 28 Sep 2014 20:14:27 +0000 (22:14 +0200)
commit07596a90fd52fa895bab836cf22e83c6c3f37e62
tree47e1d1b26772212425ed624ddf81ba7b3667ab31
parent58829f360dca7d929444d8f3748bae8a37be7ad0
Implement engine-defined pieces

When legality testing is off, XBoard now listens to 'piece' commands
to redefine its move generator. After such a piece command is received,
target-square marking also can be used when legality testing is off.
The engine keeps in charge of legality testing, though.
 Only a very basic version of Betza notation is currently understood for
the move description: mode modifiers have to appear in the order mcd,
and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not
implemented at all. A leading i modifier limits the moves to the first
two ranks, which is no good at all. (But XBoard does not keep track of
which pieces have moved, and this at least would work for Pawns in a
FIDE-like setup, in particular Berolina.)
backend.c
moves.c
moves.h