These are the main changes:
- Optimized TPiece.SetTo() and TPiece.GetColorPiece()
- TMove, removed GetIndex(), optimized SetTo()
- TMoveGenerator.GenerateCastlingMoves() fixed
- TEvaluation, fixed some issues with outpost and corners
- TBoard.States optimized a bit, no need for Index
- New overloaded TUtils.Switch()
- New TScore.Null()
- TPiece.SetIndex() improved
- New TMove.SetFrom()/SetFromTo()
- TBoard, backup()/restore() improved, new PieceValue()
- TBoard.IsPinned() removed
- Now uses polyglot book
- TChessboard.CanTraverse() uses faster approach to get the offset
- TMoveGenerator.GeneratePawnCaptures() and MovesToSquare() improved a bit
- TSearch.AlphaBeta() improved a bit
- Improved a bit the performance in history
- Trying to speedup the moving generation with new silly ideas
- Now killers are part of the stack in search
- History is updated when the cache is hit (makes sense)
- New see() approach, let's see, also now return zero when move is castling
Found binaries and sources at OneDrive