#ifndef SEARCH_H #define SEARCH_H #include "ints.h" #include "bitboard.h" typedef u8 square_t; typedef struct { square_t from; square_t to; } move_t; typedef struct { move_t* moves; u32 length; u32 capacity; } moves_t; moves_t moves_init(); moves_t moves_init_wcapacity(u32 capacity); moves_t moves_empty(); void add_move(moves_t* moves, square_t from, square_t to); void get_pawn_moves(moves_t* moves, position_t position); void get_knight_moves(moves_t* moves, position_t position); void get_king_moves(moves_t* moves, position_t position); void get_rook_moves(moves_t* moves, position_t position); void get_bishop_moves(moves_t* moves, position_t position); void get_queen_moves(moves_t* moves, position_t position); void __forloop_rook_moves_gen( moves_t* moves, bitboard_t friendly_type, bitboard_t friendly_pieces, bitboard_t enemy_pieces ); void __forloop_bishop_moves_gen( moves_t* moves, bitboard_t friendly_type, bitboard_t friendly_pieces, bitboard_t enemy_pieces ); #endif // !SEARCH_H