fairymax.git
10 years agoRepair Seirawan gating
H.G.Muller [Wed, 8 Oct 2014 06:56:21 +0000]
Repair Seirawan gating

The overhaul of promotion code had forgotton to strip off the virginity
and color bits of the gated piece (gt) when assigning it to the promotion
piece type. With as a result that garbage characters were printed as
promotion suffix in gating moves.

10 years agoEmit piece command for Falcon in Falcon Chess
H.G.Muller [Sat, 4 Oct 2014 20:02:35 +0000]
Emit piece command for Falcon in Falcon Chess

This uses the 'a' operator, which might not yet be supported by
XBoard 4.8.0. (But this then also should reject it when legality testing
is on.)

10 years agoAdd Bifurcator Chess
H.G.Muller [Thu, 2 Oct 2014 21:37:12 +0000]
Add Bifurcator Chess

A self-concocted Chess variant using the concept of bifurcating
pieces conceived by Mats Winther. The Bishop and Rook are replaced
by upgraded versions that have all usual moves, but 'bounce off' the
first friendly piece that would have normally blocked them. They can
continue at 45-degree angle on either side of that piece. This seems
good to drive anyone crazy! Piece values as yet completely unknown,
but obviously higher than the usual B and R, as they get lots of extra
moves when the board is well populated, so I upped them 1 Pawn.

10 years agoUse '2'-bit of range field to flag hop-friend
H.G.Muller [Fri, 3 Oct 2014 08:22:51 +0000]
Use '2'-bit of range field to flag hop-friend

The possibility to 'collide' from the hop platform by first stepping
back a number of squares before starting the second leg is now restricted
to one square, as indicated by the '1'-bit of the range field, for hoppers.
The '2' bit now flags that only a friendly piece can be used as platform;
an enemy counts as empty in the hop test, but because there is an actual
piece there it will terminate the ray (as no hop will reset that then).

10 years agoLet hoppers change direction, use range bits as offset
H.G.Muller [Thu, 2 Oct 2014 21:29:08 +0000]
Let hoppers change direction, use range bits as offset

Hoppers were ignoring the step-vector toggle. This is now corrected,
with a re-write to get more compact code (toggling the rights bits only
in a single place). The range counter is no longer decremented for
hoppers, so these bits can now be used as flag for something else.
Currently they are used to subtract range*oldStep from the hop square,
so that with range=1 the hop-toggle takes place on the square before
the obstacle, allowing implementation of colliding bifurcators.

10 years agoImplement King of the Hill as engine-supported variant
H.G.Muller [Tue, 30 Sep 2014 20:18:32 +0000]
Implement King of the Hill as engine-supported variant

The new winning condition is implemented as finding a royal of the stm
on the hill at the start of the turn. A global flag 'hill' enables this
test, and is set when the value of piece #3 is -2. (Kludgy!) The flag
centr[pieceType] is now used as a multiplier, which for 0, 1 amounts
to the same, but opens the possibility to up it before the search, for a
specific piece type. This is used in 'King of the Hill' to increase the
attraction of the King towards the center from 12 to 264cP when material
drops from Q+2minor (each) to nothing. (This was worth 100 Elo!)
The royal piece must be piece #3!

10 years agoAdd Windows icon for the executables
H.G.Muller [Sun, 28 Sep 2014 20:55:24 +0000]
Add Windows icon for the executables

For convenience the .o file is also committed, although it is really
a derived file.

10 years agoAdd piece command for Rookies Marshal
H.G.Muller [Sun, 28 Sep 2014 20:44:40 +0000]
Add piece command for Rookies Marshal

The native moves of XBoard for the chosen piece were KN, not RN.

10 years agoAdd Charge of the Light Brigade as engine-defined variant
H.G.Muller [Fri, 26 Sep 2014 21:04:58 +0000]
Add Charge of the Light Brigade as engine-defined variant

A slight modification in the FEN printing was needed so that white
could have empty squares on the back-rank of the setup. (Black stil
cannot!)

10 years agoEmit piece commands in cylinder Chess
H.G.Muller [Wed, 24 Sep 2014 17:46:09 +0000]
Emit piece commands in cylinder Chess

10 years agoMention more variants in plugin-spec
H.G.Muller [Tue, 23 Sep 2014 20:23:06 +0000]
Mention more variants in plugin-spec

Now that the plugin-spec standard has decided on categorizing variants,
we can mention the categories in which the Fairy-Max variants belong.

10 years agoEmit piece commands in Cambodian and Great Shatranj
H.G.Muller [Tue, 23 Sep 2014 20:19:57 +0000]
Emit piece commands in Cambodian and Great Shatranj

10 years agoConfigure piece commands for all non-standard pieces
H.G.Muller [Sat, 20 Sep 2014 08:55:44 +0000]
Configure piece commands for all non-standard pieces

The weird pieces in Chess with Different Armies, Great Shatranj and
the Ai-Wok are now described in piece commands, so the GUI can be made
aware of the way these move. For Berolina, Falcon and Superchess this
was not yet possible, because of e.p. capture, multi-leg moving and
the Emperor's castling move, respectively.

10 years agoSupport printing of piece command specified in ini file
H.G.Muller [Sat, 20 Sep 2014 08:25:59 +0000]
Support printing of piece command specified in ini file

Lines behind the game definition starting with # (after an empty
such line) are sent to the GUI with a 'piece' prefix. This allows
Fairy-Max to implement the new XBoard protocol for communicating
piece moves to the GUI, so the latter can do legality testing and
better SAN generation.

10 years agoMention piece-to-char table in format description
H.G.Muller [Sat, 20 Sep 2014 09:25:51 +0000]
Mention piece-to-char table in format description

10 years agoCorrect Marshal moves in Rookies army
H.G.Muller [Sat, 20 Sep 2014 08:36:27 +0000]
Correct Marshal moves in Rookies army

The moves of the Marshal in the CWDA Remarkable Rookies army were
configured as that of the Colonel from the Nutty Knigths army,
rather than as an ordinary RN compound.

10 years agoFix spurious setup command at startup
H.G.Muller [Sat, 20 Sep 2014 07:29:23 +0000]
Fix spurious setup command at startup

The vatiable ptc was used uninitialized when the default game description
at the start of the ini file was used in response to LoadGame(NULL),
leading to printing of a spurious setup command with garbage piece-to-char
table, which would wreck the initial setup of XBoard when it started with
legality testing off.

10 years agoAdd separate plugin-spec files for maxqi and shamax
H.G.Muller [Sat, 13 Sep 2014 13:06:16 +0000]
Add separate plugin-spec files for maxqi and shamax

Next to the .eng file, also install logos for them, but use the same
logo as for fairymax (now named logo.png).

10 years agoUpdate Makefile
H.G.Muller [Fri, 12 Sep 2014 20:51:34 +0000]
Update Makefile

Let Makefile install logo and plugin-spec file for new GUI auto-install
system. Also apply Debian patch regarding LDFLAGS and CPPFLAGS.

10 years agoCreate .eng file
H.G.Muller [Fri, 12 Sep 2014 16:15:25 +0000]
Create .eng file

This file is intended for install in /usr/share/games/plugins/xboard/
to announce the presence of the engine.

10 years agoCommit logo
H.G.Muller [Fri, 12 Sep 2014 16:15:02 +0000]
Commit logo

10 years agoLet main return value, to make Clang happy
H.G.Muller [Fri, 12 Sep 2014 16:05:46 +0000]
Let main return value, to make Clang happy

10 years agoBump version number
H.G.Muller [Mon, 8 Sep 2014 10:12:03 +0000]
Bump version number

10 years agoDelete some spurious empty lines from ini file
H.G.Muller [Mon, 8 Sep 2014 10:00:55 +0000]
Delete some spurious empty lines from ini file

10 years agoAdd variant 'nocastle' description to ini file
H.G.Muller [Mon, 8 Sep 2014 09:58:35 +0000]
Add variant 'nocastle' description to ini file

10 years agoSend parent variant with setup command
H.G.Muller [Thu, 26 Dec 2013 20:54:54 +0000]
Send parent variant with setup command

Implement WinBoard's extended setup command, which also specifies
board size and parent variant. The parent variant can be specified
in the fmax.ini file behind the pieceToCharTable. Ai-wok and Cambodian
now have new definitions making use of this mechanism. To not confuse
them with the old definitions, (which remained for backward compatibility),
the later are now capitalized.

11 years agoFix MaxQi printinf variants
H.G. Muller [Wed, 23 Oct 2013 18:47:16 +0000]
Fix MaxQi printinf variants

The bug that with some compilers made Fairy-Max fail reading its ini file
was still present in MaxQi, and doing the same thing there.

11 years agoIssue setup command in Makruk
H.G. Muller [Mon, 20 May 2013 11:36:47 +0000]
Issue setup command in Makruk

Printing of a setup command after loading a game is now also done in Makruk,
and takes into account Pawns start on 3rd rank there.

11 years agoImplement Ai-Wok option in Makruk
H.G. Muller [Mon, 20 May 2013 10:59:47 +0000]
Implement Ai-Wok option in Makruk

The checkbox option to play Makruk with Cambodian rules is now replaced
by a combobox that lets you choose between makruk, cambodian and ai-wok.
The latter is given a new definition in the fmax.ini file. It is Makruk
where the Met is replaced by an Ai-Wok piece (RNF).

11 years agoAdopt new method for indicating promotion-zone depth
H.G. Muller [Mon, 20 May 2013 10:15:11 +0000]
Adopt new method for indicating promotion-zone depth

Fairy-Max normally promotes Pawns only on last rank. For Makruk, whih needs
6th rank, a kludge was used by trikkering on value 181 of the promotion
piece. Now a suffix =N to the board-size spec is used in stead, where N
indicates the deviant zone depth. For now we always assume N=3 when this
suffix is present (as the IA would not know how to do other zone depth
than 1 or 3).

11 years agoAdd ASEAN Chess
H.G. Muller [Mon, 20 May 2013 09:49:44 +0000]
Add ASEAN Chess

This is a clone of Makruk, using Q and B for piece ID, and promotion
only on last rank. (And white K and Q set up differently, but as it gets
the Pawns wrong this has to be loaded from the GUI anyway.)

11 years agoMark castling Rook as non-virgin
H.G. Muller [Thu, 16 May 2013 17:14:47 +0000]
Mark castling Rook as non-virgin

The Rook was left virgin when castling. This could cause erroneous gating
in variant seirawan. Now the original piece is remembered in a variable rk,
from which it can be restored, while the on-board (moved) Rook wil get the
virginity bit set. Separate storage was preferred over clearing the bit
on take-back, because it allows the same code to also handle other removal
of pieces a a side effect of a move, by setting G to the piece to be removed.

11 years agoUpdate man page 4.8S
H.G. Muller [Fri, 26 Apr 2013 09:11:17 +0000]
Update man page

Mention the limited-range sliders.

11 years agoFix compiler warnings MaxQi
H.G. Muller [Fri, 26 Apr 2013 09:01:44 +0000]
Fix compiler warnings MaxQi

LoadGame was declared as int rather than void and did not return anything.
The return statements in int main did not return a value.

11 years agoCheck in Fairy-Max web page
H.G. Muller [Thu, 28 Feb 2013 14:41:36 +0000]
Check in Fairy-Max web page

11 years agoFix promotion value Shatranj / Courier / Makruk
H.G. Muller [Tue, 26 Feb 2013 14:15:20 +0000]
Fix promotion value Shatranj / Courier / Makruk

The patch to use true piece value in game-level promotions broke variants
in which promotion is to the worthless Ferz. Because in subtrating the
default score it did not take into account the division by 8 this has
in the search for such variants.

11 years agoImplement Remarkable Rookies
H.G. Muller [Wed, 20 Feb 2013 16:08:27 +0000]
Implement Remarkable Rookies

The Rookies army of Chess with Different Armies contained an R4, which
can now be implemented with the limited-range slider extension. Game
defiitions have been added of Rookies vs FIDE and Clobberers (both ways).

11 years agoImplement limited-range sliders
H.G. Muller [Wed, 20 Feb 2013 16:06:37 +0000]
Implement limited-range sliders

bit 10 & 11 of the flags word were still unused, and are now used to
specify how many steps the first toggling of the move rights should
be postponed on non-hopper moves.

11 years agoFix check extension
H.G. Muller [Sat, 16 Feb 2013 17:05:46 +0000]
Fix check extension

Check extension in micro-Max was not be awarded when a piece other than King
captured the checker. In the code this was still tested assuming the piece
number of the King would always be 3, while in Fairy-Max every piece can be
Royal, based on the sign of its piece value w[]. In many game definitions
piece 3 was actually not a King at all.

11 years agoFix promotion bonus
H.G. Muller [Wed, 13 Feb 2013 18:39:02 +0000]
Fix promotion bonus

In its search Fairy-Max always promotes to 'Queen' ad gives itself 768 cP
bonus for that. (Which is about right for the original micro-Max Q=851
and P=74.) The opponent can do under-promotion to a piece of wildly
different value, though, and this was not corrected. It is now corrected
at game level (which is the only place it can happen).

11 years agoAdd 6th and 7th rank Pawn bonus when setting up position
H.G. Muller [Wed, 13 Feb 2013 19:02:13 +0000]
Add 6th and 7th rank Pawn bonus when setting up position

Both the bonuses hidden in the board, as well as the total material
evaluation had to be added.

11 years agoUpdate changelog
H.G. Muller [Tue, 12 Feb 2013 15:38:38 +0000]
Update changelog

11 years agoBump version number to 4.8S
H.G. Muller [Mon, 11 Feb 2013 21:30:26 +0000]
Bump version number to 4.8S

11 years agoFix bug in Berolina e.p. capture
H.G. Muller [Tue, 12 Feb 2013 15:03:36 +0000]
Fix bug in Berolina e.p. capture

A move to the e.p. square in Berolina is not always an attempt to
capture e.p., but can also be a normal non-capture. The latter were
refused, however, because the capture square was always shifted for
Pawn moves to the e.p. square. Now it is only done when the move
has capture rights associated with it.

11 years agoFix spurious result claims in Spartan Chess
H.G. Muller [Tue, 12 Feb 2013 08:43:20 +0000]
Fix spurious result claims in Spartan Chess

Fairy-Max sometimes sees phantom mates, where evasion is possible through
promotion to royalty. The possibility for this is now detected based on
presence of expendable royalty in the list of participating pieces,
and this is used to suppress loss claims. (Checking if promotion is
indeed possible is limited to presence of 2nd-rank Pawn.)
 In addition promotion to royalty is now rejected as illegal in variants
without expendable royalty.

11 years agoRemove under-promotion resign
H.G. Muller [Mon, 11 Feb 2013 21:38:13 +0000]
Remove under-promotion resign

This was legacy code from micro-Max, and is no longer used, as Fairy-Max
allows the opponent every under-promotion.

11 years agoCorrect typo in error message
H.G. Muller [Mon, 11 Feb 2013 20:51:30 +0000]
Correct typo in error message

11 years agoFix some warnings
H.G. Muller [Mon, 11 Feb 2013 13:12:48 +0000]
Fix some warnings

11 years agoFix Clear Hash option
H.G. Muller [Mon, 11 Feb 2013 13:05:46 +0000]
Fix Clear Hash option

The Clear Hash option was not properly tested for, and was thus ignored.

11 years agoFix hash-address bug
H.G. Muller [Mon, 11 Feb 2013 13:02:05 +0000]
Fix hash-address bug

The lowest bit of the address was clipped off by wrong use of the mask.
Because of this only even entries could be used, and spoiling of the
key after underpromotion to the 'nearest' alternative would lead to an
enormous number of false hash hits, leading to false result claims.

12 years agoRecognize drop moves as illegal move
H.G. Muller [Tue, 24 Apr 2012 12:57:12 +0000]
Recognize drop moves as illegal move

An @-sign as second character now makes Fairy-Max recognize the input
as a move, so that the Illegal-move response is given rather than the
Unknown-command response. It is not really checked if the encoding of
the drop move accidentally coincide with that of a legal move.

12 years agoLet Fairy-Max print timing info
H.G. Muller [Mon, 13 Feb 2012 12:37:28 +0000]
Let Fairy-Max print timing info

Before and after search a time stamp are printed, and after the search
the real and cpu time used for it. The time stamp can be compared to
that of the opponent, to calculate communication delay through the GUI.

12 years agoFix illegal-move message on seirawan gating from gated pieces
H.G. Muller [Wed, 28 Dec 2011 13:28:18 +0000]
Fix illegal-move message on seirawan gating from gated pieces

Entering a gating move hen an already-gated piece left the back rank
as interpreted as a on-gating move, rather than rejected. This because
gating moves with non-virgin pieces were interpreted as non-gating
promotions. The test for true promotions is now done on piece type
rather than virginity.

12 years agoFix undo in variant seirawan
H.G. Muller [Tue, 27 Dec 2011 14:39:42 +0000]
Fix undo in variant seirawan

The gated pieces were not remembered in the game history, so that
replaying it when tking bck a move did not work properly.

12 years agoAdd setting up of holdings in variant seirawan
H.G. Muller [Tue, 27 Dec 2011 14:02:30 +0000]
Add setting up of holdings in variant seirawan

In WB edit mode lines of the form P@N put N copies of piece type P
in the Seirawan holdings, and the xedit=1 feature lets WB send it
this way. Should not be used for other pieces than H or E!

13 years agoFix under-promotion hash mixup
H.G. Muller [Thu, 3 Nov 2011 16:37:34 +0000]
Fix under-promotion hash mixup

The hash table was invalidated on under-promotion by adding the promotion
'deficit' to the J hash key. But for some fairy-pieces (in particular
Spartan G vs W) this difference apparently caused false hits in the
null-move search, leading to misqualification of positions as stalemate.
Presumably because the J key is also modified by stm, and different
stm and promo-deficit could cancel each other. In stead we now modify
the Z hash key with the promo-deficit.

13 years agoUpdate explanations inf max.ini file 4.8R
H.G. Muller [Sat, 8 Oct 2011 17:29:29 +0000]
Update explanations inf max.ini file

13 years agoUpdate and improve manual page
H.G. Muller [Sat, 8 Oct 2011 13:37:24 +0000]
Update and improve manual page

13 years agoSlight improvements in Makefile
H.G. Muller [Sat, 8 Oct 2011 12:45:54 +0000]
Slight improvements in Makefile

On request the Makefile is made more BSD friendly, and now also uses
DESTDIR in constructing the name of the ini files.

13 years agoBump version number to 4.8R
H.G. Muller [Fri, 7 Oct 2011 15:17:27 +0000]
Bump version number to 4.8R

Also update changelog.

13 years agoAdapt make-dist for Ubuntu crippling of md5
H.G. Muller [Fri, 7 Oct 2011 15:44:06 +0000]
Adapt make-dist for Ubuntu crippling of md5

md5 apparently is not provided anymore in Ubuntu 10.04, and is replaced
by md5sum, which causes an error when it sees a directory, which
apparently cannot be suppressed by an option. A work-around is now
provided in the Makefile, through ignoring the result.

13 years agoAdd variant falcon
H.G. Muller [Fri, 7 Oct 2011 15:10:30 +0000]
Add variant falcon

The description of Falcon Chess is added again to the ini file,
now the patent on that variant has expired.

13 years agoFix virginity of pieces in setup position
H.G. Muller [Fri, 7 Oct 2011 14:28:00 +0000]
Fix virginity of pieces in setup position

Only royal and corner pieces got their virginity bits set when they
started on the original location, because these bits were only used
for castling. But this caused problems for the Met move in Cambodian Chess.
There was in fact no reason not to extend this to all pieces.
It might even solve a so far undetected problem in Seirawan.
But in Makruk it isextra important, because WinBoard always considers
that played from a setup position, because of the non-standard Pawn rank.

13 years agoSelect Cambodian Chess by separate option
H.G. Muller [Fri, 7 Oct 2011 14:22:33 +0000]
Select Cambodian Chess by separate option

A -check option is added to select Cambodian rules in Makruk, so that
this can now be played as Makruk under WinBoard. (This was needed to get
the promotion rules right.) The Cambodian Chess definition in the ini file
is changed from fairy/Cambodian to cambodian, and special code makes this
substitution for makruk.

13 years agoAdd Cambodian Chess
H.G. Muller [Sat, 1 Oct 2011 21:04:13 +0000]
Add Cambodian Chess

The extra moves of virgin K and M had to be exempted from the castling
test, for which the 128-bit in th eflags is used. This bit also indicates
the intermediate square is a dummy, (which makes the move a jump), and
is thus never set on genuine castlings.

13 years agoReorder pieces for Makruk
H.G. Muller [Sat, 1 Oct 2011 18:29:29 +0000]
Reorder pieces for Makruk

Makruk had many duplicate pieces, to provide B and F/Q as alternatives
for S and M. The piece ordering was also bad from the LVA point of view,
partly because the promotion piece has to be number 7 by convention.
The problem is now solved by using the B/F/Q aliases as filler pieces,
and moving the default pieces all behind M, in order of increasing value.

13 years agoAdd Spartan Chess as a major variant
H.G. Muller [Mon, 10 Jan 2011 17:17:53 +0000]
Add Spartan Chess as a major variant

For now we leave in the definition of fairy/Spartan as well, for
compatibility with older WinBoard versions that do not support spartan.

13 years agoFix phantom castlings in Spartan Chess
H.G. Muller [Mon, 10 Jan 2011 17:15:28 +0000]
Fix phantom castlings in Spartan Chess

Spartan Kings sometimes attempted to move 2 squares laterally, because
they thought they could castle. This becuase white andblack where
sharing the King definition. Now a separate definition for the black
King is added, without castling rights.

13 years agoFix legality of promotion to King
H.G. Muller [Mon, 10 Jan 2011 16:56:04 +0000]
Fix legality of promotion to King

The count for a piece type was not increased on promotion, with a result
that in variants with an extinction win condition phantom mates and
illegal moves (when in check) were called. The count is now increased at
game level when under-promotion to an extinction piece takes place.
This is done even befor the move is performed by the legality search,
because that search would only search promotion to 'Queen', so that
a promotion would not be considered legal if it leaves the last-remaining
'King'  in check. While such a promotion is a valid way to resolve the
extinction threat.
This leaves a minor problem in Spartan Chess: the King from the
promotion could also be in check, leading to a forbidden duple check,
and this is not detected. So an illegal move could be accepted here.
(Promotion to 'King'  in other variants is accepted as well, btw.)

13 years agoFix Makefile make-dist 4.8Q
H.G. Muller [Wed, 8 Dec 2010 09:03:32 +0000]
Fix Makefile make-dist

The md5sums were copied to the distribution folder, while they were
generated later from it anyway, and this caused an error in 'make
dist' after 'make dist-clean', as the latter removes md5sums.
dist-clean,

13 years agoFix in-file EOF problem
H.G. Muller [Sat, 4 Dec 2010 12:41:31 +0000]
Fix in-file EOF problem

Because of use of an uninitialized variable in PrintVariants, some
compiles were thinking that there were no game definitions in the
fmax.ini file.

13 years agoBump version number to 4.8Q
H.G. Muller [Wed, 1 Dec 2010 16:28:01 +0000]
Bump version number to 4.8Q

Also update change log

13 years agoUpdate man file
H.G. Muller [Wed, 1 Dec 2010 23:39:28 +0000]
Update man file

13 years agoFix watch-tower in Superchess
H.G. Muller [Thu, 2 Dec 2010 19:21:48 +0000]
Fix watch-tower in Superchess

This piece was accidentally replaced by another one.

13 years agoBetter implementation of Seirawan Chess
H.G. Muller [Wed, 1 Dec 2010 16:12:27 +0000]
Better implementation of Seirawan Chess

The previous implementation gated 'blindly', without gating being
considered in the search. Now the gating is put in the search, by
assigning the variable gt (initialized to 0) to the from square in
stead of a straight 0 (= empty square), when making the move. An extra
loop (alas, goto-based) then steps gt through the available pieces
(removing and putting them back into the holdings) when the moved piece
is a virgin non-Pawn and the variant allows gating.
  In the root the value of gt for the best move is remembered in the
global variable GT, while searching (i.e. K==I). This can also be set
from the promoChar of an input move. The pass to perform the move (with
K != I) then compares gt to GT when testing for legality.

fix

14 years agoAllow Seirawan gating on Rook square when castling
H.G. Muller [Mon, 22 Nov 2010 12:20:37 +0000]
Allow Seirawan gating on Rook square when castling

The reverse castling notation (RxK) can be used to indicate this, as WB
protocol prescribes. Implemented by simply moving the contents of the
old K square to the old R square when a KxR notation is detected.

14 years agoAllow RxK notation for entering castling
H.G. Muller [Mon, 22 Nov 2010 11:52:02 +0000]
Allow RxK notation for entering castling

This notation is detected on input, and translated to the corresponding
King move, where the to-square is derved from the entered 'Rook'
position, so that capturing with wrongly positioned pieces would be
rejected as illegal. (They might be accepted as normal King moves,
though.)

14 years agoAdd more CDA combinations
H.G. Muller [Mon, 22 Nov 2010 11:33:44 +0000]
Add more CDA combinations

Game definitions for Chess with Different Armies combinations
Nutters-FIDE, Clobberers-Nutters and Nutters-Clobberers were added.

14 years agoTune piece values of Nutters army
H.G. Muller [Mon, 22 Nov 2010 09:59:59 +0000]
Tune piece values of Nutters army

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

14 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.

14 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.

14 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".

14 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.

14 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.

14 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.

14 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.

14 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.

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

Better piece order

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

14 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.

14 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.

14 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.

14 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.

14 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