/* L) added Resign option feature (using new WB protocol) */
/* M) char -> signed char for better portability */
/* N) add PV printing and multi-PV support */
+/* O) non-Rook castling, 6th-rank promotion, independent B/W piece naming */
/***************************************************************************/
4/6/2009 Unified source of ShaMax and Fairy-Max into single fmax.c file, and
a multi-PV option to print lines within a certain sccore margin.
15/1/2010 Improved Makefile, updated docs
+ Implement independent naming of white and black pieces. (So mirror-
+ image pieces can use same letter.)
+ Change castling code to allow castling with any corner piece type.
+ Implement 6th-rank promotion based on 'Queen' value.
+ Makruk added as new variant to the fmax.ini file.
+16/1/2010 Fixed bug in Shatranj result claims.
+ Flip eval sign when side-to-move changes through WB color command.
+
+17/1/2010 Removed Shatranj stalemate claim again, as it was never triggered.
+
+1/11/2010 Implement counting of pieces, and extinction win condition.
+ Add engine option to allow subdivision of variant fairy.
+ Add FIDE vs Nutty Knights as variant fairy/FIDE-Nutters
+ Allow white and black to promote to a different piece type.
+
+2/11/2010 Implement duple-check rule.
+ Add Spartan Chess as variant to fmax.ini.
+ Update docs.
+
+1/12/2010 Version 4.8Q, implementing a reverse setup command for sending
+ pieceToCharTable and initial position to the GUI, sub-specification
+ of variant fairy through an engine-defined option, allowing Seirawan-
+ type gating moves in search. Seirawan Chess is added as new variant,
+ plus several new combinations of Chess with different armies
+
+7/10/2011 Version 4.8R, keeping better track of which pieces are virgin in a
+ setup position, and have a better distinction between use of the '4'
+ move-rights code between an initial double-step jump without e.p.
+ rights (as could so far only be used for Pawns, as the Spartan
+ Hoplite), and castlings. As a result even royal pieces can now get
+ an initial double-step other than castling, which has been used to
+ implement Cambodian Chess as a sub-variant of Makruk (selected
+ through a new option). Falcon Chess was added as a new variant.
+
+12/2/2013 Version 4.8S. Fixes a lot of bugs:
+ * Setting up Seirawan positions with ungated pieces
+ * Making Seirawan gating with already gated pieces illegal
+ * Fix undo in Seirawan (by remembering gatings)
+ * Recognizing drop moves as illegal moves
+ * Hash-table was only half used
+ * Spurious result claims after under-promotion
+ * False mate claims in Spartan when promotion to K was possible
+ * Fix bug in Berolina e.p. capture that is actually non-capture
+ * Fix conditions for check extension on capture of checker
+ * Fix Clear Hash option, which did not work at all
+ * Fix addition of 6th & 7th-rank Pawn bonus when setting up position
+ * Adapt score by true piece value in case of (under-)promotion
+ In addition it prints msec-accurate timing info,
+ and can implement limited range sliders of range up to 5.
+ Some game definitions using the Remarkable Rookies army (which
+ uses a range-4 Rook) have been added as sub-variants of fairy.
+
+8/9/2014 Version 4.8T. Three bug fixes, some enhancements, two new variants:
+ * mark Rook non-virgin after castling, so it cannot gate in Seirawan
+ * Fix printing of variants feature in MaxQi
+ * Sending the setup command now also works with 3rd-rank Pawns
+ * Allow sending a parent variant with 'setup'
+ * Implement new method for indicating promo-zone width = 3
+ * Implement new variant nocastle
+ * Implement new variant ASEAN Chess
+ * Add option to play Makruk with Ai-Wok in stead of Met
+
+17/10/2014 Version 4.8U. Four new variants were added:
+ * Charge of the Light Brigade
+ * King of the Hill
+ * Bifurcator Chess
+ * Team-Mate Chess
+ General game-playing enhancements:
+ * Hoppers can now be specified as hopping over friendly pieces
+ only, and the point where the second move leg starts can be
+ moved to the step just before hitting the platform.
+ * Sliders will now toggle to their secondary move only once,
+ allowing bent riders at the expense of crooked ones.
+ * Code is added to recognize the situation 'bare King', and
+ give higher award for cornering it in that case, to make mating
+ with many weak pieces (as regularly occurs in Makruk) easier.
+ * When a mate of the bare King in one corner cannot be found,
+ points will be awarded to drive the King out of that corner to
+ another one, allowing it to successfully perform KBNK-like mates.
+ * Make it possible to mark pieces as invalid promotion choice
+ Embracement of new standards:
+ * Add logo, and install it according to new 'plugin standard'
+ * Install a (new) .eng file to comply with the plugin standard
+ * Issue the (new) XBoard 'piece' command for all non-standard pieces
+ New options:
+ * Fifty-move claiming can be adapted to the need of the variant
+ * A comment line can now be displayed with each variant through
+ an 'Info' button in the engine options
+ Bugfixes, two of fatal bugs:
+ * Fix printing of Seirawan gating moves
+ * Correct the moves of the Marshal in the Rookies army of CWDA
+ * suppress emission of a spurious (garbled) setup command at startup
+ * Fix positioning of Pawns in ASEAN Chess in setup command
+
+22/10/2014 Version 4.8V. Bugfix release for 4.8U:
+ * Fixes null move, which was broken by the bare King patch, as that
+ always set material (R) to 4, not just when bare King was detected.