#ifndef BITBOARD_H #define BITBOARD_H #include "ints.h" typedef u64 bitboard_t; enum { WHITE_KING, WHITE_QUEEN, WHITE_ROOK, WHITE_BISHOP, WHITE_KNIGHT, WHITE_PAWN, BLACK_KING, BLACK_QUEEN, BLACK_ROOK, BLACK_BISHOP, BLACK_KNIGHT, BLACK_PAWN, PIECE_TYPE_COUNT, }; enum { WHITE_SHORT_CASTLE, WHITE_LONG_CASTLE, BLACK_SHORT_CASTLE, BLACK_LONG_CASTLE, }; typedef struct { bitboard_t bitboards[PIECE_TYPE_COUNT]; u8 castling; } position; position starting_position(); #endif // !BITBOARD_H