This implements has the following changes:
- When defining an alias for a new variant, SjaakII will also send the new name of the variant as a variant it understands. This makes the new name show up in the "New variant..." dialog box. This should resolve all disagreement on variant names if you would like to play SjaakII against another engine.
- Hash table aging is disabled during analysis mode.
- Fixed a bug in the definition for queen-side castling in Capablanca Chess
- You can now define multiple promotion zones, with different promotion options for each.
- Fix a bug that caused incorrect result claims in variants where the goal is to lose all your pieces.
- It is now possible to state that captures are mandatory.
- Castling can now be "flexible": you can specify multiple possibilities for the king's destination square.
- Fix a number of engine options not working or not working correctly.
- Colour output of the chess board should now work correctly in the Windows terminal
- Pieces can be marked as "iron", which means they cannot be captured. You can also specify that pieces may only capture some of the other pieces, but not others.
- There is a new optional rule for variants with multiple kings per side: if you attack any of them, it counts as check.
- Add a new "Initial:" move flag, to represent moves that can only be performed by pieces that have not moved yet. This is in addition to the "Special:" move flag, that gives moves that can only be performed in specific regions of the board. Currently, the initial move must be a step (pawn) move.
- Pieces that begin "in hand" are now included in the count of initial material for the purpose of determining game phase.
- Improve evaluation of pieces in XiangQi.
- Two new options to control randomisation of initial moves at the beginning of the game. One is the number of moves to which the randomisation should be applied (default: the first 10 half moves) and one is the "amplitude" (maximum score added to the evaluation, default 20).
- Diana Chess, a cute 6x6 variant
- Viceroy Chess, as FIDE but with promotion by file-piece
- Chaturanga, as Shatranj but with promotion by file-piece and to captured pieces only
- Super Capablanca Chess, a 12x8 with Amazons and flexible castling
- Wildebeest Chess, 11x10 with two extra leapers: the colour bound Camels and the Wildebeest (Gnu)
- Schoolbook Chess, a Capablanca variant with flexible castling
- Suicide Chess, where you have to lose all your pieces
- Roman Chess, A 10x10 that features Commoners (non-royal K)
Planned (but as-yet unimplemented) features include support for opening books as well as configurable personality settings. If anyone has suggestions for how to handle these, please let me know.
As always, let me know about bugs or broken features!