fairystockfish.git
2 years agoFix Betza parsing of half-plane modifiers
Fabian Fichter [Wed, 6 Sep 2023 21:15:17 +0000]
Fix Betza parsing of half-plane modifiers

And add unit tests.

Closes #709.

2 years agoadd Duck region mask. add forward/checkers (#705)
RainRat [Wed, 6 Sep 2023 07:34:28 +0000]
add Duck region mask. add forward/checkers (#705)

2 years agoFix promotion rules of Caught-in-a-snag variant
Belzedar94 [Tue, 5 Sep 2023 16:59:16 +0000]
Fix promotion rules of Caught-in-a-snag variant

2 years agoadd Caught in a Snag, Minihouse, Pawnsking, Rookmate (#707)
RainRat [Mon, 4 Sep 2023 20:27:18 +0000]
add Caught in a Snag, Minihouse, Pawnsking, Rookmate (#707)

2 years agoadd Quad Wrangle (#704)
RainRat [Fri, 1 Sep 2023 14:19:21 +0000]
add Quad Wrangle (#704)

2 years agoadd Nuclear (#703)
RainRat [Sat, 26 Aug 2023 10:29:54 +0000]
add Nuclear (#703)

2 years agoAllow empty bitboards in config
Fabian Fichter [Fri, 25 Aug 2023 17:44:22 +0000]
Allow empty bitboards in config

2 years agoFix "xiangqihouse" to Align with Actual Xiangqi Bughouse (#689)
PraseodymiumSpike [Thu, 24 Aug 2023 06:46:52 +0000]
Fix "xiangqihouse" to Align with Actual Xiangqi Bughouse (#689)

2 years agoadd Atomar. Optimize connect. (#695)
RainRat [Wed, 23 Aug 2023 12:02:05 +0000]
add Atomar. Optimize connect. (#695)

2 years agoSimplify pawn usage check
Fabian Fichter [Mon, 21 Aug 2023 18:59:29 +0000]
Simplify pawn usage check

2 years agoUpgrade Ubuntu version for CI
Fabian Fichter [Sun, 20 Aug 2023 11:33:23 +0000]
Upgrade Ubuntu version for CI

2 years agoFix custom king insufficient material
Fabian Fichter [Sun, 20 Aug 2023 10:51:17 +0000]
Fix custom king insufficient material

Closes #686.

2 years agoFix compiler warning
Fabian Fichter [Sun, 20 Aug 2023 10:06:05 +0000]
Fix compiler warning

2 years agoCorrectly set en passant square
Fabian Fichter [Sun, 20 Aug 2023 09:29:23 +0000]
Correctly set en passant square

Always set en passant square in case of custom pawns
to ensure that standard pawns can be captured en passant.

Closes #680.

2 years agoUpdate variants.ini
Fabian Fichter [Sun, 6 Aug 2023 13:57:36 +0000]
Update variants.ini

Closes #685

2 years agoCannonshogi (#693)
Bajusz Tamás [Sun, 6 Aug 2023 13:23:09 +0000]
Cannonshogi (#693)

2 years agoSkip parsing castling rights when disabled
Fabian Fichter [Sun, 9 Jul 2023 19:17:12 +0000]
Skip parsing castling rights when disabled

Closes #678.

2 years agoIndicate promotion status in bughouse FENs
Fabian Fichter [Sun, 25 Jun 2023 20:36:28 +0000]
Indicate promotion status in bughouse FENs

2 years agoFix error in ptell message
Lucien Fiorini [Sun, 25 Jun 2023 13:59:07 +0000]
Fix error in ptell message

2 years agoadd Annexation (issue #654). fix typos. (#662)
RainRat [Fri, 16 Jun 2023 19:33:58 +0000]
add Annexation (issue #654). fix typos. (#662)

Closes #654

2 years agoFix typo in variants.ini
Fabian Fichter [Fri, 2 Jun 2023 06:44:25 +0000]
Fix typo in variants.ini

2 years agoAdd more tests
Fabian Fichter [Wed, 31 May 2023 19:57:55 +0000]
Add more tests

2 years agoUpdate MacOs version for github action
Fabian Fichter [Wed, 24 May 2023 17:50:08 +0000]
Update MacOs version for github action

bench: 6180480

2 years agoadd Tic-Tac-Chess, Capture the Queen, Cowboys, River, Dragon Chess (#659)
RainRat [Wed, 24 May 2023 14:50:17 +0000]
add Tic-Tac-Chess, Capture the Queen, Cowboys, River, Dragon Chess (#659)

2 years agoadd All Queens, Rooksquare, Alapo, A Simple Game, Picaria, Nine Holes (#652)
RainRat [Tue, 2 May 2023 20:08:28 +0000]
add All Queens, Rooksquare, Alapo, A Simple Game, Picaria, Nine Holes (#652)

2 years agoExtract Variant::conclude from header file
Fabian Fichter [Sun, 23 Apr 2023 18:41:24 +0000]
Extract Variant::conclude from header file

No functional change.

2 years agoUpdate AUTHORS
Fabian Fichter [Sat, 22 Apr 2023 15:15:41 +0000]
Update AUTHORS

2 years agoFix initiative bonus for flag variants
Fabian Fichter [Sat, 22 Apr 2023 15:01:21 +0000]
Fix initiative bonus for flag variants

2 years agoRefactor capture the flag implementation
Fabian Fichter [Sat, 22 Apr 2023 14:17:31 +0000]
Refactor capture the flag implementation

Simplify and generalize implementation to support color-specific
flag pieces as well as allowing all pieces to be eligible.

2 years agoFlagvariants (#638)
RainRat [Sat, 22 Apr 2023 12:15:24 +0000]
Flagvariants (#638)

2 years agoEnsure stable count for nnueKing
Fabian Fichter [Fri, 14 Apr 2023 16:57:34 +0000]
Ensure stable count for nnueKing

2 years agoEnsure correct NNUE king index (#643)
Fabian Fichter [Fri, 14 Apr 2023 14:44:37 +0000]
Ensure correct NNUE king index (#643)

2 years agoadd allexplodeatomic (#639)
RainRat [Wed, 12 Apr 2023 20:38:18 +0000]
add allexplodeatomic (#639)

2 years agoadd mini games (#640)
RainRat [Wed, 12 Apr 2023 16:45:17 +0000]
add mini games (#640)

1D Chess, Tuktuk, Aralzaa, Bajr, Lewthwaite's Game, Hexapawn

2 years agoDo not use 2 fold adjudication for chases (#637)
Fabian Fichter [Mon, 10 Apr 2023 09:10:34 +0000]
Do not use 2 fold adjudication for chases (#637)

Closes #635.

2 years agoFix flipello6 configuration
Fabian Fichter [Wed, 5 Apr 2023 16:54:44 +0000]
Fix flipello6 configuration

Closes #630.

2 years agoUpdate Variants.ini (#627)
Belzedar94 [Tue, 4 Apr 2023 13:57:55 +0000]
Update Variants.ini (#627)

2 years agoadd kono and fox-and-hounds (#628)
RainRat [Tue, 4 Apr 2023 12:26:51 +0000]
add kono and fox-and-hounds (#628)

2 years agoAdd Board.checkedPieces() to ffish.js (#626)
Ada Joule [Sun, 2 Apr 2023 19:25:37 +0000]
Add Board.checkedPieces() to ffish.js (#626)

2 years agoAllow to set protocol at startup
Fabian Fichter [Sun, 2 Apr 2023 16:22:46 +0000]
Allow to set protocol at startup

2 years agoSupport combining duck with pseudo-royalty
Fabian Fichter [Sun, 2 Apr 2023 15:14:33 +0000]
Support combining duck with pseudo-royalty

2 years agoSupport Sort of Almost Chess
Fabian Fichter [Sun, 2 Apr 2023 15:45:03 +0000]
Support Sort of Almost Chess

2 years agoRedefine reset of 50 move rule counter (#616)
Fabian Fichter [Sat, 1 Apr 2023 16:25:21 +0000]
Redefine reset of 50 move rule counter (#616)

2 years agoAdd ALLVARS binary to builds
Fabian Fichter [Sat, 1 Apr 2023 15:18:14 +0000]
Add ALLVARS binary to builds

Closes #591.

2 years agoFix gives_check for cannons and kings (#620)
Fabian Fichter [Sat, 1 Apr 2023 15:33:16 +0000]
Fix gives_check for cannons and kings (#620)

Closes #590.

2 years agoFix assertion for en passant
Fabian Fichter [Sat, 1 Apr 2023 14:35:19 +0000]
Fix assertion for en passant

2 years agoRemove unnecessary cleanup in ffishjs makefile
Fabian Fichter [Sat, 1 Apr 2023 11:31:45 +0000]
Remove unnecessary cleanup in ffishjs makefile

2 years agoFix shako castling when rook in corner (#617)
Fabian Fichter [Sat, 1 Apr 2023 10:40:24 +0000]
Fix shako castling when rook in corner (#617)

2 years agoRemove redundant appveyor pyffish build
Fabian Fichter [Fri, 31 Mar 2023 22:58:56 +0000]
Remove redundant appveyor pyffish build

2 years agoConsider duple check in is_check
Fabian Fichter [Fri, 31 Mar 2023 22:09:24 +0000]
Consider duple check in is_check

2 years agoFix new variant config
Fabian Fichter [Fri, 31 Mar 2023 16:53:05 +0000]
Fix new variant config

2 years agoAdd more variant configs
Fabian Fichter [Fri, 31 Mar 2023 16:26:25 +0000]
Add more variant configs

2 years agoBump version
QueensGambit [Wed, 29 Mar 2023 18:17:57 +0000]
Bump version

2 years agoBump pyffish version (#613)
Bajusz Tamás [Wed, 29 Mar 2023 06:16:29 +0000]
Bump pyffish version (#613)

2 years agomove isolation, joust, snailtrail to default build. fix typos (#611)
RainRat [Tue, 28 Mar 2023 09:52:58 +0000]
move isolation, joust, snailtrail to default build. fix typos (#611)

2 years agoTweak custom piece value estimation
Fabian Fichter [Sun, 26 Mar 2023 16:26:50 +0000]
Tweak custom piece value estimation

2 years agoAdd passed pawn evaluation for custom pawns
Fabian Fichter [Sun, 26 Mar 2023 14:11:01 +0000]
Add passed pawn evaluation for custom pawns

2 years agoSimplify usages of piece types and sets
Fabian Fichter [Sat, 25 Mar 2023 16:26:04 +0000]
Simplify usages of piece types and sets

No functional change.

2 years agoSupport multiple castling rook types (#603)
Fabian Fichter [Sat, 25 Mar 2023 13:35:08 +0000]
Support multiple castling rook types (#603)

Closes #52.

2 years agoUpdate descriptions (#605)
gnunicode [Sat, 25 Mar 2023 10:21:26 +0000]
Update descriptions (#605)

2 years agoReplace set<PieceType> by PieceSet enum (#602)
Fabian Fichter [Fri, 24 Mar 2023 22:27:55 +0000]
Replace set<PieceType> by PieceSet enum (#602)

Simplifies the code and improves performance.

No functional change.

2 years agoSupport custom pawn pieces
Fabian Fichter [Fri, 24 Mar 2023 15:54:31 +0000]
Support custom pawn pieces

This introduces support for
* initial moves, promotions, and en passant for all pieces.
* arbitrarily shaped double/triple step and promotion regions.
* per color configuration of promotion types and zone, etc.

These new configuration options enable support for
* Berolina, Spartan, Wolf
* Torpedo, pawnsideways, pawnback
* Legan, Troitzky

Most changed configuration options are kept as deprected options for now
for backwards compatibility, but it is recommended to migrate variant
configuration files as the deprecated options might be removed later.

Closes #305, closes #4, closes #209, closes #260, closes #51, closes #328, closes #596.

No functional change for other variants.

2 years agoAdd utility script for regression testing
Fabian Fichter [Fri, 24 Mar 2023 00:10:02 +0000]
Add utility script for regression testing

No functional change.

2 years agoSkip parsing invalid squares (#599)
Fabian Fichter [Sun, 19 Mar 2023 19:27:56 +0000]
Skip parsing invalid squares (#599)

2 years agoFix atomic captures with wall squares
Fabian Fichter [Fri, 17 Mar 2023 11:17:33 +0000]
Fix atomic captures with wall squares

Closes #599.

2 years agoFix CI out of memory
Fabian Fichter [Wed, 8 Mar 2023 22:21:00 +0000]
Fix CI out of memory

Closes #586.

2 years agoUpdate README.md
Fabian Fichter [Fri, 3 Mar 2023 23:26:09 +0000]
Update README.md

2 years agoUpdate README.md
Fabian Fichter [Fri, 3 Mar 2023 22:15:38 +0000]
Update README.md

2 years agoUpdate README.md
Fabian Fichter [Sun, 26 Feb 2023 22:04:16 +0000]
Update README.md

2 years agoUpdate FUNDING.yml
Fabian Fichter [Fri, 24 Feb 2023 18:17:43 +0000]
Update FUNDING.yml

2 years agoLimit depth for all=yes to reduce stack usage
Fabian Fichter [Sat, 18 Feb 2023 14:20:00 +0000]
Limit depth for all=yes to reduce stack usage

Partially addresses #583.

2 years agoUpdate variants.ini
Snowmoondaphne [Tue, 14 Feb 2023 21:57:10 +0000]
Update variants.ini

2 years agoAdd typescript type definition file for ffish.js (#571)
Ada Joule [Tue, 24 Jan 2023 20:54:19 +0000]
Add typescript type definition file for ffish.js (#571)

2 years agoFix CI
Fabian Fichter [Tue, 24 Jan 2023 20:49:32 +0000]
Fix CI

bench: 6180480

2 years agostatic and past gating: isolation, joust, snailtrail (#579)
RainRat [Tue, 24 Jan 2023 20:37:50 +0000]
static and past gating: isolation, joust, snailtrail (#579)

2 years agoLess move count pruning for wall gating
Fabian Fichter [Fri, 20 Jan 2023 15:23:12 +0000]
Less move count pruning for wall gating

duck STC
ELO: 54.65 +-27.2 (95%) LOS: 100.0%
Total: 500 W: 234 L: 156 D: 110

duck LTC
ELO: 68.63 +-43.2 (95%) LOS: 99.9%
Total: 200 W: 97 L: 58 D: 45

amazons STC
ELO: 30.65 +-43.4 (95%) LOS: 91.9%
Total: 250 W: 136 L: 114 D: 0

2 years agoBump version
QueensGambit [Sun, 15 Jan 2023 08:23:04 +0000]
Bump version

2 years agoBump pyffish version
Fabian Fichter [Sat, 14 Jan 2023 17:29:38 +0000]
Bump pyffish version

2 years agoSupport wall squares (#565)
Fabian Fichter [Sat, 14 Jan 2023 15:37:01 +0000]
Support wall squares (#565)

Add support for squares that are neither accessible
nor traversable, using the standard `*` notation.

* Add support for duck chess, closing #528.
* Add support for wall squares, e.g., Omicron and Gustav III chess, closing #53.
* Support petrification on capture.
* Refactor game of the amazons to use wall squares.
  * This changes both the FEN and move representation.
* Enable -DALLVARS for both pyffish and ffishjs.

Note: With this commit `pieces() == pieces(WHITE) | pieces(BLACK)`
can no longer be assumed due to the possibility of wall squares.

2 years agoCorrectly restrict to mustDropType
Fabian Fichter [Fri, 13 Jan 2023 19:10:14 +0000]
Correctly restrict to mustDropType

Closes #549.

2 years agoIgnore temporary immobility for immobilityIllegal
Fabian Fichter [Fri, 13 Jan 2023 18:38:54 +0000]
Ignore temporary immobility for immobilityIllegal

Closes #521.

2 years agoConsider configured pawn mobility region
Fabian Fichter [Fri, 13 Jan 2023 19:27:55 +0000]
Consider configured pawn mobility region

Closes #498.

2 years agoThai Notations (#563)
Ada Joule [Mon, 26 Dec 2022 17:19:58 +0000]
Thai Notations (#563)

3 years agoSupport Paradigm chess
Fabian Fichter [Sat, 10 Dec 2022 17:37:08 +0000]
Support Paradigm chess

3 years agoFix variant parsing for invalid board size
Fabian Fichter [Sat, 10 Dec 2022 17:21:40 +0000]
Fix variant parsing for invalid board size

3 years agoBump version
QueensGambit [Sat, 3 Dec 2022 10:57:42 +0000]
Bump version

3 years agoDobutsu rule fixes (#553)
Bajusz Tamás [Fri, 2 Dec 2022 12:58:48 +0000]
Dobutsu rule fixes (#553)

3 years agoUpdate ffish-test deployment link
Terry Hearst [Fri, 25 Nov 2022 19:40:48 +0000]
Update ffish-test deployment link

3 years agoPyffish python11 (#546)
Bajusz Tamás [Fri, 25 Nov 2022 15:05:17 +0000]
Pyffish python11 (#546)

3 years agoUpdate variants.ini
Snowmoondaphne [Wed, 2 Nov 2022 16:34:30 +0000]
Update variants.ini

3 years agoenable bit manipulation instruction set 1
disservin [Sun, 16 Oct 2022 12:37:01 +0000]
enable bit manipulation instruction set 1

bmi1 enables the use of _blsr_u64 for pop_lsb, and is availabe when avx2 is.

verified a small speedup (0.2 - 0.6%)

closes https://github.com/official-stockfish/Stockfish/pull/4202

No functional change

3 years agoUpdate AUTHORS
Fabian Fichter [Sat, 8 Oct 2022 10:53:00 +0000]
Update AUTHORS

3 years agoUpdate xboard.cpp - remove command
Rick [Wed, 5 Oct 2022 21:25:53 +0000]
Update xboard.cpp - remove command

Adding remove command xboard sends with CTRL+X, only sent when player's turn, go back two moves to players previous turn. Allows player to go back and try different moves without engine stopping like undo, see https://www.gnu.org/software/xboard/engine-intf.html#8 for differences between undo and remove.

3 years agoBump version
QueensGambit [Sat, 1 Oct 2022 14:37:37 +0000]
Bump version

3 years agoEpose variant capturesToHand to js/python (#522)
Bajusz Tamás [Sat, 1 Oct 2022 10:51:22 +0000]
Epose variant capturesToHand to js/python (#522)

3 years agoBump pyffish version
gbtami [Wed, 28 Sep 2022 09:34:00 +0000]
Bump pyffish version

3 years agoBump version
QueensGambit [Sun, 25 Sep 2022 15:02:10 +0000]
Bump version

3 years agoImplement correct Cambodian opening moves (#514)
Ada Joule [Sat, 17 Sep 2022 13:59:48 +0000]
Implement correct Cambodian opening moves (#514)

Article 5, Items 3 and 4
https://docs.google.com/document/d/1adppJ66vonM27UYwC-KyldXl7oZ_5Pb0/edit?usp=sharing&ouid=116281580550740302191&rtpof=true&sd=true

- The king now loses the ability to leap if an enemy rook moves into the
  same rank or file
- The ferz can no longer capture with its leap

3 years agoImplement Ouk Chaktrang's counting rules
Ada Joule [Fri, 9 Sep 2022 11:01:04 +0000]
Implement Ouk Chaktrang's counting rules

According to Article 5, Item 5 of this document.
https://docs.google.com/document/d/1adppJ66vonM27UYwC-KyldXl7oZ_5Pb0/edit?usp=sharing&ouid=116281580550740302191&rtpof=true&sd=true

To summarise the differences from Makruk:
1. The game ends in a draw immediately when the counting limit is reached,
   instead of exceeded. This effectively reduces the counting limit by
   one move.

2. The condition for a player to start board's honour counting is having
   three pieces or less, regardless of the number of unpromoted pawns on
   the board.

3. When the condition for piece's honour counting is met, the counting
   player may choose not to go into it, and continue the board's honour
   counting instead. This is be implemented by automatically choosing
   the method that can reach the counting limit in less number of moves.

3 years agoAdd in-built support for Miguel Illescas' Dragon Chess. (#505)
Tord Romstad [Tue, 12 Jul 2022 18:56:54 +0000]
Add in-built support for Miguel Illescas' Dragon Chess. (#505)