summaryrefslogtreecommitdiff
path: root/src/engine.c
blob: 944c0f4b534e300229384dca4cab303f0c42366f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>

#include "bitboard.h"
#include "engine/moves.h"
#include "fen.h"
#include "fcntl.h"
#include "uci.h"
#include "ipc.h"

int main(int argc, char** argv) {
  comms *comms = malloc(sizeof(*comms));
  comms->engine_messages = malloc(sizeof(*comms->engine_messages));

  comms->engine_messages->data = malloc(
    sizeof(*comms->engine_messages->data) * 1 // TODO: GET FROM UCI SETTINGS
  );
  comms->engine_messages->count = 1;
  comms->engine_messages->data[0] = malloc(sizeof(
    *comms->engine_messages->data[0]
  ));
  comms->engine_messages->data[0]->ready = 0;

  printf("ENGINE: %p\nENGINE MESSAGE: %p\n", comms, comms->engine_messages);

  pthread_t uci_thread;
  pthread_create(&uci_thread, NULL, &uci, (void*)comms);
  int k = 0;
  while (1) {
    if (k == 0) {
      struct engine_message *message = comms->engine_messages->data[0];
      message->depth = 69;
      message->pv = comm_moves_init();
      add_comm_move(&message->pv, (struct uci_move) { 14, 24 });
      message->next = malloc(sizeof(struct engine_message*));
      printf("\n%p\n", message->pv.moves);

      message->ready = 1;
      k++;
    }
  }

  return 0;
}

#include "engine/moves.c"