]> git.sesse.net Git - pgn-extract/blobdiff - typedef.h
Add code to dump out the ECO names by hash.
[pgn-extract] / typedef.h
index 9f7f270e416fbecc5f3cc2b914366a98935365b1..2f79308c7426d62d18d5729d6f80e6c29634f0d9 100644 (file)
--- 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. */