X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=typedef.h;h=2f79308c7426d62d18d5729d6f80e6c29634f0d9;hb=2941984be26cee5bbb0757ed20172035ed06d2f4;hp=9f7f270e416fbecc5f3cc2b914366a98935365b1;hpb=4e0c88b473dffdefb830e6806c3692aab6b4fa0c;p=pgn-extract diff --git a/typedef.h b/typedef.h index 9f7f270..2f79308 100644 --- a/typedef.h +++ b/typedef.h @@ -33,7 +33,7 @@ * and en-passant notation. * UCI: UCI-compatible format - actually LALG. */ -typedef enum { SOURCE, SAN, EPD, CM, LALG, HALG, ELALG, UCI } OutputFormat; +typedef enum { SOURCE, SAN, EPD, CM, LALG, HALG, ELALG, UCI, SESSE_BIN } OutputFormat; /* Define a type to specify whether a move gives check, checkmate, * or nocheck. @@ -70,6 +70,9 @@ typedef struct variation{ */ #define MAX_MOVE_LEN 15 +struct EcoLog; +typedef struct EcoLog EcoLog; + /* Retain the text of a move and any associated * NAGs and comments. */ @@ -96,11 +99,17 @@ typedef struct move{ * has been played. */ char *epd; + /* Same as epd, but in our special binary packed format. + * Not zero-terminated, since it is binary. + */ + char *bpfen; + int bpfen_len; StringList *Nags; CommentList *Comment; /* terminating_result hold the result of the current list of moves. */ char *terminating_result; Variation *Variants; + EcoLog *eco; /* Pointers to the previous and next move. * The extraction program does not need the prev field, but my * intention is to build other interfaces that might need it. @@ -258,6 +267,8 @@ typedef struct { Boolean output_total_plycount; /* Whether to add a HashCode tag. */ Boolean add_hashcode_tag; + /* Whether to dump ECO data to stdout after loading.*/ + Boolean dump_eco; /* The comment to use for position matches, if required. */ const char *position_match_comment; /* Current input file name. */