From 1043870b3efb37179c71e0b21c7faf9179e641c1 Mon Sep 17 00:00:00 2001 From: Aargh Rai Date: Sun, 31 May 2026 15:05:42 +0530 Subject: communicating fens from frontends & fixing load_fen --- src/engine.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/engine.c') diff --git a/src/engine.c b/src/engine.c index 8d22d23..52aa83b 100644 --- a/src/engine.c +++ b/src/engine.c @@ -1,6 +1,7 @@ #include #include "engine/bitboard.h" #include "engine/moves.h" +#include "engine/fen.h" #include "fcntl.h" #include "ipc.c" @@ -23,14 +24,22 @@ int main(void) { while (1) { char* x = read_queue(rx); log_infof("Received: %s", x); + + moves_t moves = moves_init(); + struct fen_load result = load_fen(x); free(x); - send_queue(tx, "Sending", 8); + if (result.failed) { + log_warnf("Invalid fen"); + send_queue(tx, "Failed", 7); + return 0; + } + log_infof("Valid fen"); - moves_t moves = moves_init(); - position_t position = position_starting(); + position_t position = result.position; get_moves(&moves, position); + send_queue(tx, "Sending", 8); char buf[128]; for (int i = 0; i <= moves.length / 32; i++) { for (int ii = 0; ii < 32; ii++) { @@ -52,3 +61,4 @@ int main(void) { #include "engine/bitboard.c" #include "engine/moves.c" +#include "engine/fen.c" -- cgit v1.2.3