diff options
Diffstat (limited to 'src/board/board.cpp')
| -rw-r--r-- | src/board/board.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/board/board.cpp b/src/board/board.cpp index 572a3f0..2257010 100644 --- a/src/board/board.cpp +++ b/src/board/board.cpp @@ -259,6 +259,8 @@ void UnMakeMove(UndoMove undo, Game *g) { }; void UpdateHelpers(Game *g) { g->PieceBitboard = 0; + g->WhitePieceBitboard = 0; + g->BlackPieceBitboard = 0; for (uint8_t i = 0; i < 64; i++) { Piece piece = g->pieces[i]; if (piece.type == NONEPIECE) { @@ -271,8 +273,13 @@ void UpdateHelpers(Game *g) { g->BlackKingPosition = i; } } - g->PieceBitboard |= (1ULL << i); + if (piece.color) { + g->WhitePieceBitboard |= (1ULL << i); + } else { + g->BlackPieceBitboard |= (1ULL << i); + } } + g->PieceBitboard = g->WhitePieceBitboard | g->BlackPieceBitboard; } void SetPiece(int i, PieceType type, bool color, Game *g) { g->pieces[i] = {.color = color, .type = type}; |
