fairymax.git
13 years agoMake Spartan Chess primary fairy variant
H.G. Muller [Fri, 19 Nov 2010 18:27:19 +0000]
Make Spartan Chess primary fairy variant

13 years agoChange representation of Nutters pieces
H.G. Muller [Fri, 19 Nov 2010 18:22:00 +0000]
Change representation of Nutters pieces

The Nutters (officially: 'Nutty Knights') now use Knight-like symbols
for all their knightish pieces: the Unicorn for the Charging Knights
(which is both Knight-like and King-like), the Nightrider for the
Fibnif and the Vortex Chancellor for the Colonel. The Charging Rook is
represented by the promoted Rook symbol.

13 years agoLet Clobberers use Dragon Horse for Bede
H.G. Muller [Fri, 19 Nov 2010 17:51:53 +0000]
Let Clobberers use Dragon Horse for Bede

The corner piece of the Clobberers array now is represented by Dragon
Horse rather than Lance, but 'L' is still used for notation (rather than
the default 'I'),for 'Lama'. This requires even FIDE vs Clobberers
to define a -pieceToChar string.

13 years agoMake undo work in Seirawan Chess
H.G. Muller [Wed, 17 Nov 2010 15:30:57 +0000]
Make undo work in Seirawan Chess

The holdings were not restored before replaying the game. This has now
been moved to InitGame(), which does it based on a gating flag set in
LoadGame() if the variant name is "seirawan".

13 years agoAccount for Elephant and Hawk in Seirawan game stage
H.G. Muller [Wed, 17 Nov 2010 15:07:23 +0000]
Account for Elephant and Hawk in Seirawan game stage

The holdings pieces were not counted when initializing R.

13 years agoFix the moves of the Colonel in the Nutters army
H.G. Muller [Wed, 17 Nov 2010 14:43:30 +0000]
Fix the moves of the Colonel in the Nutters army

There was a spurious backward Knight moveon this piece, and some moves
were considered twice.

13 years agoSuppress bad gatings in variant seirawan
H.G. Muller [Wed, 17 Nov 2010 14:35:45 +0000]
Suppress bad gatings in variant seirawan

For moves done by the engine, the QS score after gating is compared to
the original score of the move (which did not consider gating), and if
it is much lower, the gating is cancelled.

13 years agoImplement variant seirawan, and add it
H.G. Muller [Tue, 16 Nov 2010 11:36:31 +0000]
Implement variant seirawan, and add it

The gating is implemented through a kludge: the search is not aware that
pieces can be gated in, but any move that evacuates the back rank when
there are pieces to be gated available, will gate one (first Hawk, then
Elephant.

13 years agoRemember promotion char in game history
H.G. Muller [Tue, 16 Nov 2010 10:15:52 +0000]
Remember promotion char in game history

Undo did not work when there were under-promotions in the game.

13 years agoShape up Nutters army
H.G. Muller [Fri, 12 Nov 2010 17:29:56 +0000]
Shape up Nutters army

Better piece order

13 years agoAdd Clobberers vs FIDE game definition
H.G. Muller [Fri, 12 Nov 2010 17:23:09 +0000]
Add Clobberers vs FIDE game definition

13 years agoShape up the Clobberers army
H.G. Muller [Fri, 12 Nov 2010 16:41:17 +0000]
Shape up the Clobberers army

The pieces are defined in a better order (for MVV/LVA), and the
Clobberers are made to promote to Archbishop.

13 years agoLet edit command switch to force mode
H.G. Muller [Sun, 7 Nov 2010 20:51:36 +0000]
Let edit command switch to force mode

Fairy-Max stayed playing the side it was playing before 'edit'. Now it
switches to 'force' mode, so that it won't start to play automatically
on receiving a move after setting up a position.

13 years agoProperly calculate material eval in asymmetric setups
H.G. Muller [Sun, 7 Nov 2010 20:46:33 +0000]
Properly calculate material eval in asymmetric setups

InitGame assumed that Q=0 in the opening position, but with different
armies this needs not be true. Now it is properly calculated. In the
calculation of R it as also no longer assumed that piece 3 is royal, and
spare Kings are accounted for.

13 years agoImplement rule change in Spartan Chess
H.G. Muller [Sat, 6 Nov 2010 20:45:16 +0000]
Implement rule change in Spartan Chess

The General now moves as Crowned Rook, and the default promotion piece
has been changed to Warlord. Also adjust some piece values.

13 years agoSend setup command to GUI
H.G. Muller [Sat, 6 Nov 2010 20:39:56 +0000]
Send setup command to GUI

After receiving the variant command for variant fairy, Fairy-Max
responds with a setup command to inform the GUI about the piece names
and opening array of the actually selected variant.
The piece names are defeined (in the format of a WinBoard
-pieceToCharTable string) after the variant name in the fmax.ini file,
separated from it by a '#' sign.

14 years agoUpdate docs and version number (4.8P) 4.8P
H.G. Muller [Tue, 2 Nov 2010 10:44:24 +0000]
Update docs and version number (4.8P)

14 years agoRemove stalemate claim from MaxQi
H.G. Muller [Tue, 2 Nov 2010 10:38:21 +0000]
Remove stalemate claim from MaxQi

This was code that could not be triggered.

14 years agoSwitch back to absolute royalty when value = -1
H.G. Muller [Tue, 2 Nov 2010 11:02:49 +0000]
Switch back to absolute royalty when value = -1

This is achieved by simulating we only have one such piece

14 years agoLimit duple-check rule to piece types above 7
H.G. Muller [Tue, 2 Nov 2010 10:22:45 +0000]
Limit duple-check rule to piece types above 7

This to allow implementation of normal extinction variants.
The definition of Spartan Chess had to be adapted to maintain the
duple-check rule there, moving the King definition to the end.
The piece ordering was further changed so that the black pieces now
also are ordered low to high, which gives better move ordering in QS,
as Fairy-Max' idea of MVV/LVA orders attacker on piece-type number,
rather than the defined value.

14 years agoAdd FIDE vs Nutty Knights game definition
H.G. Muller [Mon, 1 Nov 2010 22:19:25 +0000]
Add FIDE vs Nutty Knights game definition

14 years agoAllow different default promo piece for black and white
H.G. Muller [Mon, 1 Nov 2010 21:19:05 +0000]
Allow different default promo piece for black and white

If black lacks the 'Queen' (piece #7) that white has, but has a piece #9
in the initial setup, it will promote to that in stead.

14 years agoConvert to DOS line ends
H.G. Muller [Mon, 1 Nov 2010 21:16:58 +0000]
Convert to DOS line ends

14 years agoAdd game definition of Spartan Chess
H.G. Muller [Mon, 1 Nov 2010 12:54:10 +0000]
Add game definition of Spartan Chess

14 years agoSwitch to extinction-Chess win condition
H.G. Muller [Mon, 1 Nov 2010 12:42:30 +0000]
Switch to extinction-Chess win condition

Normal Chess is of course a form of extinction Chess where you have to
exterminate the King piece type, since you only have a single one.
Royalty is still indicated by negative piece value, bt a win now only
occurs if you capture the last royal piece of its kind, rather than the
first.

The 'duple check' of Spartan Chess is treated as an exception, however:
when there is choice between royal pieces to capture, this is sufficient
for a win.

14 years agoKeep count of all on-board piece types
H.G. Muller [Mon, 1 Nov 2010 12:27:17 +0000]
Keep count of all on-board piece types

The array pl[] is used to keep track of the number of pieces of each
type. It is updated when the piece is captured. For now, it ignores
promotions.

14 years agoSave total material with setup position
H.G. Muller [Mon, 1 Nov 2010 12:09:34 +0000]
Save total material with setup position

The total-material counter R, which determines the game stage, was not
saved with a setup position, so that 'undo' could mess it up. The piece
counters for each side, in pl[], are now saved in a loop, rather than
just the WHITE and BLACK element, and is extended to 32 elements.

14 years agoImplement e.p.-less initial double-moves
H.G. Muller [Mon, 1 Nov 2010 11:41:36 +0000]
Implement e.p.-less initial double-moves

The leaper bit in the secondary rights (in combination with primary
rights = 4, the double-push code) is used to indicate the e.p. square
should not be set. In this case the secondary hopper bit indicates if
the double push can even be made if the intermediate square is occupied
(to make it a rank-dependent leaper move rather than a true double-
push). In al cases these secondary bits are cleared.

14 years agoAllow sub-specification of variant fairy
H.G. Muller [Mon, 1 Nov 2010 10:54:08 +0000]
Allow sub-specification of variant fairy

If game definitions in the fmax.ini file now have a name starting with
"fairy/", they are not mentioned in the variants feature, but in stead
the part after the '/' will appear in a combobox engine option for
choosing the actual variant to play when the GUI says "fairy".

14 years agoPrint promotion characterwith move
H.G. Muller [Mon, 1 Nov 2010 10:18:44 +0000]
Print promotion characterwith move

We cannot rely on the WinBoard default of Queen, as in some variants the
Queen might not participate.

14 years agoFix macro for MaxQi ini-file name to conform to Makefile
H.G. Muller [Thu, 6 May 2010 14:00:50 +0000]
Fix macro for MaxQi ini-file name to conform to Makefile

It was defined as QINI_file in stead of INI_FILE.

14 years agoPut all files in tar ball in a directory
H.G. Muller [Fri, 22 Jan 2010 16:53:54 +0000]
Put all files in tar ball in a directory

The dist target in the Makefile was changed to first copy everything to
temporary directory, and then pack that in a tar ball.

14 years agoLet Makefile pay attention to $(DESTDIR)
H.G. Muller [Sun, 17 Jan 2010 21:04:24 +0000]
Let Makefile pay attention to $(DESTDIR)

Patch requested by Debian

14 years agoDelete md5sums with make dist-clean
H.G. Muller [Sun, 17 Jan 2010 20:57:15 +0000]
Delete md5sums with make dist-clean

14 years agoRename manual source file
H.G. Muller [Sun, 17 Jan 2010 20:53:28 +0000]
Rename manual source file

The file fmax.6.pod was renamed to fairymax.pod to automatically produce
proper headers after running pod2man on it, and the Makefile was updated
to accomodate this change.

14 years agoRemove Shatranj stalemate claim
H.G. Muller [Sun, 17 Jan 2010 14:20:34 +0000]
Remove Shatranj stalemate claim

As the search of Shamax does not distinguish checkmate and stalemate, it
could never be triggered.

14 years agoUpdate changelog 4.8O
H.G. Muller [Sat, 16 Jan 2010 13:48:21 +0000]
Update changelog

14 years agoFix eval flip on WB color commands
H.G. Muller [Sat, 16 Jan 2010 13:26:36 +0000]
Fix eval flip on WB color commands

The differential eval Q was not flipped when the WB-protocol command
black or white did change the side to move.

14 years agoFix Shatranj game-end messages
H.G. Muller [Sat, 16 Jan 2010 13:09:58 +0000]
Fix Shatranj game-end messages

Because stalemate was tested before the conditionally included shatranj
bare-king code, it was not effective. Furthermore, the stalemate code
was still claiming a draw. Now ShaMax has its own stalemate code, put
after the bare-king test.

14 years agoUse MSDOS line endings in fmax.ini consistently
H.G. Muller [Fri, 15 Jan 2010 21:15:54 +0000]
Use MSDOS line endings in  fmax.ini consistently

14 years agoChange game description af -variant fairy
H.G. Muller [Fri, 15 Jan 2010 21:12:06 +0000]
Change game description af -variant fairy

Use Chess with Different Armies, FIDE army vs. Color-bound Clobberers.

14 years agoBugfix on new castling method
H.G. Muller [Fri, 15 Jan 2010 21:01:58 +0000]
Bugfix on new castling method

Copying the Rook square in stead of growing a Rook was done after the
Rook square had already been cleared. In addition the Rook ended up on
d1 for e1b1 castling. To fix that, the alternated step vector had to be
calculated in advance, before being sure it would be applied, to be
available in the castling code. The variable v is now used as a
temporary for that, as it was available after the score is minimaxed.

14 years agoBump version number
H.G. Muller [Fri, 15 Jan 2010 16:32:29 +0000]
Bump version number

14 years agoLet make dist also create file with md5 sums
H.G. Muller [Fri, 15 Jan 2010 16:30:53 +0000]
Let make dist also create file with md5 sums

14 years agoImplement variant Makruk
H.G. Muller [Fri, 15 Jan 2010 11:28:04 +0000]
Implement variant Makruk

Add Makruk support in the form of 6th-rank promotion (enabled through a
kludge based on the 'Queen' piece value). Add Makruk as new variant to
the fmax.ini file, and mention it in the man page.

14 years agoSuppress spurious Thinking Output on MakeMove
H.G. Muller [Fri, 15 Jan 2010 10:19:27 +0000]
Suppress spurious Thinking Output on MakeMove

In the new location the printing of PVs happened for any legal move at
d<1, also when checking legality of an input move. So printing is now
limited to d>0, and to the true search.

14 years agoAllow castling with any original corner piece
H.G. Muller [Fri, 15 Jan 2010 10:05:25 +0000]
Allow castling with any original corner piece

Before, castling was only possible with piece type 6, but this
restrction is now lifted, and castling is accepted if the type of the
piece in the corner corresponds to that specified in the initial setup.
For setup positions the rules for the WB-prtocol edit command are
applied with respect to this setup: a royal piece or a corner piece that
starts in the opening position is assumed to not have moved.

14 years agoUpdate description in fmax.ini file
H.G. Muller [Fri, 15 Jan 2010 08:39:16 +0000]
Update description in fmax.ini file

14 years agoAllow different white and black pieces to use same name
H.G. Muller [Fri, 15 Jan 2010 08:32:25 +0000]
Allow different white and black pieces to use same name

White and black pieces must sometimes be programmed separately, because
they have asymmetric moves (e.g. Pawns), but when they are each other's
mirror imge, we want them to go by the same name. To allow that, the
first piece of any name is now used for white, the last for black.

14 years agoFix King name for Knightmate in fmax.ini
H.G. Muller [Fri, 15 Jan 2010 06:44:23 +0000]
Fix King name for Knightmate in fmax.ini

Change the letter for the Royal Knight of Knightmate from U to K, to
conform to the XBoard standard piece naming for this variant.

14 years agoUpdated changelog 4.8N
H.G. Muller [Fri, 15 Jan 2010 06:07:54 +0000]
Updated changelog

14 years agoFix typo in README file
H.G. Muller [Fri, 15 Jan 2010 06:02:29 +0000]
Fix typo in README file

14 years agoUpdate man file for multi-PV
H.G. Muller [Fri, 15 Jan 2010 05:59:52 +0000]
Update man file for multi-PV

14 years agoChange name of multi-PV option and version number
H.G. Muller [Fri, 15 Jan 2010 05:57:16 +0000]
Change name of multi-PV option and version number

14 years agoAdd dist target to Makefile
H.G. Muller [Fri, 15 Jan 2010 05:44:49 +0000]
Add dist target to Makefile

This creates a source tar ball.

14 years agoFix fairymax.6.gz target in Makefile
H.G. Muller [Fri, 15 Jan 2010 05:35:11 +0000]
Fix fairymax.6.gz target in Makefile

The old .gz had to be removed before gzipping the new one.

14 years agoAdd man-file target to Makefile
H.G. Muller [Thu, 14 Jan 2010 22:30:34 +0000]
Add man-file target to Makefile

14 years agoDelete fairymax man file
H.G. Muller [Thu, 14 Jan 2010 22:29:33 +0000]
Delete fairymax man file

The ultimate source is fmax.6.pod

14 years agoKeep PV in triangular array, and add multi-PV
H.G. Muller [Thu, 14 Jan 2010 22:18:36 +0000]
Keep PV in triangular array, and add multi-PV

14 years agoChecked in the Fairy-Max 4.8 M package
H.G. Muller [Thu, 14 Jan 2010 22:12:20 +0000]
Checked in the Fairy-Max 4.8 M package