- Square to = pop_lsb(&b);
-
- if (Type == CAPTURES || Type == EVASIONS || Type == NON_EVASIONS)
- (mlist++)->move = make<PROMOTION>(to - Delta, to, QUEEN);
-
- if (Type == QUIETS || Type == EVASIONS || Type == NON_EVASIONS)
- {
- (mlist++)->move = make<PROMOTION>(to - Delta, to, ROOK);
- (mlist++)->move = make<PROMOTION>(to - Delta, to, BISHOP);
- (mlist++)->move = make<PROMOTION>(to - Delta, to, KNIGHT);
- }
-
- // Knight promotion is the only promotion that can give a direct check
- // that's not already included in the queen promotion.
- if (Type == QUIET_CHECKS && (StepAttacksBB[W_KNIGHT][to] & ci->ksq))
- (mlist++)->move = make<PROMOTION>(to - Delta, to, KNIGHT);
- else
- (void)ci; // Silence a warning under MSVC
+ *moveList++ = make<PROMOTION>(to - D, to, ROOK);
+ *moveList++ = make<PROMOTION>(to - D, to, BISHOP);
+ *moveList++ = make<PROMOTION>(to - D, to, KNIGHT);