- void allow_oo(Color c);
- void allow_ooo(Color c);
-
- // Helper functions for doing and undoing moves
- void do_capture_move(Move m, PieceType capture, Color them, Square to);
- void do_castle_move(Move m);
- void do_promotion_move(Move m);
- void do_ep_move(Move m);
- void undo_castle_move(Move m);
- void undo_promotion_move(Move m);
- void undo_ep_move(Move m);
- void find_checkers();
- void find_hidden_checks(Color us, unsigned int types);
- void find_hidden_checks();
- void update_hidden_checks(Square from, Square to);
-
- template<PieceType Piece>
- void update_checkers(Bitboard* pCheckersBB, Square ksq, Square from, Square to, Bitboard dcCandidates);
-
- template<PieceType Piece, bool FindPinned>
- Bitboard hidden_checks(Color c, Square ksq, Bitboard& pinners) const;
+ void set_castle_right(Square ksq, Square rsq);
+ bool move_is_legal(const Move m) const;
+
+ // Helper template functions
+ template<bool Do> void do_castle_move(Move m);
+ template<bool FindPinned> Bitboard hidden_checkers() const;