From 4d8f69e8c96d8afcf4232e2ddbca295c22a4a381 Mon Sep 17 00:00:00 2001 From: Bruno Raoult Date: Thu, 22 Feb 2024 08:35:26 +0100 Subject: [PATCH] position: raw_board_print in octal, fix mask in pos_set_sq/pos_clr_sq --- src/position.c | 4 ++-- src/position.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/position.c b/src/position.c index 84f76bb..75e0077 100644 --- a/src/position.c +++ b/src/position.c @@ -112,7 +112,7 @@ pos_t *pos_clear(pos_t *pos) pos->turn = 0; pos->clock_50 = 0; pos->plycount = 0; - pos->en_passant = 0; + pos->en_passant = SQUARE_NONE; pos->castle = 0; memset(pos->board, 0, sizeof(pos->board)); //pos->curmove = 0; @@ -237,7 +237,7 @@ void raw_board_print(const pos_t *pos) for (rank_t r = RANK_8; r >= RANK_1; --r) { for (file_t f = FILE_A; f <= FILE_H; ++f) - printf("%02x ", pos->board[sq_make(f, r)]); + printf("%02o ", pos->board[sq_make(f, r)]); printf(" \n"); } return; diff --git a/src/position.h b/src/position.h index 1947a89..c229b2b 100644 --- a/src/position.h +++ b/src/position.h @@ -64,8 +64,8 @@ static inline void pos_set_sq(pos_t *pos, square_t square, piece_t piece) color_t color = COLOR(piece); piece_type_t type = PIECE(piece); pos->board[square] = piece; - pos->bb[color][type] |= 1 << square; - pos->bb[color][ALL_PIECES] |= 1 << square; + pos->bb[color][type] |= mask(square); + pos->bb[color][ALL_PIECES] |= mask(square); if (type == KING) pos->king[color] = square; } @@ -83,8 +83,8 @@ static inline void pos_clr_sq(pos_t *pos, square_t square) piece_type_t type = PIECE(piece); color_t color = COLOR(piece); pos->board[square] = EMPTY; - pos->bb[color][type] &= ~(1 << square); - pos->bb[color][ALL_PIECES] &= ~(1 << square); + pos->bb[color][type] &= ~mask(square); + pos->bb[color][ALL_PIECES] &= ~mask(square); } //void bitboard_print(bitboard_t bb, char *title);