fairystockfish.git
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)

3 years agoAdd in-built support for Raazuvaa (Maldivian Chess) (#503)
Belzedar94 [Tue, 28 Jun 2022 12:56:15 +0000]
Add in-built support for Raazuvaa (Maldivian Chess) (#503)

3 years agoImprove FEN validation (#497)
John Doknjas [Wed, 15 Jun 2022 17:45:17 +0000]
Improve FEN validation (#497)

3 years agoFix discovered check corner cases
Fabian Fichter [Wed, 8 Jun 2022 20:46:11 +0000]
Fix discovered check corner cases

3 years agoUpdate README.md
Fabian Fichter [Fri, 3 Jun 2022 11:31:35 +0000]
Update README.md

3 years agoUpdate 50 move rule for xiangqi
Fabian Fichter [Thu, 19 May 2022 18:12:47 +0000]
Update 50 move rule for xiangqi

Closes #405.

3 years agoImplement Variant::freeDrops (#486)
kz04px [Tue, 24 May 2022 21:58:22 +0000]
Implement Variant::freeDrops (#486)

For some games like Ataxx and Othello, specifying the pieces in hand is unnecessary. Setting freeDrops to true removes this from the FEN string.

3 years agoEnable NNUE for non-chess drop variants
Fabian Fichter [Sat, 21 May 2022 20:55:55 +0000]
Enable NNUE for non-chess drop variants

3 years agoDisable 50-move rule for ataxx
Fabian Fichter [Sat, 21 May 2022 18:15:49 +0000]
Disable 50-move rule for ataxx

3 years agoAdd flipello perft tests
Fabian Fichter [Sat, 21 May 2022 17:34:04 +0000]
Add flipello perft tests

No functional change.

3 years agoFixed Pandemonium, added Parahouse (new variant)
Snowmoondaphne [Sat, 21 May 2022 10:24:30 +0000]
Fixed Pandemonium, added Parahouse (new variant)

3 years agoAdd flipello to built-in variants
Fabian Fichter [Fri, 20 May 2022 11:59:09 +0000]
Add flipello to built-in variants

Also adjust NNUE code for othello and other non-chess variants.

3 years agoConvert protocol option to enum
Fabian Fichter [Mon, 16 May 2022 19:46:50 +0000]
Convert protocol option to enum

Closes #477.

3 years agoBump version
QueensGambit [Thu, 12 May 2022 16:40:59 +0000]
Bump version

3 years agoFix PGN parsing 960 variants (#474)
Bajusz Tamás [Thu, 12 May 2022 15:38:14 +0000]
Fix PGN parsing 960 variants (#474)

3 years agoPyffish wheels (#471)
Bajusz Tamás [Mon, 9 May 2022 16:34:46 +0000]
Pyffish wheels (#471)

3 years agoPyffish 0.0.72 (#469)
Bajusz Tamás [Fri, 29 Apr 2022 14:26:16 +0000]
Pyffish 0.0.72 (#469)

3 years agoSupport Xiangqi chasing rules
Fabian Fichter [Wed, 27 Apr 2022 21:27:36 +0000]
Support Xiangqi chasing rules

Add basic support for AXF chasing rules.
Some of the more complex cases are not handled yet.

Closes #55.

3 years agoUpdate README.md
Fabian Fichter [Tue, 26 Apr 2022 14:23:00 +0000]
Update README.md

3 years agoUpdate README.md
Fabian Fichter [Sun, 17 Apr 2022 10:13:39 +0000]
Update README.md

3 years agoIgnore carriage returns in INI parsing
Fabian Fichter [Sat, 16 Apr 2022 22:15:07 +0000]
Ignore carriage returns in INI parsing

3 years agoUpdate WASM repository URL
Fabian Fichter [Thu, 7 Apr 2022 20:56:38 +0000]
Update WASM repository URL

3 years agoBump ffish.js version
QueensGambit [Mon, 4 Apr 2022 17:54:20 +0000]
Bump ffish.js version

3 years agoFix quiet check move generation
Fabian Fichter [Mon, 4 Apr 2022 17:37:18 +0000]
Fix quiet check move generation

for mandatory piece promotions.

3 years agoBump pyffish version (#458)
Bajusz Tamás [Sat, 2 Apr 2022 20:05:07 +0000]
Bump pyffish version (#458)

3 years agoConsider king checks
Fabian Fichter [Tue, 29 Mar 2022 17:40:55 +0000]
Consider king checks

Affects bench due to pseudo-legal but illegal checks by kings.

bench: 6180480

Closes #451.

3 years agoFix shako castling
Fabian Fichter [Tue, 29 Mar 2022 18:20:29 +0000]
Fix shako castling

Consider pinned rook scenario like in chess960.

Closes #453.

3 years agoSupport checking of heredoc variant configs
Fabian Fichter [Fri, 1 Apr 2022 15:44:49 +0000]
Support checking of heredoc variant configs

Analogous to the loading of variant configs, also support checking
of configs specified directly in the CLI without an external file.

3 years agoSupport variant config parsing on CLI
Fabian Fichter [Mon, 28 Mar 2022 18:52:08 +0000]
Support variant config parsing on CLI

Use here-docs to load variant configurations from the CLI.

```
load <<EOF
[testvariant:chess]
somerule = somevalue
EOF
```

3 years agoBreak through for smaller boards in variants.ini
TheYoBots [Mon, 21 Mar 2022 18:02:45 +0000]
Break through for smaller boards in variants.ini

3 years agoUpdate link to NNUE overview
Fabian Fichter [Sun, 20 Mar 2022 13:36:41 +0000]
Update link to NNUE overview

3 years agoUpdate Copyright year
Yohaan Seth Nathan [Sat, 19 Mar 2022 12:13:20 +0000]
Update Copyright year

3 years agoUpdate GitHub Actions
TheYoBots [Fri, 18 Mar 2022 16:35:33 +0000]
Update GitHub Actions
- actions/checkout@v2 to actions/checkout@v3 : https://github.com/actions/checkout/releases/tag/v3.0.0
- actions/upload-artifact@v2 to actions/upload-artifact@v3 : https://github.com/actions/upload-artifact/releases/tag/v3.0.0

3 years agoAdd NNUE releases link to readme
Fabian Fichter [Thu, 17 Mar 2022 10:07:53 +0000]
Add NNUE releases link to readme

3 years agoSimplify releases workflow
TheYoBots [Tue, 15 Feb 2022 12:50:11 +0000]
Simplify releases workflow

3 years agoBump pyffish version (#442)
Bajusz Tamás [Mon, 14 Feb 2022 11:26:05 +0000]
Bump pyffish version (#442)

3 years agoMake castling through flying general illegal
Ada Joule [Sun, 13 Feb 2022 10:34:17 +0000]
Make castling through flying general illegal

Remove the illegality for pseudo-royal

3 years agoUpdate reference bench
Fabian Fichter [Sun, 13 Feb 2022 18:54:09 +0000]
Update reference bench

bench: 5903196

3 years agoAtomic check exception (#440)
Ada Joule [Sun, 13 Feb 2022 14:46:27 +0000]
Atomic check exception (#440)

3 years agoBump version
QueensGambit [Thu, 3 Feb 2022 19:19:34 +0000]
Bump version

3 years agoUpdate appveyor_python.yml to suport Python 3.10 (#435)
Bajusz Tamás [Thu, 3 Feb 2022 09:41:12 +0000]
Update appveyor_python.yml to suport Python 3.10 (#435)

3 years agoFix SAN generation for demotions
Fabian Fichter [Wed, 2 Feb 2022 19:50:35 +0000]
Fix SAN generation for demotions

And use more consistent uppercase conversion.

3 years agoCreate a workflow for releases
TheYoBots [Mon, 10 Jan 2022 06:46:45 +0000]
Create a workflow for releases
The build.yml file is renamed to release.yml and it Uploads both linux and windows binaries that can be published in Releases.

3 years agoRemove unnecessary parts in Funding.yml
SriMethan [Sun, 9 Jan 2022 08:08:57 +0000]
Remove unnecessary parts in Funding.yml

3 years agoFix Reversi style piece flips
Fabian Fichter [Sun, 2 Jan 2022 12:08:30 +0000]
Fix Reversi style piece flips

between_bb was redefined in an upstream merge,
which broke the implementation for Reversi/Othello.

3 years agoBump pyfffish version (#423)
Bajusz Tamás [Fri, 24 Dec 2021 10:29:48 +0000]
Bump pyfffish version (#423)

3 years agoSupport checking for checks on pseudo-royal pieces
Ada Joule [Wed, 22 Dec 2021 23:31:55 +0000]
Support checking for checks on pseudo-royal pieces

4 years agobump ffish to 0.6.5
QueensGambit [Sun, 12 Dec 2021 22:43:26 +0000]
bump ffish to 0.6.5

4 years agoSittuyin promotion disables rank based promotion
Fabian Fichter [Fri, 10 Dec 2021 21:44:27 +0000]
Sittuyin promotion disables rank based promotion

Handle mandatory pawn promotion more naturally by removing
the promotion rank workaround for Sittuyin and instead
explicitly disable rank based promotion in case of sittuyin promotion.

4 years agoFix search for option aliases in UCI dialects (#415)
cloudfish [Wed, 1 Dec 2021 08:05:54 +0000]
Fix search for option aliases in UCI dialects (#415)

4 years agoFix option names for UCI dialects
Fabian Fichter [Mon, 29 Nov 2021 22:26:11 +0000]
Fix option names for UCI dialects

Closes #412.

4 years agoSkip cp in UCCI
Fabian Fichter [Tue, 30 Nov 2021 08:18:47 +0000]
Skip cp in UCCI

Closes #413.

4 years agoFix disambiguation of special moves
Fabian Fichter [Sun, 28 Nov 2021 19:31:31 +0000]
Fix disambiguation of special moves

Closes #408.

4 years agoSupport time unit switch for UCCI
Fabian Fichter [Sun, 28 Nov 2021 13:30:52 +0000]
Support time unit switch for UCCI

Closes #406.

4 years agoAdd unit test to cover bugfix
Fabian Fichter [Sat, 13 Nov 2021 15:26:29 +0000]
Add unit test to cover bugfix

4 years agoFix castling rights for passing moves
Fabian Fichter [Sat, 13 Nov 2021 12:15:07 +0000]
Fix castling rights for passing moves

4 years agoUpdate variants.ini
Snowmoondaphne [Wed, 10 Nov 2021 01:34:14 +0000]
Update variants.ini

I'm really sorry to tell you this,,,

The positions of Black's Queen and Cardinal have been swapped in Pandemonium. Therefore, the definition has changed and it is necessary to modify it

[pandemonium]
variantTemplate = shogi
pieceToCharTable = PNBRFSA.UV.++++++++.++Kpnbrfsa.uv.++++++++.++k
maxFile = 9
maxRank = 9
pocketSize = 9
startFen = rnbsksbnr/2+f1+u1+a2/p1p1p1p1p/4v4/9/4V4/P1P1P1P1P/2+F1+U1+A2/RNBSKSBNR[] w - - 0 1
customPiece1 = o:NA
customPiece2 = s:WF
customPiece3 = u:D
customPiece4 = w:DWF
cast = false
pieceDrops = true
capturesToHand = true
immobilityIllegal = true
soldier = p
knight = n
bishop = b
rook = r
king = k
queen = q
commoner = g
dragonHorse = h
bers = d
alfil = a
archbishop = c
chancellor = m
fers = f
wazir = v
centaur = t
promotionRank = 7
promotedPieceType = p:g n:o b:h r:d a:c v:m f:q s:w u:t
doubleStep = false
perpetualCheckIllegal = true
nMoveRule = 0
nFoldValue = loss
stalemateValue = loss

Could you please modify the definition like this?

Sorry again for the troublesome request,,,

4 years agoRemove redundancy from S-Chess FEN
Fabian Fichter [Fri, 5 Nov 2021 23:05:38 +0000]
Remove redundancy from S-Chess FEN

Closes #83.

4 years agoUpdate variants.ini
Snowmoondaphne [Tue, 26 Oct 2021 10:02:40 +0000]
Update variants.ini

Add a variant

4 years agoSimplify configuration of custom royal pieces
Fabian Fichter [Sat, 6 Nov 2021 16:59:06 +0000]
Simplify configuration of custom royal pieces

Use the same syntax for custom king as for other custom pieces.

Closes #363.

4 years agoUse tandem pawn notation for double tandems
Fabian Fichter [Sat, 6 Nov 2021 10:14:01 +0000]
Use tandem pawn notation for double tandems

In WXF notation +/- disambiguation can be ambiguous
when there is more than one tandem of pieces/pawns.

Closes #395.

4 years agoSupport validation of lichess 3check FENs
Fabian Fichter [Sat, 6 Nov 2021 14:21:38 +0000]
Support validation of lichess 3check FENs

Closes #288.

4 years agoValidate gating information in FEN (#288)
Fabian Fichter [Sat, 6 Nov 2021 12:59:42 +0000]
Validate gating information in FEN (#288)

4 years agoValidate variants.ini syntax
Fabian Fichter [Fri, 5 Nov 2021 21:25:39 +0000]
Validate variants.ini syntax

Closes #388.

4 years agoMention lishogi fairy stockfish bot in README.md
SriMethan [Wed, 3 Nov 2021 13:06:23 +0000]
Mention lishogi fairy stockfish bot in README.md

4 years agoAdd optimized dev builds
Fabian Fichter [Mon, 1 Nov 2021 17:44:08 +0000]
Add optimized dev builds

4 years agoRemove check indicator from WXF notation
Fabian Fichter [Thu, 28 Oct 2021 17:10:34 +0000]
Remove check indicator from WXF notation

4 years agoDisable NNUE in case of virtual pieces
Fabian Fichter [Fri, 15 Oct 2021 16:42:27 +0000]
Disable NNUE in case of virtual pieces

4 years agoAdjust max NNUE pieces for two board variants
Fabian Fichter [Fri, 15 Oct 2021 11:14:16 +0000]
Adjust max NNUE pieces for two board variants

4 years agoUpdate betza notation in docs
Fabian Fichter [Thu, 14 Oct 2021 06:55:00 +0000]
Update  betza notation in docs

4 years agoUpdate authors list
Fabian Fichter [Thu, 14 Oct 2021 06:41:17 +0000]
Update authors list

4 years agoExtend perft test coverage
Fabian Fichter [Sat, 9 Oct 2021 16:08:28 +0000]
Extend perft test coverage

4 years agoFixed Betza notation of Breakthrough piece
Michael Taktikos [Sat, 9 Oct 2021 13:52:27 +0000]
Fixed Betza notation of Breakthrough piece

Avoid illegal moves (captures forward) in Breakthrough

4 years agoExpose additional game-end functions in ffish.js (#362)
Terry Hearst [Fri, 8 Oct 2021 13:16:39 +0000]
Expose additional game-end functions in ffish.js (#362)

4 years agoExpose position.fen's showPromoted and countStarted in ffish.js
Ada Joule [Sun, 3 Oct 2021 05:11:58 +0000]
Expose position.fen's showPromoted and countStarted in ffish.js

4 years agoHandle placement corner cases more naturally
Fabian Fichter [Sat, 2 Oct 2021 21:46:35 +0000]
Handle placement corner cases more naturally

No functional change for legal positions,
just generalizes more naturally to artifical positions.

4 years agoBump pyffish version
gbtami [Sat, 2 Oct 2021 15:00:04 +0000]
Bump pyffish version

4 years agoCorrect ASEAN's counting rules
Ada Joule [Fri, 1 Oct 2021 18:32:19 +0000]
Correct ASEAN's counting rules

- Khon and Knight don't need a Met to start the counting
- Counting only starts after all pawns are promoted

4 years agoSupport NNUE with varying king dimensions
Fabian Fichter [Fri, 1 Oct 2021 10:01:02 +0000]
Support NNUE with varying king dimensions

This adds dedicated NNUE support for variants where kings
only have access to a limited set of squares, like Xiangqi,
or are missing entirely, like in antichess.

Closes #346.

4 years agoSupport spaces in variants.ini path
Fabian Fichter [Mon, 27 Sep 2021 21:15:48 +0000]
Support spaces in variants.ini path

* Allow whitespace characters in `load` command.
* Support loading of multiple files separated by `:`/`;`.

Closes #361.

4 years agoBump pyffish version
Fabian Fichter [Mon, 27 Sep 2021 19:59:18 +0000]
Bump pyffish version

4 years agoLimit pawn moves to variant board size
Fabian Fichter [Mon, 27 Sep 2021 19:41:51 +0000]
Limit pawn moves to variant board size

Closes #372.

4 years agoMore robust shogi FEN parsing
Fabian Fichter [Sun, 26 Sep 2021 15:54:14 +0000]
More robust shogi FEN parsing

Closes #370.

4 years agoAutoload variants.ini if specified in by an environment variable (#360)
Terry Hearst [Fri, 17 Sep 2021 07:03:25 +0000]
Autoload variants.ini if specified in by an environment variable (#360)

4 years agoCorrected Tori n-fold repetition. (#355)
CouchTomato87 [Wed, 15 Sep 2021 13:35:58 +0000]
Corrected Tori n-fold repetition. (#355)

4 years agoBump pyffish version
Fabian Fichter [Sun, 12 Sep 2021 15:04:01 +0000]
Bump pyffish version

4 years agoIgnore countStarted when either side has only one piece
Ada Joule [Sun, 12 Sep 2021 12:15:15 +0000]
Ignore countStarted when either side has only one piece

4 years agoRestore development version
Fabian Fichter [Fri, 10 Sep 2021 18:59:57 +0000]
Restore development version