+ mlist = generate_direct_checks<KNIGHT>(pos, mlist, us, ci);
+ mlist = generate_direct_checks<BISHOP>(pos, mlist, us, ci);
+ mlist = generate_direct_checks<ROOK>(pos, mlist, us, ci);
+ mlist = generate_direct_checks<QUEEN>(pos, mlist, us, ci);
+
+ if (pos.can_castle(us))
+ {
+ mlist = generate_castle<KING_SIDE, true>(pos, mlist, us);
+ mlist = generate_castle<QUEEN_SIDE, true>(pos, mlist, us);