2 Commits

2 changed files with 11 additions and 0 deletions

View File

@@ -54,6 +54,7 @@ int do_pos(pos_t *, char*);
int do_genmoves(pos_t *, char*);
int do_prmoves(pos_t *, char*);
int do_prmovepos(pos_t *pos, char *arg);
int do_prpieces(pos_t *pos, char *arg);
int do_memstats(pos_t *, char*);
int do_eval(pos_t *, char*);
int do_quit(pos_t *, char*);
@@ -68,6 +69,7 @@ COMMAND commands[] = {
{ "genmove", do_genmoves, "Generate next move list" },
{ "prmoves", do_prmoves, "Print position move list" },
{ "prmovepos", do_prmovepos, "Print Nth move resulting position" },
{ "prpieces", do_prpieces, "Print Pieces (from pieces lists)" },
{ "memstats", do_memstats, "Generate next move list" },
{ "eval", do_eval, "Eval current position" },
{ "debug", do_debug, "Set log level to LEVEL" },
@@ -306,6 +308,13 @@ int do_prmovepos(pos_t *pos, char *arg)
return 1;
}
int do_prpieces(pos_t *pos, __attribute__((unused)) char *arg)
{
log_f(1, "%s\n", arg);
pos_pieces_print(pos);
return 1;
}
int do_memstats(__attribute__((unused)) pos_t *pos,
__attribute__((unused)) char *arg)
{

View File

@@ -431,6 +431,7 @@ int pseudo_moves_castle(pos_t *pos)
if (move) {
newpos = move->newpos;
move->flags |= M_CASTLE_K;
/* move King rook to column F */
newpos->board[SQUARE(5, rank1)] = newpos->board[SQUARE(7, rank1)];
SET_F(newpos->board[SQUARE(5, rank1)].s_piece->square, 5);
@@ -454,6 +455,7 @@ next:
move = move_add(pos, board[SQUARE(4, rank1)].piece,
SQUARE(4, rank1), SQUARE(2, rank1));
if (move) {
newpos = move->newpos;
move->flags |= M_CASTLE_Q;
/* move King rook to column F */
newpos->board[SQUARE(3, rank1)] = newpos->board[SQUARE(0, rank1)];