Remove promotion-piece encoding from ChessMove type
authorH.G. Muller <h.g.muller@hccnet.nl>
Mon, 4 Oct 2010 07:32:18 +0000 (09:32 +0200)
committerArun Persaud <arun@nubati.net>
Tue, 5 Oct 2010 02:35:12 +0000 (19:35 -0700)
commit88082a3882690efd9ea7d3e01ad9d6dd5f5baf86
treee92f646182b65ae48aff5e00833a28d9b6e3a05a
parentccc569b6febbb39ba6e7979f0068c04653456059
Remove promotion-piece encoding from ChessMove type

The shizophrenic way to indcate promotion pieces in the XBoard code
(sometimes using a promoChar, at other times relying on moveType) was
cured by combining all promotion move types (such as WhitePromotionRook)
into a single one (WhitePromotion), and relying on promoChar to specify
the piece. This solves the problem of promoting to new piece types in
variants, which formerly also required addition of new move types.

In Shogi the '+' character is now consistently used to indicate
promotions (and recognized in ApplyMove), rather than 'q' or
PieeToChar(BlackQueen), as the latter did not work in minivariants where
the Queen (representng the Lance) did not partcipate.
backend.c
common.h
moves.c
parser.c
parser.l