Añadido
- Multi-Hilo para la búsqueda. Detección automática del numero de CPU máximo.
- Implementación singular extensión, basada en: Koivisto, Berserk, Seer.
- Implementación histórico de capturas, basada en: Ethereal, Berserk.
- En caso de no cargar una opción UCI correctamente, no enviá readyok, para evitar una mala configuración. Enviá "notready" (No estándar, del protocolo UCI)
Mejorado
- Solución al Histórico de jugadas, en partidas largas 300 jugadas o más.
- Estructura de almacenamiento Hash. Ahora ocupa 16 Bytes. Más Espacio de almacén con la misma memoria Hash definida.
- Opción UCI 'NnuePath' ahora: NnueFile.
- Opción UCI 'PreventTimeout' ahora: MoveOverhead. Para estandarizar los parámetros más usados/comunes como: Hash, Threads, OwnBook, Ponder, MoveOverhead...
- Control de tiempo.
- Opción hashfull, ahora la variable no se reinicia en cada jugada y llega al 100%.
- Incremento de ELO: 50± Interno. 50± NNUE.
- Perft, ahora soporta Multi-Hilo. Mucho más rápido. Se configura mediante la opción UCI 'Threads'
- Errores menores.
- Estabilidad.
Corregido
- Memory leak en la función SplitString. (Que mal llevo los string o array de tipo char y/o punteros)
- Memory leak al reservar la memoria Hash. (malloc) en la versión de 64bit
- Memory leak con stdin.
Eliminado
- Opción UCI: NnueUse, NnueTechnology, OwnBook, OwnBookLimit, Chess960CastlingSign.
- Las .DLL, ya que no soportan multi-hilo.
- La carga automática de una red neuronal (NNUE).
- La función EntradaStdIn. (Ya no es necesaria)
- He decidido eliminar el libro de aperturas propio. Ya que la GUI es la que se encarga de plantear una apertura. También se elimina las librerías sqlite3_x86.dll y sqlite3_x64.dll encargadas de gestionar el libro de aperturas.
- Tablas de finales: Gaviota, Scorpio y Syzygy.