Happy New Year everyone,

I happened to revive an old project from a couple years ago that was
reverse engineering parts of the XG file format to extract some data. I
contacted Xavier about what might have been a bug, and he passed along
the file structure.

I am currently developing a Python library and tool to decompress the
file and extract the data. Although not finished, the tool does extract
all the game data(moves and cubes) and rollout data. The library
organization needs to be cleaned up.

The xgextractdata.py debug tool extracts all the main data file elements
and writes them to individual files to test the library. The code will
also dump a textual representation to the console.

Although the code itself will dump a textual representation of the data,
it isn't incredibly useful by itself. I created this project to provide
myself a reference library for implementation in other languages.
Although Xavier supplied the data structures, I had discovered
discrepancies in the information and helped him correct it. Thanks to
Xavier for releasing the data structures. He will be making them
available to everyone in the next little while.

The code isn't quite complete as some test code needs to be moved to the
import library as proper class methods. The extraction tool needs a few
more useful command line arguments as well. Over the next few days I'll
look at correcting those deficiencies.

The code should run on most platforms with Python 2.7 or greater. It
could be easily modified to support version < 2.6. Consider it a work in
progress.

The project is available under the GPLv3 license on my server at:

http://vcs.capp-sysware.com/gitweb/?p=backgammon/xgdatatools.git;a=summary

You can also clone the git repository via:

git clone git://vcs.capp-sysware.com/backgammon/xgdatatools.git

Take care,
-- 
Michael Petch
CApp::Sysware Consulting Ltd.
OpenPGP FingerPrint=D81C 6A0D 987E 7DA5 3219 6715 466A 2ACE 5CAE 3304

_______________________________________________
Bug-gnubg mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-gnubg

Reply via email to