From e0eb3b58dc67109e14f0cd58f05a2bc66ad756e5 Mon Sep 17 00:00:00 2001 From: ianfab Date: Thu, 5 Jul 2018 21:29:40 +0200 Subject: [PATCH] Fix #3: Filter out double steps when disabled Fixes pseudo-legal move validation for variants without double steps. --- src/position.cpp | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index f39afa0..2fe4232 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -736,7 +736,8 @@ bool Position::pseudo_legal(const Move m) const { && !( (from + 2 * pawn_push(us) == to) // Not a double push && (rank_of(from) == relative_rank(us, RANK_2)) && empty(to) - && empty(to - pawn_push(us)))) + && empty(to - pawn_push(us)) + && double_step_enabled())) return false; } else if (!(attacks_from(us, type_of(pc), from) & to)) -- 1.7.0.4