aboutsummaryrefslogtreecommitdiff
path: root/src/board/board.cpp
diff options
context:
space:
mode:
authorAdam <adammegarules1@gmail.com>2026-08-02 15:15:45 +0200
committerAdam <adammegarules1@gmail.com>2026-08-02 15:15:45 +0200
commit08c0a181d6e5beb6848fe278dfb421fbcb4e3aba (patch)
tree00c32b9ae97b189cf8d64e6f01ba93c4ae1c8860 /src/board/board.cpp
parent26f5b9cc34633c5dd8c7f61c6751c43c63f30bc4 (diff)
adding colored piece bitboards
Diffstat (limited to 'src/board/board.cpp')
-rw-r--r--src/board/board.cpp9
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};