I don’t get to playing with code much lately. Yesterday and today I put some effort into trying to understand and document the EGF file format used by Xie Xie to store Xiangqi games including per-move comments and a bit of other metadata.
Status quo includes a simple command line tool:
# ./egf/cli.py test.egf Event: Blog post Site: At home Date: 6-7-2014 Round: 1 Red name: sping Black name: Xie Xie Freeware 2.5.0 Description: Command line tool demo input Author: sping File i: R _ _ P _ _ p _ _ r File h: H _ C _ _ _ _ c _ h File g: E _ _ P _ _ p _ _ e File f: A _ _ _ _ _ _ _ _ a File e: K _ _ P _ _ p _ _ k File d: A _ _ _ _ _ _ _ _ a File c: E _ _ P _ _ p _ _ e File b: H _ C _ _ _ _ c _ h File a: R _ _ P _ _ p _ _ r (Ranks 9 to 0 from left to right) To start: red 6 single moves in total [ 1] c h3 - e3 [ 1] H h10 - g8 [ 2] h h1 - g3 [ 2] R i10 - h10 [ 3] r i1 - h1 [ 3] C h8 - h4 Result: to be determined Bytes remaining to be read: 0 0
I welcome help to fill in the remaining blanks, e.g. with decoding time markers and king-in-check markers of moves.
EGF files for inspection can be downloaded from http://www.cc-xiexie.com/download.php.