7#define MOVE(f,t,ca,pro,fl) ( (f) | ((t) << 7) | ((ca) << 14) | ((pro) << 20) | (fl) )
10#define SQOFFBOARD(sq) (fileIndex120[(sq)] == OFFBOARD)
const int VictimScore[13]
Victim scoring table for MVV-LVA.
const int pieceDirection[13][8]
Direction offsets for each piece type.
static int MvvLvaScores[13][13]
const int LoopNonSlideIndex[2]
Indices into LoopNonSlidePce for white and black.
const int LoopNonSlidePce[6]
Non-sliding piece loop order for move generation.
const int numberDirections[13]
Number of valid directions for each piece type.
const int LoopSlidePce[8]
Sliding piece loop order for move generation.
const int LoopSlideIndex[2]
Indices into LoopSlidePce for white and black.
void generateAllMoves(const S_BOARD *pos, S_MOVELIST *list)
Generate all pseudo-legal moves for the side to move.
void InitMvvLva(void)
Initialize the MVV-LVA capture scoring table.
void generateAllCaptures(const S_BOARD *pos, S_MOVELIST *list)
Generate all pseudo-legal capture moves (including en passant).
int moveExists(S_BOARD *pos, int move)
Check if a given move exists in the current position.