Implement exclude-moves feature The WinBoard include and exclude commands are implemented to maintain an exclude_list of moves, which is then used during analyze mode in stead of the restraint.dat file to exclude root moves. The exclude_list contains moves in their internal encoding, which is now calculated as a side effect of the xboard -> CSA move conversion.
Make multi-PV mode accessible from XBoard protocol Multi-PV mode uses another routine for printing the PVs, which had to be adapted. In native mode Bonanza repeats all PVs all the time; in XBoard mode it suppresses printing of all but the latest. Option features were added to set number of PVs and margin.
Implement undo command This is decoded with the native bonanza commands, and should thus work both in xboard and native mode. It resets the game by faking a 'new' command, and then loads all moves except the last. For this the move list and startup string needed to be remembered.
Add XBoard protocol drivers So far only those commands needed for playing games from the initial position. Commands like 'memory', 'post', 'nopost', 'analyze' do not work yet. Neither does pondering, as Bonanza's board is not valid when a move comes in during pondering, so the wrong piece type is appended to the move to convert t to CSA format.
Check in Bonanza Feliz 0.0