Replaces the current movepicker setup with a more standard movepicker approach, the overall code overhead is less than 40 lines of code.
A good chunk of the code in this PR was originally written by CJ and has been repurposed for this patch.
Important to note: while writing this i've discovered there's a bug in singular extension when handling positions with no legal moves (except the excluded move itself), attempts to fix this have failed so for now the bug stays in.
Replaces the current movepicker setup with a more standard movepicker approach, the overall code overhead is less than 40 lines of code. A good chunk of the code in this PR was originally written by CJ and has been repurposed for this patch. Important to note: while writing this i've discovered there's a bug in singular extension when handling positions with no legal moves (except the excluded move itself), attempts to fix this have failed so for now the bug stays in.